chore: 导入旧记忆备份供恢复
This commit is contained in:
+84
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Cross‑Workspace Experiences (Project eb…)
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/cross-workspace-experiences-project-eb...
|
||||
stable_id: 8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: cross_workspace_experience
|
||||
revision: 13
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:d8161df6-3159-46c9-9402-c5ab30d1436e: '1'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
- cross_workspace_memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136
|
||||
- cross_workspace_memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca
|
||||
- cross_workspace_memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- cross_workspace_memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- cross_workspace_memory:8d83fdf5-683a-41ce-94ed-da186cf32c71
|
||||
- cross_workspace_memory:67499b3a-97a6-4982-9c16-4afaa59d45f3
|
||||
- cross_workspace_memory:d0a91595-3be4-4366-a615-58833dd0dff8
|
||||
- cross_workspace_memory:51b5b48b-ac1f-4477-ab2f-dfc46198eb01
|
||||
- cross_workspace_memory:fd164c80-b38b-4984-8008-48b57ba46e61
|
||||
- cross_workspace_memory:e92dbe0b-bb27-4b0e-b5bb-2330a0472fd2
|
||||
- cross_workspace_memory:8c6276e6-d7db-409d-a3cd-5570c2d8fdc5
|
||||
- cross_workspace_memory:5924806e-b234-49f7-b971-3c844fd07cf3
|
||||
- cross_workspace_memory:bc21af00-1127-44f8-93b7-aa484a7041c2
|
||||
- cross_workspace_memory:09d9ff03-0cbd-4551-9b74-f5953855e4a3
|
||||
- cross_workspace_memory:0f19c98d-0d69-4702-af18-e75edae6370a
|
||||
- cross_workspace_memory:9f00df57-ec45-4d63-9da6-9b2fb16c2d6b
|
||||
- cross_workspace_memory:1dfbc803-3390-4cc7-9a17-6bf86c9bb165
|
||||
- cross_workspace_memory:3e6dcfc1-f561-415d-9356-b387347c9193
|
||||
- cross_workspace_memory:0ca7e07e-97b7-496c-96c8-dc712498fc8e
|
||||
- cross_workspace_memory:aa56cfd5-4cbf-4bbd-b589-03aaed17acb2
|
||||
- cross_workspace_memory:61e30ee3-0e26-4d64-b00e-f77bc3a3fd60
|
||||
- cross_workspace_memory:ce9006a3-2313-411f-b577-10bbb9b9c3bb
|
||||
- cross_workspace_memory:e61163f1-50db-49d4-839b-a8bdb67741c2
|
||||
- cross_workspace_memory:23bcc4c0-4992-41d6-b70e-210937a76a0f
|
||||
- cross_workspace_memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- memory:d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
job_cited_source_ids: []
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:37.078512+00:00'
|
||||
updated_at: '2026-09-16T03:09:06.704794+00:00'
|
||||
tags:
|
||||
- cross‑workspace
|
||||
- artveris
|
||||
- deployment
|
||||
---
|
||||
|
||||
# Cross‑Workspace Experience – Project artveris
|
||||
|
||||
In project `artveris` (project ID `d44c219a-0b31-4de1-b160-323eb34a4c6a`) a recurring issue was identified where `deploy.py` could inadvertently launch two parallel SSH deployments, causing log overwrite and database migration conflicts.
|
||||
|
||||
## Resolution
|
||||
Implemented a file‑based locking mechanism using `flock -n`. The script now checks for an existing lock when a deployment starts and exits immediately if the lock is already held, preventing duplicate runs.
|
||||
|
||||
## Reference
|
||||
- cross_workspace_memory:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
- cross_workspace_memory:36e69016-705a-4df3-8247-75874afeeb24 (conflict removed)
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: Global Development Workflows
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/global-development-workflows
|
||||
stable_id: e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: workflows
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:5ed86f53-b53e-4534-8e51-d3a010069d5e: '2'
|
||||
memory:105b328f-4bda-4641-90a7-7282ef156316: '2'
|
||||
memory:3f91189b-11a1-45bb-8357-4f413dc1609d: '1'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- cross_workspace_memory:df065dbf-85de-4f2b-bbb1-5d8b115de08c
|
||||
- cross_workspace_memory:9f00df57-ec45-4d63-9da6-9b2fb16c2d6b
|
||||
- cross_workspace_memory:0f19c98d-0d69-4702-af18-e75edae6370a
|
||||
- cross_workspace_memory:1dfbc803-3390-4cc7-9a17-6bf86c9bb165
|
||||
- cross_workspace_memory:6e63a053-fea4-4785-984c-b61fab08810a
|
||||
- cross_workspace_memory:dd093dd7-71be-46a2-bcb1-4a87c3d4b9ab
|
||||
- cross_workspace_memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
|
||||
- cross_workspace_memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
|
||||
- cross_workspace_memory:6b129c78-a412-41e9-af9f-63ab071e03d9
|
||||
- cross_workspace_memory:5924806e-b234-49f7-b971-3c844fd07cf3
|
||||
- cross_workspace_memory:2bff13bb-b5cc-40fd-8b2f-774f5c6b9dba
|
||||
- cross_workspace_memory:61e30ee3-0e26-4d64-b00e-f77bc3a3fd60
|
||||
- memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:35.371609+00:00'
|
||||
updated_at: '2026-09-16T03:09:03.015482+00:00'
|
||||
tags:
|
||||
- workflows
|
||||
- global
|
||||
---
|
||||
|
||||
# Global Development Workflow
|
||||
|
||||
1. **Project memory & Git process**
|
||||
- All notes are kept in `aidocs/project_context.md`. `aidocs/` is in `.gitignore` and never committed.
|
||||
- After completing a task, perform: delete temporary files, debug logs, unused code → update memory (what/why/validation/issues/next steps) → check `.gitignore` → commit with `type: 中文一句话描述`. Default is *commit only*; push only when explicitly requested.
|
||||
|
||||
2. **Credential Retrieval Workflow**
|
||||
- Before any login, SSH, database or API call, query Vaultwarden. If exactly one match, use it directly. If multiple or none, prompt for selection or manual input.
|
||||
- When adding or updating credentials, immediately write them to the password vault; memory records only the entry name, purpose, and usage method.
|
||||
|
||||
3. **Technical Notes**
|
||||
- **FastAPI async** – Never perform blocking I/O inside `async def`; change to normal `def` so FastAPI handles it in a thread‑pool.
|
||||
- **PowerShell JSON** – Write JSON to a temporary file and send with `curl.exe --data-binary @file` to preserve quotes.
|
||||
- **Large‑table SQL** – Add indexes on frequently queried text columns, raise DB `read/write_timeout` along with client `upload_timeout`/`run_timeout`.
|
||||
- **Docker exec timeout** – Obtain raw socket and call `socket.settimeout(None)` to disable default 3 s timeout.
|
||||
- **Docker Hub proxy** – Configure Docker Desktop to **Manual** with HTTP/HTTPS pointing to `http://127.0.0.1:7897` and restart Docker.
|
||||
|
||||
4. **Version & Deployment Rules**
|
||||
- For OTA, always use the official release version matching the device's ABI and keep the device’s firmware tightly coupled to the release channel.
|
||||
- Do not flash generic RK3568 images; use the project‑provided U‑Boot, DTB and RTL8367S/DSA configurations.
|
||||
|
||||
5. **Testing & Validation**
|
||||
- Regression tests should use real timestamps and ensure that the JSON output from `memrelay://capabilities` rendered via `jsonable_encoder` matches the raw resource structure.
|
||||
- FastAPI handlers that perform blocking I/O should be switched to synchronous functions.
|
||||
@@ -0,0 +1,129 @@
|
||||
---
|
||||
title: Global Workspace Profile
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/global-workspace-profile
|
||||
stable_id: 6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: profile
|
||||
revision: 16
|
||||
source_memory_ids:
|
||||
- 938fd87f-6a79-4765-b266-9aad0e8664de
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 97
|
||||
source_revisions:
|
||||
memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823: '2'
|
||||
memory:25332e63-48d0-4daa-8c08-d676bb2d310d: '3'
|
||||
memory:2406be77-e6ce-4572-890e-18747c968f55: '2'
|
||||
memory:ac8bb556-947d-43a1-87d9-bfe7e8da310b: '1'
|
||||
memory:938fd87f-6a79-4765-b266-9aad0e8664de: '1'
|
||||
source_dispositions:
|
||||
processed: 97
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:938fd87f-6a79-4765-b266-9aad0e8664de
|
||||
- memory:ac8bb556-947d-43a1-87d9-bfe7e8da310b
|
||||
- memory:25332e63-48d0-4daa-8c08-d676bb2d310d
|
||||
- memory:2406be77-e6ce-4572-890e-18747c968f55
|
||||
- cross_workspace_memory:785ee52e-7fc0-4c3e-af00-161d219bc6d0
|
||||
- cross_workspace_memory:5c51c39f-5737-482d-929f-ed22bb1f2e2c
|
||||
- cross_workspace_memory:c9dcce4b-b7ab-4268-aa69-544bc64d17b3
|
||||
- cross_workspace_memory:592bc22a-9f8a-4ce1-81ee-107b47371312
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
- curated_baseline:416ac7c5-22a5-414a-be97-6b30deccf8e2
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
- curated_baseline:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
- cross_workspace_memory:dd093dd7-71be-46a2-bcb1-4a87c3d4b9ab
|
||||
- cross_workspace_memory:b476b307-7224-4128-8499-4c43a2ad1cb5
|
||||
- cross_workspace_memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
|
||||
- cross_workspace_memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
|
||||
- cross_workspace_memory:6b129c78-a412-41e9-af9f-63ab071e03d9
|
||||
- cross_workspace_memory:f42fc721-886f-4d6d-85a4-1611d7bc2cf1
|
||||
- cross_workspace_memory:5924806e-b234-49f7-b971-3c844fd07cf3
|
||||
- memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
job_cited_source_ids:
|
||||
- memory:938fd87f-6a79-4765-b266-9aad0e8664de
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: Cursor must be a local, non‑syncing plugin for all workspaces; install
|
||||
under `%USERPROFILE%\.cursor\plugins\local\collaboration-rules\`.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- memory:938fd87f-6a79-4765-b266-9aad0e8664de
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 620
|
||||
source_hash: 5b10d7140112f8e9fe0313be1788db0eb632993d7519d6692bc58fac359fd0d0
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 5d0a5a46-f90b-4dbc-8723-f907bacf2c2f
|
||||
created_at: '2026-08-08T07:55:31.878711+00:00'
|
||||
updated_at: '2026-09-16T13:48:03.895012+00:00'
|
||||
tags:
|
||||
- development
|
||||
- global
|
||||
- commit
|
||||
- project-creation
|
||||
- memory-management
|
||||
- communication
|
||||
---
|
||||
|
||||
# Global Development Profile
|
||||
|
||||
## 1. Scope
|
||||
This profile applies globally to every workspace and project managed under MemRelay.
|
||||
|
||||
## 2. Key Rules
|
||||
- **Commit** immediately after each fully implemented feature.
|
||||
- **Push** to the remote right after committing; before pushing, `git fetch` and `git rebase` local changes onto the target branch if new remote commits exist.
|
||||
- **Avoid** the use of `git push --force` unless explicitly authorised.
|
||||
- **Rebase** onto the target branch and then perform a **fast‑forward merge**; avoid generating merge commits.
|
||||
- When protected branches, CI pipelines, or PR reviews exist, **create a PR** instead of performing a direct merge.
|
||||
- **Re‑validate** the branch after any rebase or merge and resolve conflicts by fully understanding both sides of the conflict.
|
||||
- For branches that contain published or shared changes, **forced rebase is forbidden** unless explicitly authorised.
|
||||
- The **target branch** may be pushed only after a successful merge; **automatic deployment is never performed**.
|
||||
- **Commit messages** must follow Conventional Commits, e.g. `type: <中文一句话描述>`.
|
||||
- All communication within the project must be in Chinese and adhere to the KISS / YAGNI principle. Enforce the commit format `type: 中文一句话描述`.
|
||||
- **Credentials** must be stored exclusively in the password vault; only the vault entry name is recorded in memory and never committed to code.
|
||||
- The **integration of the Collaboration‑Rules** must be installed locally as a non‑syncing plugin for all workspaces. The installation path is `%USERPROFILE%\.cursor\plugins\local\collaboration-rules\` and the file `collaboration-rules.mdc` is built from `RULES.md` with `alwaysApply:true`.
|
||||
|
||||
## 3. Workflow Enhancements
|
||||
- **Streamlit UI**: Widgets inside `st.form` are now placed outside the form to ensure immediate re‑run when the form is modified.
|
||||
- **Marketplace Results UI**: Formal product files are moved to `task‑dir/20260815-xxx/results` and presented via a scrollable list, avoiding inline rendering of large files.
|
||||
- **Tool‑box UI Simplification**: All developer‑style subtitles have been removed; only essential actions (download button & file listing) remain.
|
||||
- **Layout Optimization**: Unnecessary whitespace in the Streamlit toolbox and sidebar has been reduced for a cleaner UI.
|
||||
- **Navigation Branding**: The title “MarketGrid” with subtitle “空间数据工具箱” is now positioned above the navigation bar.
|
||||
- **Start‑UI Script**: `start‑ui.ps1` is a PowerShell 5.1 script with a UTF‑8 BOM to avoid `UnexpectedToken` errors when non‑ASCII characters are present.
|
||||
- **PowerShell Script Encoding**: All PowerShell files are saved with a UTF‑8 BOM; validated with `powershell.exe Parser.ParseFile`.
|
||||
- **Unresolved Future Tasks**: Verify that the PLUGIN‑MD regeneration for Codex/CLI avoids duplicate `RULES.md` copies, enforce consistent PowerShell encoding across scripts, and confirm full task‑folder migration on all workspaces.
|
||||
|
||||
## 4. Implementation Notes
|
||||
- The document is written in Chinese to reflect the communication policy.
|
||||
- All policy statements are derived from the following evidence sources: `memory:938fd87f-6a79-4765-b266-9aad0e8664de`, `memory:6973450e-6ecc-48e3-8cdd-4d7d7707d843`, and `memory:e4fc35f2-1606-4b79-9c1e-367edeea97d0`.
|
||||
- The policy may be refined by additional evidence, but the current rules take precedence until a newer explicit update supersedes them.
|
||||
|
||||
---
|
||||
|
||||
## 5. Preferences
|
||||
|
||||
- **Global Preference List**: See the JSON array below.
|
||||
+155
@@ -0,0 +1,155 @@
|
||||
---
|
||||
title: Global and Scenario Preferences
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/global-and-scenario-preferences
|
||||
stable_id: 2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: preferences
|
||||
revision: 13
|
||||
source_memory_ids:
|
||||
- 9988effa-80c9-4062-97a2-8a5f40e3856a
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 104
|
||||
source_revisions:
|
||||
memory:bf88c265-4749-4c50-85bc-4bae25298cd5: '4'
|
||||
memory:5ed86f53-b53e-4534-8e51-d3a010069d5e: '2'
|
||||
memory:105b328f-4bda-4641-90a7-7282ef156316: '2'
|
||||
memory:3f91189b-11a1-45bb-8357-4f413dc1609d: '1'
|
||||
memory:1194be51-ee29-47e1-8957-ec2888007db6: '1'
|
||||
memory:7429c22e-50ff-458a-97c0-423c679904c7: '2'
|
||||
memory:9988effa-80c9-4062-97a2-8a5f40e3856a: '1'
|
||||
source_dispositions:
|
||||
processed: 104
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:9988effa-80c9-4062-97a2-8a5f40e3856a
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- curated_baseline:416ac7c5-22a5-414a-be97-6b30deccf8e2
|
||||
- memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- curated_baseline:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
- memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- curated_baseline:7b5a1fcd-adea-4418-ac8e-2f6275b5ada6
|
||||
- memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- cross_workspace_memory:23bcc4c0-4992-41d6-b70e-210937a76a0f
|
||||
- cross_workspace_memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- cross_workspace_memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
job_cited_source_ids:
|
||||
- memory:9988effa-80c9-4062-97a2-8a5f40e3856a
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 答题时首选已知答案
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- memory:9988effa-80c9-4062-97a2-8a5f40e3856a
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 保持KISS/YAGNI原则,Vault优先,中文沟通
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: '提交信息采用“type: <中文描述>”的约定式提交格式'
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 提交后立即推送,重基后推送;禁止--force,优先快进合并;受保护分支需 PR 并在合并后重新验证
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 凭据从 vault 获取,单一匹配自动使用,多重没有或多重需手动提示
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 689
|
||||
source_hash: dc4cbe063d006d6ae3edf966ab516b13c6177691ffc0e1abcc06f072267adc88
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: f55f2513-17b7-43db-a55a-9ebeea813022
|
||||
created_at: '2026-08-08T07:55:33.922490+00:00'
|
||||
updated_at: '2026-09-17T07:37:01.980798+00:00'
|
||||
tags:
|
||||
- preferences
|
||||
---
|
||||
|
||||
# Global Preferences
|
||||
|
||||
- **Answering Strategy**: Prefer to give known answers immediately. When encountering uncertain or ambiguous queries, append known answers first and clarify later if needed. (来源:memory:9988effa-80c9-4062-97a2-8a5f40e3856a)
|
||||
|
||||
- **KISS/YAGNI Principle & Vault‑First**: Reuse existing frameworks and libraries. Do not add needless dependencies; keep the codebase simple. All credentials must be retrieved from a vault before usage; only one match is auto‑used, otherwise a manual prompt is presented. (来源:curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270、curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843、curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0)
|
||||
|
||||
- **Chinese Language for All Communication**: All documentation, commit messages, and user‑facing text should be in Chinese unless otherwise required. (来源:同一 curated baselines)
|
||||
|
||||
- **Conventional Commit Format**: Commit messages should follow the pattern `type: <简短中文描述>` – e.g., `feat: 新增用户登录`. (来源:同一 curated baselines)
|
||||
|
||||
- **Git Workflow**: Commit immediately after writing. Push only after a successful rebase. Avoid `--force` pushes and favor fast‑forward merges. Protected branches require a pull request for changes and must be re‑validated after merging. (来源:同一 curated baselines)
|
||||
|
||||
- **Credential Storage & Retrieval**: All credentials are stored in a vault. Prior to each operation, query the vault; if exactly one matching credential is found, use it automatically. If none or multiple are found, prompt the user. (来源:curated_baseline:e4fc35f2-1606-4b79-9c1e-367edeea97d0)
|
||||
|
||||
- **Technical Notes & Performance**: Avoid blocking I/O in async functions; use `jsonable_encoder`, add indexes for large tables, enforce UTF‑8 BOM on PowerShell scripts, and standardize CSV encoding detection (UTF‑8‑sig then GBK). (来源:同一 curated baselines)
|
||||
|
||||
- **UI Guidelines**: In Streamlit, place form controls outside of `st.form` to ensure re‑triggers; minimize spacing; keep only essential UI elements. (来源:同一 curated baselines)
|
||||
|
||||
These preferences apply globally across all workspaces in the project and are considered current and stable.
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: Collaboration and Language Preferences
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/contexts/collaboration-and-language-preferences
|
||||
stable_id: 416ac7c5-22a5-414a-be97-6b30deccf8e2
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: context_personal
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823: '2'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:416ac7c5-22a5-414a-be97-6b30deccf8e2
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:416ac7c5-22a5-414a-be97-6b30deccf8e2
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:51.383806+00:00'
|
||||
updated_at: '2026-09-16T03:09:22.147229+00:00'
|
||||
tags:
|
||||
- personal
|
||||
---
|
||||
|
||||
# Current context_personal
|
||||
|
||||
## 个人开发上下文(中文)
|
||||
|
||||
- **语言与沟通**:默认使用中文与用户交流,除非用户明确要求使用其他语言。
|
||||
- **开发环境**:操作系统为 Windows,所有命令、路径和验证步骤必须兼容 Windows(包括 WSL2 与 Docker Desktop)。
|
||||
- **工作方式**:在任何改动前必须完整理解现有代码库,并持续向相关方报告关键进展。若任务可独立完成并自行验证,则直接完成并提交。
|
||||
- **KISS & YAGNI**:实现最简且正确的方案,复用已有框架、服务、工具与约定,避免为猜测需求添加依赖或抽象层。
|
||||
- **私有部署优先**:倾向一次性配置、长期复用的部署方式,重视系统能力与使用便利性,而非对未知风险的冗余设计。
|
||||
- **凭证检索工作流**:在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,若唯一匹配则直接使用;新增或修改凭证必须立即写入密码库,记录仅包含条目名称与用途,绝不存储密文。
|
||||
- **项目记忆管理**:所有项目笔记统一保存在 `aidocs/project_context.md`(已 `.gitignore`),采用固定标题 + **最新‑优先**、秒级时间戳的条目格式。完成任务后依次执行:实现 → 清理临时文件/调试日志 → 更新记忆 → 检查 `.gitignore` → 提交以 `type: 中文一句话描述` 的形式。
|
||||
+190
@@ -0,0 +1,190 @@
|
||||
---
|
||||
title: Development Context Overview
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/contexts/development-context-overview
|
||||
stable_id: d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: context_development
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:bf88c265-4749-4c50-85bc-4bae25298cd5: '4'
|
||||
memory:5ed86f53-b53e-4534-8e51-d3a010069d5e: '2'
|
||||
memory:105b328f-4bda-4641-90a7-7282ef156316: '2'
|
||||
memory:3f91189b-11a1-45bb-8357-4f413dc1609d: '1'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- cross_workspace_memory:dd093dd7-71be-46a2-bcb1-4a87c3d4b9ab
|
||||
- cross_workspace_memory:b476b307-7224-4128-8499-4c43a2ad1cb5
|
||||
- cross_workspace_memory:67a86e88-a750-4cd8-9650-c1b7cfbf22b9
|
||||
- cross_workspace_memory:2939ce96-a6f6-418a-9a70-568980dbdc2a
|
||||
- cross_workspace_memory:7737eaaf-441e-476e-aea0-42a4d13ae245
|
||||
- cross_workspace_memory:92e5c8d9-c4ef-4ab7-99ac-1b81f3228b59
|
||||
- cross_workspace_memory:dc70f54c-8e29-4834-a5c1-a63bc9ac9e68
|
||||
- cross_workspace_memory:e1b8d25d-f638-4fbe-8a8d-0eda8f2d7d46
|
||||
- cross_workspace_memory:6b129c78-a412-41e9-af9f-63ab071e03d9
|
||||
- cross_workspace_memory:df7b18f9-490f-415f-a388-2332d1b7df87
|
||||
- cross_workspace_memory:f42fc721-886f-4d6d-85a4-1611d7bc2cf1
|
||||
- cross_workspace_memory:a9739d28-4318-492e-bad3-53e9ea2769a8
|
||||
- cross_workspace_memory:814d437d-2c21-4f02-b17b-97fd3ec03f7e
|
||||
- cross_workspace_memory:650349fe-0a22-4d62-b3ab-329523cb1960
|
||||
- cross_workspace_memory:180c6231-32a2-4513-980b-613afff09cbe
|
||||
- cross_workspace_memory:f8c5300e-3068-4003-a816-b20f997d9715
|
||||
- cross_workspace_memory:4f58f272-ba63-4f40-a617-c35cfa4cad6e
|
||||
- cross_workspace_memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
- cross_workspace_memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- cross_workspace_memory:74160f67-38fe-487e-a2d3-8f739c31a09b
|
||||
- cross_workspace_memory:84879e0b-c836-496e-a6cd-d607d6445689
|
||||
- cross_workspace_memory:2f6e65b2-e6f2-4970-b570-1895590207dd
|
||||
- cross_workspace_memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- cross_workspace_memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- cross_workspace_memory:8d83fdf5-683a-41ce-94ed-da186cf32c71
|
||||
- cross_workspace_memory:67499b3a-97a6-4982-9c16-4afaa59d45f3
|
||||
- cross_workspace_memory:aa56cfd5-4cbf-4bbd-b589-03aaed17acb2
|
||||
- cross_workspace_memory:df065dbf-85de-4f2b-bbb1-5d8b115de08c
|
||||
- cross_workspace_memory:9f00df57-ec45-4d63-9da6-9b2fb16c2d6b
|
||||
- cross_workspace_memory:0f19c98d-0d69-4702-af18-e75edae6370a
|
||||
- cross_workspace_memory:1dfbc803-3390-4cc7-9a17-6bf86c9bb165
|
||||
- cross_workspace_memory:6e63a053-fea4-4785-984c-b61fab08810a
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- cross_workspace_memory:61e30ee3-0e26-4d64-b00e-f77bc3a3fd60
|
||||
- cross_workspace_memory:2bff13bb-b5cc-40fd-8b2f-774f5c6b9dba
|
||||
- cross_workspace_memory:5924806e-b234-49f7-b971-3c844fd07cf3
|
||||
- cross_workspace_memory:0ca7e07e-97b7-496c-96c8-dc712498fc8e
|
||||
- cross_workspace_memory:09d9ff03-0cbd-4551-9b74-f5953855e4a3
|
||||
- cross_workspace_memory:ce9006a3-2313-411f-b577-10bbb9b9c3bb
|
||||
- cross_workspace_memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136
|
||||
- cross_workspace_memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca
|
||||
- cross_workspace_memory:23bcc4c0-4992-41d6-b70e-210937a76a0f
|
||||
- cross_workspace_memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- cross_workspace_memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- cross_workspace_memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: Use the simplest correct implementation (KISS & YAGNI).
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Default commit only; push only on explicit request.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Run on Windows + WSL2 + Docker Desktop; containers use host.docker.internal
|
||||
and listen on 0.0.0.0.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Configure Docker Desktop proxy to Manual with HTTP/HTTPS at http://127.0.0.1:7897.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Never perform blocking I/O inside async def; use def in FastAPI.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:39.614383+00:00'
|
||||
updated_at: '2026-09-16T03:09:11.180111+00:00'
|
||||
tags:
|
||||
- development
|
||||
- global
|
||||
- context
|
||||
---
|
||||
|
||||
# Current Development Context (Global)
|
||||
|
||||
## Core Principles
|
||||
- Use the simplest correct implementation (KISS & YAGNI) and re‑use existing project frameworks, services, tools, and conventions. Avoid speculative dependencies or abstractions.
|
||||
|
||||
## Memory Workflow
|
||||
- All project notes are kept exclusively in `aidocs/project_context.md`. The file has a fixed header and is never committed to the repository (`.gitignore`). Entries are added newest‑first with a second‑level timestamp.
|
||||
|
||||
## Git Commit Convention
|
||||
- Default is to **commit only**; a push occurs only on explicit request.
|
||||
- Commit messages follow the form `type: 中文一句话描述` where `type` ∈ `feat`, `fix`, `refactor`, `style`, `docs`, `chore`, `revert`.
|
||||
|
||||
## Development Platform
|
||||
- Windows + WSL2 + Docker Desktop (Linux containers).
|
||||
- Containers access host services via `host.docker.internal`. The host must listen on `0.0.0.0`.
|
||||
- Bridge‑network access to host‑mapped ports uses the gateway address `172.17.0.1`.
|
||||
|
||||
## Docker Hub Proxy
|
||||
- Docker Desktop must be set to **Manual** with both HTTP and HTTPS pointing to `http://127.0.0.1:7897`. Restart Docker and verify `docker pull` successful before any build.
|
||||
|
||||
## Common Technical Pitfalls and Mitigations
|
||||
- **FastAPI async** – Never perform blocking I/O inside `async def` (pymysql, requests, file I/O, etc.). Use `def` so FastAPI moves it to a thread‑pool.
|
||||
- **PowerShell JSON** – Write JSON to a temporary file then send with `curl.exe --data-binary @file` to preserve quotes.
|
||||
- **Large‑table SQL** – Add indexes on commonly queried text columns; unify DB `read/write_timeout=3600s` and client upload/run timeouts `1800s/7200s`.
|
||||
- **Docker Exec timeout** – Obtain raw socket and call `socket.settimeout(None)` to disable the default 3 s timeout.
|
||||
- **Wheel & sdist download** – Use `--platform manylinux2014_x86_64` for manylinux wheels; for sdist‑only packages download tar.gz via PyPI JSON API.
|
||||
- **Docker Hub proxy** – Configure Docker Desktop to use Manual proxy with HTTP/HTTPS at `http://127.0.0.1:7897` and restart.
|
||||
|
||||
## Git Rules
|
||||
- See curated rule `cross_workspace_memory:aa56cfd5-4cbf-4bbd-b589-03aaed17acb2` for commit style and default local‑only commits.
|
||||
|
||||
## Project Memory Management
|
||||
- All notes kept in `aidocs/project_context.md`. The `aidocs/` directory is in `.gitignore` and never committed.
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Global Development Principles and Operational Rules
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/contexts/global-development-principles-and-operational-rules
|
||||
stable_id: 7b5a1fcd-adea-4418-ac8e-2f6275b5ada6
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: context_general
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:bf88c265-4749-4c50-85bc-4bae25298cd5: '4'
|
||||
memory:5ed86f53-b53e-4534-8e51-d3a010069d5e: '2'
|
||||
memory:105b328f-4bda-4641-90a7-7282ef156316: '2'
|
||||
memory:3f91189b-11a1-45bb-8357-4f413dc1609d: '1'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:7b5a1fcd-adea-4418-ac8e-2f6275b5ada6
|
||||
- curated_baseline:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- cross_workspace_memory:6e63a053-fea4-4785-984c-b61fab08810a
|
||||
- cross_workspace_memory:61e30ee3-0e26-4d64-b00e-f77bc3a3fd60
|
||||
- cross_workspace_memory:df065dbf-85de-4f2b-bbb1-5d8b115de08c
|
||||
- cross_workspace_memory:9f00df57-ec45-4d63-9da6-9b2fb16c2d6b
|
||||
- cross_workspace_memory:0f19c98d-0d69-4702-af18-e75edae6370a
|
||||
- cross_workspace_memory:1dfbc803-3390-4cc7-9a17-6bf86c9bb165
|
||||
- cross_workspace_memory:5924806e-b234-49f7-b971-3c844fd07cf3
|
||||
- curated_baseline:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- cross_workspace_memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136
|
||||
- cross_workspace_memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca
|
||||
- cross_workspace_memory:23bcc4c0-4992-41d6-b70e-210937a76a0f
|
||||
- cross_workspace_memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- cross_workspace_memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- cross_workspace_memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:7b5a1fcd-adea-4418-ac8e-2f6275b5ada6
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:54.432494+00:00'
|
||||
updated_at: '2026-09-16T03:09:24.893133+00:00'
|
||||
tags:
|
||||
- general
|
||||
---
|
||||
|
||||
# Current context_general
|
||||
|
||||
## 全局发展上下文(中文)
|
||||
|
||||
- **核心原则 (KISS & YAGNI)**:使用最简且正确的实现,复用项目已有的框架、服务、工具与约定,避免为假设需求引入依赖或抽象层。
|
||||
- **开发平台**:统一使用 **Windows + WSL2 + Docker Desktop**(Linux 容器)。容器访问宿主服务通过 `host.docker.internal`,宿主服务必须监听 `0.0.0.0`。桥接网络访问宿主映射端口使用网关 `172.17.0.1`。
|
||||
- **Docker Hub 代理配置**:Docker Desktop 代理必须设为 **Manual**,HTTP 与 HTTPS 均填写 `http://127.0.0.1:7897`,保存后重启 Docker 并验证 `docker pull` 正常后再进行构建。
|
||||
- **常见技术坑与对策**:
|
||||
- *FastAPI async*:不要在 `async def` 内执行阻塞 I/O(pymysql、requests、文件 I/O 等)。改为普通 `def`,FastAPI 会自动转入线程池。
|
||||
- *PowerShell JSON*:先将 JSON 写入临时文件,再使用 `curl.exe --data-binary @file` 发送,以保持引号。
|
||||
- *大表 SQL*:对无索引文本列建索引;统一提升 DB `read/write_timeout=3600s`、客户端 `upload_timeout=1800s`、`run_timeout=7200s`。
|
||||
- *Docker exec 超时*:获取裸 socket 后调用 `socket.settimeout(None)`,取消默认 3 s 超时。
|
||||
- *Wheel 与 sdist 下载*:对 manylinux2014 wheel 采用 `--platform manylinux2014_x86_64`,sdist‑only 包通过 PyPI JSON API 下载源码 tar.gz。
|
||||
- *Docker Hub 代理*:在 Docker Desktop 中手动配置 `HTTP/HTTPS=http://127.0.0.1:7897` 并重启 Docker。
|
||||
- **Git 规则**:见 curated 规则 `cross_workspace_memory:aa56cfd5-4cbf-4bbd-b589-03aaed17acb2`,默认仅 commit,除非用户明确请求推送。
|
||||
- **项目记忆管理**:所有笔记保存在 `aidocs/project_context.md`,`.gitignore` 中不提交任何改动。
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
---
|
||||
title: Office Collaboration Guidelines
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/contexts/office-collaboration-guidelines
|
||||
stable_id: 1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: context_office
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823: '2'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
- curated_baseline:416ac7c5-22a5-414a-be97-6b30deccf8e2
|
||||
- curated_baseline:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
- memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: Default communication language is Chinese.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Ensure all steps work on Windows (WSL2 + Docker Desktop).
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Report progress to stakeholders continuously.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Prioritize long‑term reusable deployment configurations.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:1d00b33d-2bf5-4890-bf34-0645e483e216
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:42.431751+00:00'
|
||||
updated_at: '2026-09-16T03:09:13.807629+00:00'
|
||||
tags:
|
||||
- office
|
||||
- global
|
||||
---
|
||||
|
||||
# Current Office Context (Global)
|
||||
|
||||
## Communication
|
||||
- Default language is Chinese; switch only on explicit request.
|
||||
|
||||
## Environment Compatibility
|
||||
- All development steps (commands, paths, validation) work on Windows (with WSL2 and Docker Desktop).
|
||||
|
||||
## Project Understanding & Progress Reporting
|
||||
- Before any change, fully understand the existing codebase and continuously inform stakeholders. Tasks that can be completed and verified independently should be finished immediately.
|
||||
|
||||
## Private Deployment Priority
|
||||
- Favor configurations that are easy to set up once and reusable long‑term, emphasizing system capability and user convenience over speculative risk mitigation.
|
||||
|
||||
## Tags
|
||||
["office","global"]
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
---
|
||||
title: Research & Production Constraints
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/contexts/research-production-constraints
|
||||
stable_id: 23340925-d052-4393-952a-b1daf798cce3
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: context_research
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions: {}
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
- cross_workspace_memory:23bcc4c0-4992-41d6-b70e-210937a76a0f
|
||||
- cross_workspace_memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- cross_workspace_memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- cross_workspace_memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- cross_workspace_memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca
|
||||
- cross_workspace_memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136
|
||||
- curated_baseline:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: Use canonical password‑vault index names as listed.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Remove TSO from DTB and switch TCP congestion to Cubic.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Never flash generic RK3568 image; use provided boot and config.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Encode datetime/UUID/Pydantic before json.dumps.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Bitwarden snapshots reduce latency to ~0.4 s on ARM64.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:23340925-d052-4393-952a-b1daf798cce3
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:48.729821+00:00'
|
||||
updated_at: '2026-09-16T03:09:19.514321+00:00'
|
||||
tags:
|
||||
- research
|
||||
- global
|
||||
---
|
||||
|
||||
# Current Research Context (Global)
|
||||
|
||||
## Global Password‑Vault Index
|
||||
- Canonical names: `MemRelay Administrator`, `BDYG18Pro Armbian SSH`, `OpenWrt Router SSH`, `Public FRPS Server SSH`, `FRP ali.asio.asia Token`, `Gitea git.asio.asia OAuth`, `Armbian MySQL Root`.
|
||||
|
||||
## Network Stack Adjustments (TSO & Cubic)
|
||||
- Hardware TSO incompatible with RTL8367S DSA; removed `snps,tso` from the DTB. Default TCP congestion algorithm switched from Reno to Cubic.
|
||||
|
||||
## Flashing & Recovery Safety Rules
|
||||
- Do **not** flash the generic RK3568 image. Use the project‑provided U‑Boot, DTB, and RTL8367S/DSA configuration. Verify storage type, image SHA‑256, and backup status before writing.
|
||||
|
||||
## Production‑grade MCP JSON Serialization
|
||||
- Objects containing `datetime`, `UUID` or Pydantic models must be passed through FastAPI `jsonable_encoder` before `json.dumps`.
|
||||
|
||||
## Vault Performance Audit
|
||||
- In‑process Bitwarden snapshots reduce list/search latency from ~20 s to ~0.4 s on ARM64. All audit checks pass.
|
||||
|
||||
## Tags
|
||||
["research","global"]
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: Study & Knowledge Capture Practices
|
||||
type: curated
|
||||
permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/contexts/study-knowledge-capture-practices
|
||||
stable_id: 293586da-c6d2-41da-9ea7-701e3974d19f
|
||||
scope: global
|
||||
project_id: null
|
||||
workspace_type: global
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
preference_context: global
|
||||
document_type: context_study
|
||||
revision: 9
|
||||
source_memory_ids:
|
||||
- d8161df6-3159-46c9-9402-c5ab30d1436e
|
||||
source_checkpoint_ids: []
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 90
|
||||
source_revisions:
|
||||
memory:5ed86f53-b53e-4534-8e51-d3a010069d5e: '2'
|
||||
memory:105b328f-4bda-4641-90a7-7282ef156316: '2'
|
||||
memory:3f91189b-11a1-45bb-8357-4f413dc1609d: '1'
|
||||
source_dispositions:
|
||||
processed: 90
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:293586da-c6d2-41da-9ea7-701e3974d19f
|
||||
- memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:293586da-c6d2-41da-9ea7-701e3974d19f
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: Use aidocs/project_context.md as the only project note store.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:293586da-c6d2-41da-9ea7-701e3974d19f
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: Query Vaultwarden before any sensitive action; exact match used directly.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:293586da-c6d2-41da-9ea7-701e3974d19f
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: AI‑driven memory aggregation disabled by default.
|
||||
level: global
|
||||
workspace_types: []
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- curated_baseline:293586da-c6d2-41da-9ea7-701e3974d19f
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 571
|
||||
source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: ef77eb26-e282-4e81-88c8-7d622d14ccc7
|
||||
created_at: '2026-08-08T07:55:45.147252+00:00'
|
||||
updated_at: '2026-09-16T03:09:16.406956+00:00'
|
||||
tags:
|
||||
- study
|
||||
- global
|
||||
---
|
||||
|
||||
# Current Study Context (Global)
|
||||
|
||||
## Project Activity Log
|
||||
- Use `aidocs/project_context.md` as the sole source of project notes. The file has a fixed header and entries are added newest‑first with a second‑level timestamp containing **what, why, validation, issues, next steps**.
|
||||
|
||||
## Credential Handling
|
||||
- Before any exploratory login, SSH, database or API call, query Vaultwarden. If exactly one match, use it directly. New or updated credentials must be written to the password vault immediately; notes record only the entry name, purpose and usage method – never the secret itself.
|
||||
|
||||
## Optional AI Assistance
|
||||
- AI‑driven memory aggregation is **disabled by default**; the system will not load models or create a `.git` directory without explicit enable.
|
||||
|
||||
## Tags
|
||||
["study","global"]
|
||||
Reference in New Issue
Block a user