chore: 导入旧记忆备份供恢复
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: MemRelay 为主、本地 aidocs 仅作离线暂存
|
||||
type: rule
|
||||
permalink: main/global/mem-relay-为主、本地-aidocs-仅作离线暂存
|
||||
stable_id: 25332e63-48d0-4daa-8c08-d676bb2d310d
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 3
|
||||
request_id: airules-global-memrelay-fallback-20260916-1140
|
||||
created_at: '2026-09-16T03:23:42.866736+00:00'
|
||||
updated_at: '2026-09-16T03:40:08.714257+00:00'
|
||||
tags:
|
||||
- rules
|
||||
- memory
|
||||
- memrelay
|
||||
- offline-fallback
|
||||
---
|
||||
|
||||
会话开始先调用 capabilities_get 检查 MemRelay,并按当前目录、Git remote、项目名解析项目。MemRelay 可用时它是唯一的记忆存储:所有全局和项目记忆都写入 MemRelay,不创建或更新本地 aidocs。仅当 MemRelay 工具不存在、不可访问、鉴权失败或写入不可用时,才把待同步记忆临时保存到项目的 aidocs/project_context.md(最新优先、秒级时间戳,记录做了什么/为什么/如何验证/问题/下一步),并确保 aidocs 已加入 .gitignore、不提交。每次会话开始若发现 aidocs/project_context.md 存在且 MemRelay 可用,立即将有效记忆按正确范围去重同步;逐条确认成功且无遗漏后删除整个 aidocs 目录。不主动调用 project_export_prepare 向 aidocs 导出副本,除非用户明确要求;导出副本不视为待同步记忆。线上与本地冲突时不得静默覆盖线上内容,冲突条目暂留本地并向用户说明,待用户裁定后再写入。重要里程碑保存检查点;会话结束前若有实质进展,保存交接级检查点(未完成线索、临时约定、要避开的坑)。记忆仓库的历史恢复、记忆仓库 Git 同步和破坏性清理只在用户明确要求时执行,此限制不涉及代码仓库的提交推送。推测、临时数据、闲聊、未裁定的冲突内容和任何密文均不得写入 MemRelay。
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Optional AI and Git configuration
|
||||
type: rule
|
||||
permalink: main/global/optional-ai-and-git-configuration
|
||||
stable_id: 3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: global-optional-ai-git-20260804
|
||||
created_at: '2026-08-04T15:03:57.892969+00:00'
|
||||
updated_at: '2026-08-04T15:03:57.892969+00:00'
|
||||
tags:
|
||||
- deployment
|
||||
- optional
|
||||
- ai
|
||||
- git
|
||||
---
|
||||
|
||||
AI curation and memory Git are independent optional enhancements and are disabled by default. A deployment with neither configured is a complete supported mode: do not probe models, enqueue curation or Git work, clone workspaces, create .git directories, or report a fault. Memory, projects, checkpoints, search, vault, files, Web, REST, MCP, export, backup, and local semantic search remain available.
|
||||
+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"]
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: 交流语言
|
||||
type: preference
|
||||
permalink: main/global/交流语言
|
||||
stable_id: 7429c22e-50ff-458a-97c0-423c679904c7
|
||||
scope: global
|
||||
memory_type: preference
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 2
|
||||
request_id: a4751fdc-8c77-4172-a138-8af148a304fe
|
||||
created_at: '2026-08-25T07:45:48.399582+00:00'
|
||||
updated_at: '2026-09-01T12:43:28.000955+00:00'
|
||||
tags:
|
||||
- global
|
||||
---
|
||||
|
||||
# 偏好
|
||||
|
||||
## 偏好内容
|
||||
|
||||
- 日常交流使用中文
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 适用于所有场景,包括但不限于 日常交流、代码注释等
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: 做题先给已确定答案
|
||||
type: preference
|
||||
permalink: main/global/做题先给已确定答案
|
||||
stable_id: 9988effa-80c9-4062-97a2-8a5f40e3856a
|
||||
scope: global
|
||||
memory_type: preference
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 20260917-pref-quiz-answer-first
|
||||
created_at: '2026-09-17T07:29:25.224657+00:00'
|
||||
updated_at: '2026-09-17T07:29:25.224657+00:00'
|
||||
tags:
|
||||
- 答题
|
||||
- 沟通
|
||||
- 优先给答案
|
||||
---
|
||||
|
||||
答题或看截图做题时:已经能确定的题目立刻先给选项/对错,不要等全部题目查完再一次性输出。不确定、需要检索的题可以后补,但已知答案必须先出。
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: 凭证与记忆边界
|
||||
type: rule
|
||||
permalink: main/global/凭证与记忆边界
|
||||
stable_id: 105b328f-4bda-4641-90a7-7282ef156316
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
status: active
|
||||
revision: 2
|
||||
request_id: b10b7eee-809d-461b-9cfc-ebb4278fe4af
|
||||
updated_at: '2026-08-02T21:15:11.036241+00:00'
|
||||
tags:
|
||||
- global
|
||||
- rule
|
||||
- vault
|
||||
- credentials
|
||||
created_at: '2026-08-02T09:39:36.268858+00:00'
|
||||
---
|
||||
|
||||
# 凭证与记忆边界
|
||||
|
||||
- 登录、SSH、数据库和 API 操作前先搜索 Vaultwarden;唯一匹配时直接使用,不重复询问。
|
||||
- 开发或日常任务中新获得、生成或修改的账号、密码、Token、API 密钥和 TOTP 种子立即写入密码库。
|
||||
- 普通记忆只记录密码库条目名称、用途和使用方式,不保存秘密值。
|
||||
- 当前正式基础设施条目包括 BDYG18Pro、OpenWrt、MySQL、MemRelay、Gitea OAuth、FRP Token 和公网 FRPS 服务器。
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: 功能完成即提交并按远端状态推送
|
||||
type: rule
|
||||
permalink: main/global/功能完成即提交并按远端状态推送
|
||||
stable_id: 2406be77-e6ce-4572-890e-18747c968f55
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 3
|
||||
request_id: airules-global-git-workflow-20260916-1140
|
||||
created_at: '2026-09-16T03:28:01.309765+00:00'
|
||||
updated_at: '2026-09-16T03:40:32.035813+00:00'
|
||||
tags:
|
||||
- rules
|
||||
- git
|
||||
- commit
|
||||
- push
|
||||
- rebase
|
||||
- linear-history
|
||||
---
|
||||
|
||||
此规则取代旧的“默认仅 commit、明确要求才 push”规则。每个可独立交付的功能完成并验证后立即提交;仓库存在远端时提交后推送对应远端分支,没有远端时仅本地提交且不擅自创建远端。推送前先 fetch,远端有新提交时将本地提交 rebase 到远端最新状态后再推送;推送被拒绝时先排查原因,未经用户明确确认不得使用 --force 或 --force-with-lease。功能分支达到可集成状态且目标分支明确时主动合并:优先把功能分支 rebase 到最新目标分支,再以 fast-forward 合并,保持单一、线性的提交历史,避免无意义 merge commit。若仓库存在分支保护、PR 评审或 CI 门禁流程,不直接合并进目标分支,改为推送功能分支并创建 PR。rebase/合并后重新验证;冲突必须理解双方改动后解决。已发布或共享分支若 rebase 需要强制推送,未经确认不得改写远端历史。合并完成且存在远端时推送目标分支,不擅自发布或部署。提交信息格式为 type: 中文一句话描述,type 使用 feat/fix/refactor/style/docs/chore/revert。
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: 协作与语言偏好
|
||||
type: preference
|
||||
permalink: main/global/协作与语言偏好
|
||||
stable_id: ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
scope: global
|
||||
memory_type: preference
|
||||
project_id: null
|
||||
status: active
|
||||
revision: 2
|
||||
request_id: 00c95ab6-a578-4b9c-8efd-1a9110589a4e
|
||||
updated_at: '2026-08-02T21:15:07.064609+00:00'
|
||||
tags:
|
||||
- global
|
||||
- preference
|
||||
- collaboration
|
||||
created_at: '2026-08-02T09:39:33.063854+00:00'
|
||||
---
|
||||
|
||||
# 协作与语言偏好
|
||||
|
||||
- 默认使用中文沟通,除非明确要求其他语言。
|
||||
- 当前开发环境为 Windows,命令、路径和验证方式应与 Windows 兼容。
|
||||
- 先理解现有项目再实施,持续告知关键进展,能够独立完成的工作直接完成并验证。
|
||||
- 私有个人/团队部署以系统能力、使用便利和一次配置长期复用为优先,不围绕假设风险削减正常能力。
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: 协作规则文档与 Cursor 本机全局安装位置
|
||||
type: fact
|
||||
permalink: main/global/协作规则文档与-cursor-本机全局安装位置
|
||||
stable_id: 938fd87f-6a79-4765-b266-9aad0e8664de
|
||||
scope: global
|
||||
memory_type: fact
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: airules-20260916-global-rules-install-fact-01
|
||||
created_at: '2026-09-16T13:20:09.098368+00:00'
|
||||
updated_at: '2026-09-16T13:20:09.098368+00:00'
|
||||
tags:
|
||||
- rules
|
||||
- cursor
|
||||
- codex
|
||||
- install
|
||||
- collaboration-rules
|
||||
---
|
||||
|
||||
跨客户端通用协作规则的维护主文件为 E:\code\AIRules\RULES.md(配套 SOURCES.md 记录来源与冲突取舍,README.md 记录安装方式)。正文与文件名不使用“AI”字样,正文不含适用范围、来源、整理日期等说明性文字,只保留规则本身。
|
||||
|
||||
Cursor 侧已按“本机级、不随账号同步、所有工作区生效”的要求安装为本地插件:%USERPROFILE%\.cursor\plugins\local\collaboration-rules\(.cursor-plugin\plugin.json 仅声明 name=collaboration-rules;rules\collaboration-rules.mdc = 前置元数据 alwaysApply: true + RULES.md 正文,UTF-8 无 BOM)。修改后需 Developer: Reload Window。未使用账号同步的 User Rules;未使用 %USERPROFILE%\.cursor\rules,因为该目录在工作区不在用户主目录下时会被忽略(Cursor 3.20.x 已知问题)。
|
||||
|
||||
Codex App/CLI 尚未安装:应把 RULES.md 正文写入 %USERPROFILE%\.codex\AGENTS.md(当前为空文件)。更新规则时先改 RULES.md,再用 README.md 中的 PowerShell 片段重新生成 .mdc,避免多份副本各自演变。
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: 开发实施原则
|
||||
type: rule
|
||||
permalink: main/global/开发实施原则
|
||||
stable_id: bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
status: active
|
||||
revision: 4
|
||||
request_id: ff637b9f-54a3-4f33-b4f2-ff089b3fa15f
|
||||
updated_at: '2026-08-05T12:19:24.102240+00:00'
|
||||
tags:
|
||||
- global
|
||||
- rule
|
||||
- development
|
||||
created_at: '2026-08-02T09:39:33.919260+00:00'
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
---
|
||||
|
||||
# 开发实施原则
|
||||
|
||||
- 遵循 KISS 与 YAGNI,使用最简单且正确的实现。
|
||||
- 优先复用项目已有框架、服务、工具和约定,不建立重复实现。
|
||||
- 不添加为假设未来需求服务的依赖、抽象或基础设施。
|
||||
- 修改范围与当前目标一致,测试覆盖随风险扩大;完成前清理临时内容和无用代码。
|
||||
- 前端以真实工作流、桌面可用性、信息层级和无重叠为验收标准。
|
||||
- Web 表单优先使用“标题在左、控件在右”的紧凑横向布局;Markdown、代码、备注等较大或多行内容使用“标题在上、内容在下”,并根据实际场景调整。
|
||||
- Web 页面顶部标题区域在内容滚动时保持可见,页面操作继续放在标题区域右侧。
|
||||
- Web 提示说明放在对应页面、分区或字段标题旁,以提示图标呈现并在鼠标悬停后显示;错误、警告和关键状态仍应直接展示。
|
||||
- Web 弹窗的保存、取消等操作区域固定显示,不随正文滚动离开视口。
|
||||
- Markdown 编辑/预览、多行文本、日志和长列表优先在控件内部滚动,并根据桌面浏览器可用高度自适应;避免让整个页面或弹窗承担长内容滚动。
|
||||
- 表单标签列、控件列和分组间距保持紧凑一致,避免大面积无意义留白;标签页和列表需保留清晰内边距,不能贴边或被遮挡。
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: 开发记忆统一使用 MemRelay
|
||||
type: preference
|
||||
permalink: main/global/开发记忆统一使用-mem-relay
|
||||
stable_id: 1194be51-ee29-47e1-8957-ec2888007db6
|
||||
scope: global
|
||||
memory_type: preference
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: global-memory-policy-memrelay-only-20260825
|
||||
created_at: '2026-08-25T04:03:40.994879+00:00'
|
||||
updated_at: '2026-08-25T04:03:40.994879+00:00'
|
||||
tags:
|
||||
- memory-policy
|
||||
- memrelay
|
||||
- global
|
||||
---
|
||||
|
||||
所有项目的开发记忆统一由 MemRelay 持久管理。默认不得创建或更新本地 aidocs、project_context.md 或其他开发记忆副本;只有用户明确要求时才临时导出,并在使用后清理。
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: 未设置项目目录时不自动创建 MemRelay 项目
|
||||
type: rule
|
||||
permalink: main/global/未设置项目目录时不自动创建-mem-relay-项目
|
||||
stable_id: ac8bb556-947d-43a1-87d9-bfe7e8da310b
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: airules-global-no-project-autocreate-20260916-1144
|
||||
created_at: '2026-09-16T03:44:56.802075+00:00'
|
||||
updated_at: '2026-09-16T03:44:56.802075+00:00'
|
||||
tags:
|
||||
- rules
|
||||
- memrelay
|
||||
- project
|
||||
- scope
|
||||
---
|
||||
|
||||
当前会话未设置项目目录(无工作区、无明确工作目录的临时会话)时,除用户明确要求外,不得调用 project_resolve_or_create 或 project_create 创建 MemRelay 项目,也不得写入项目范围的记忆或检查点。此时只允许写入符合条件的全局范围记忆。会话开始时仍调用 capabilities_get 并读取全局规则;仅在已设置项目目录时才解析项目并读取项目上下文。
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: 项目记忆与 Git 工作流
|
||||
type: rule
|
||||
permalink: main/global/项目记忆与-git-工作流
|
||||
stable_id: 5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
scope: global
|
||||
memory_type: rule
|
||||
project_id: null
|
||||
status: active
|
||||
revision: 2
|
||||
request_id: d3147f88-103b-4a75-85bb-81ab5d6f3687
|
||||
updated_at: '2026-08-02T21:15:08.786655+00:00'
|
||||
tags:
|
||||
- global
|
||||
- rule
|
||||
- git
|
||||
- timeline
|
||||
created_at: '2026-08-02T09:39:35.982002+00:00'
|
||||
---
|
||||
|
||||
# 项目记忆与 Git 工作流
|
||||
|
||||
- 项目本地记忆使用 `aidocs/project_context.md`,说明固定在顶部,新记录紧随说明之后。
|
||||
- 记录按精确到秒的时间倒序排列,形成可追溯的开发时间线,并写明做了什么、原因、验证、问题与下一步。
|
||||
- `aidocs/` 默认加入 `.gitignore`,本地记忆不提交。
|
||||
- 完成任务后清理、更新记忆、检查全部工作树改动并提交有意义变更,提交格式为 `<type>: <中文说明>`。
|
||||
- 非当前会话的合理用户修改在确认不破坏代码且不含敏感信息后一起提交。
|
||||
+454
-1
@@ -3,5 +3,458 @@
|
||||
"repository_mode": "single",
|
||||
"scope": "all",
|
||||
"project_id": null,
|
||||
"projects": []
|
||||
"projects": [
|
||||
{
|
||||
"id": "1461ebb2-8a36-4326-98f8-5bbd3be53e59",
|
||||
"name": "XRDP",
|
||||
"slug": "xrdp",
|
||||
"git_remote": null,
|
||||
"workspace_type": "general",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "/home/nullix/documents/codex/2026-08-27/t"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-26T18:56:44.969838+00:00",
|
||||
"updated_at": "2026-08-27T09:08:51.858249+00:00"
|
||||
},
|
||||
{
|
||||
"id": "1b3e6c9f-979b-417a-8162-275545cc4061",
|
||||
"name": "N1 and internal services",
|
||||
"slug": "n1-and-internal-services",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "c:/users/administrator/documents/codex/2026-07-24/he"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-31T09:43:49.582019+00:00",
|
||||
"updated_at": "2026-09-01T07:03:36.389110+00:00"
|
||||
},
|
||||
{
|
||||
"id": "211ab78b-753e-4017-8533-79ae2c92d218",
|
||||
"name": "本机 Codex 与 CC Switch 配置",
|
||||
"slug": "本机-codex-与-cc-switch-配置",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "c:/users/administrator/.codex"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "codex cc switch"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "cc switch"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-08T03:27:40.268109+00:00",
|
||||
"updated_at": "2026-09-08T03:35:36.468342+00:00"
|
||||
},
|
||||
{
|
||||
"id": "4111f53b-afa5-48e1-aaf8-d70a7edc0638",
|
||||
"name": "Age of Empires III EditTools",
|
||||
"slug": "age-of-empires-iii-edittools",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "d:/game/age of empires iii edittools"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-31T13:35:21.491558+00:00",
|
||||
"updated_at": "2026-08-31T13:35:21.491581+00:00"
|
||||
},
|
||||
{
|
||||
"id": "49564d35-91ae-430d-9d67-7bb8bec4c646",
|
||||
"name": "VMZhCN",
|
||||
"slug": "vmzhcn",
|
||||
"git_remote": "https://git.asio.asia/nullix/VMZhCN.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "/home/nullix/code/vmzhcn"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-26T18:43:04.251377+00:00",
|
||||
"updated_at": "2026-09-13T18:31:47.443709+00:00"
|
||||
},
|
||||
{
|
||||
"id": "4ac89d31-0e89-4d4b-9cf4-861e92cb9e80",
|
||||
"name": "同频同PCI核查工具",
|
||||
"slug": "同频同pci核查工具",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "f:/需求/同频同pci核查工具"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-11T02:09:47.709540+00:00",
|
||||
"updated_at": "2026-09-11T02:21:18.033261+00:00"
|
||||
},
|
||||
{
|
||||
"id": "4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0",
|
||||
"name": "project-cpe",
|
||||
"slug": "project-cpe",
|
||||
"git_remote": "https://github.com/nixevol/project-cpe.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/project-cpe"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-19T03:14:29.560591+00:00",
|
||||
"updated_at": "2026-09-19T18:33:26.551119+00:00"
|
||||
},
|
||||
{
|
||||
"id": "62afe036-4c36-42b0-89fd-e2231d3d6788",
|
||||
"name": "SiteDataTool0701",
|
||||
"slug": "sitedatatool0701",
|
||||
"git_remote": "https://git.asio.asia/nixevol/SiteImpact.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/work/临时需求/0701/sitedatatool0701"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "sitedatatool0701"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "站点数据工具"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-16T09:49:28.087999+00:00",
|
||||
"updated_at": "2026-09-19T18:37:49.416444+00:00"
|
||||
},
|
||||
{
|
||||
"id": "6553b53c-bf14-49e3-a3de-1ee2f3533d51",
|
||||
"name": "HanteleWorkTime",
|
||||
"slug": "hanteleworktime",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/hanteleworktime"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-31T02:52:21.268229+00:00",
|
||||
"updated_at": "2026-08-31T09:30:03.583658+00:00"
|
||||
},
|
||||
{
|
||||
"id": "6f47523e-e22e-4cdd-bd18-76e5e474ee0c",
|
||||
"name": "Ax9000WRTBuild",
|
||||
"slug": "ax9000wrtbuild",
|
||||
"git_remote": "https://github.com/nixevol/Ax9000WRTBuild.git",
|
||||
"workspace_type": "general",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/nixproject/ax9000wrtbuild"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "ax9000-builder"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "openwrt-ax9000"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/ax9000wrtbuild"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-12T17:18:50.545125+00:00",
|
||||
"updated_at": "2026-09-19T18:31:46.606624+00:00"
|
||||
},
|
||||
{
|
||||
"id": "8e229c96-a83b-4a02-ac40-10a0a9da444e",
|
||||
"name": "MarketGrid",
|
||||
"slug": "marketgrid",
|
||||
"git_remote": "https://git.asio.asia/nixevol/MarketGrid.git",
|
||||
"workspace_type": "general",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/work/code/marketgrid"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/marketgrid"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-10T01:33:37.336439+00:00",
|
||||
"updated_at": "2026-09-19T18:39:10.453407+00:00"
|
||||
},
|
||||
{
|
||||
"id": "91370ae7-af10-41ee-b7ad-5730f4962bcb",
|
||||
"name": "EmptyTemp",
|
||||
"slug": "emptytemp",
|
||||
"git_remote": null,
|
||||
"workspace_type": "general",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/tempdata/emptytemp"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-17T07:29:03.562563+00:00",
|
||||
"updated_at": "2026-09-17T07:29:03.562582+00:00"
|
||||
},
|
||||
{
|
||||
"id": "991bd0b4-6f60-47c0-8e47-1bb256c04653",
|
||||
"name": "MROTemp",
|
||||
"slug": "mrotemp",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/data/users/administrator/downloads/mrotemp"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "mro"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "mro xml to csv"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-13T02:53:18.360661+00:00",
|
||||
"updated_at": "2026-08-13T02:53:18.360681+00:00"
|
||||
},
|
||||
{
|
||||
"id": "c206daff-5790-4eee-bed7-20dd5a5625c1",
|
||||
"name": "ni-h",
|
||||
"slug": "ni-h",
|
||||
"git_remote": null,
|
||||
"workspace_type": "general",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "c:/users/administrator/documents/codex/2026-09-11/ni-h"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-11T09:28:24.276992+00:00",
|
||||
"updated_at": "2026-09-11T09:28:24.277011+00:00"
|
||||
},
|
||||
{
|
||||
"id": "d0abaf3f-da04-4dd4-a228-bacf68f44e8f",
|
||||
"name": "BDYG18ProArmbianBuilder",
|
||||
"slug": "bdyg18proarmbianbuilder",
|
||||
"git_remote": "https://git.asio.asia/nixevol/bdyg18proarmbianbuilder.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/nixproject/bdyg18proarmbianbuilder"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-02T09:35:05.938602+00:00",
|
||||
"updated_at": "2026-09-19T18:31:45.946986+00:00"
|
||||
},
|
||||
{
|
||||
"id": "d1932ed6-07d3-4463-a224-8534ffd69a07",
|
||||
"name": "NextOffice",
|
||||
"slug": "nextoffice",
|
||||
"git_remote": "https://git.asio.asia/nixevol/NexiOffice.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/data/users/administrator/desktop/nextoffice"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-01T02:11:49.868429+00:00",
|
||||
"updated_at": "2026-09-19T18:35:44.011339+00:00"
|
||||
},
|
||||
{
|
||||
"id": "d401bdbe-e9c0-4de8-aa0f-48b983de7c80",
|
||||
"name": "UTU",
|
||||
"slug": "utu",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/utu"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-09T09:43:44.052124+00:00",
|
||||
"updated_at": "2026-09-10T10:07:51.386576+00:00"
|
||||
},
|
||||
{
|
||||
"id": "d44c219a-0b31-4de1-b160-323eb34a4c6a",
|
||||
"name": "artveris",
|
||||
"slug": "artveris",
|
||||
"git_remote": "https://git.asio.asia/nixevol/Artveris.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/artveris"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "artveris"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "艺术品溯源系统"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-03T03:26:02.948863+00:00",
|
||||
"updated_at": "2026-09-19T18:52:49.247550+00:00"
|
||||
},
|
||||
{
|
||||
"id": "d5a7f581-c442-4554-87b9-ee723b8b0258",
|
||||
"name": "Metrix",
|
||||
"slug": "metrix",
|
||||
"git_remote": "https://git.asio.asia/Metrix/Metrix.git",
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/metrix"
|
||||
},
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "metrix"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-12T17:30:42.098680+00:00",
|
||||
"updated_at": "2026-09-19T18:31:52.082376+00:00"
|
||||
},
|
||||
{
|
||||
"id": "dfbf674f-e25b-4b7d-b64d-83d1a133c3bc",
|
||||
"name": "commguard-next",
|
||||
"slug": "commguard-next",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/commguard-next"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-18T00:59:26.882900+00:00",
|
||||
"updated_at": "2026-09-18T00:59:26.882919+00:00"
|
||||
},
|
||||
{
|
||||
"id": "e3194241-010f-4cad-a3a5-009d7810ff2c",
|
||||
"name": "net-oss-routing",
|
||||
"slug": "net-oss-routing",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/work/net-oss-routing"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-10T02:37:03.854523+00:00",
|
||||
"updated_at": "2026-09-10T06:32:58.780862+00:00"
|
||||
},
|
||||
{
|
||||
"id": "ea207d36-693c-4349-b3c8-7c40c8c889f5",
|
||||
"name": "WinUnLock",
|
||||
"slug": "winunlock",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/winunlock"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-19T09:19:43.628540+00:00",
|
||||
"updated_at": "2026-08-24T08:21:55.704635+00:00"
|
||||
},
|
||||
{
|
||||
"id": "eb86191a-8353-439f-8787-5078fd9a74a2",
|
||||
"name": "Linux Mint 系统配置",
|
||||
"slug": "linux-mint-系统配置",
|
||||
"git_remote": null,
|
||||
"workspace_type": "personal",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "/home/nullix/documents/codex/2026-08-26/ni"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-27T19:49:24.998682+00:00",
|
||||
"updated_at": "2026-08-27T19:49:24.998700+00:00"
|
||||
},
|
||||
{
|
||||
"id": "ebb54e31-5afe-4f9b-a291-4e3b03ca3b21",
|
||||
"name": "MemRelay",
|
||||
"slug": "memrelay",
|
||||
"git_remote": null,
|
||||
"workspace_type": "development",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/nixproject/memrelay"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-08-02T21:15:07.049612+00:00",
|
||||
"updated_at": "2026-08-05T09:17:34.106249+00:00"
|
||||
},
|
||||
{
|
||||
"id": "f1812459-8630-4306-98e0-8a44e8d137d9",
|
||||
"name": "AIRules",
|
||||
"slug": "airules",
|
||||
"git_remote": null,
|
||||
"workspace_type": "general",
|
||||
"archived": false,
|
||||
"aliases": [
|
||||
{
|
||||
"kind": "directory",
|
||||
"value": "e:/code/airules"
|
||||
}
|
||||
],
|
||||
"created_at": "2026-09-16T12:47:12.114727+00:00",
|
||||
"updated_at": "2026-09-16T12:47:12.114750+00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 08:28:41 UTC [b64a921de1]
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-08-28-41-utc-b64a921de1
|
||||
stable_id: 1d2303fe-5e31-4a9c-8e38-a004d49e566e
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: xrdp-mint-20260827-checkpoint-01
|
||||
created_at: '2026-08-27T08:28:41.198622+00:00'
|
||||
updated_at: '2026-08-27T08:28:41.198622+00:00'
|
||||
tags:
|
||||
- xrdp
|
||||
- linux-mint
|
||||
- remote-desktop
|
||||
---
|
||||
|
||||
已完成 Linux Mint 22.3 Cinnamon 的 xrdp 基础配置修复(2026-08-27)。
|
||||
- 现状:xrdp 与 xrdp-sesman 已安装、enabled、active;xrdp 正在 0.0.0.0:3389 监听。
|
||||
- 修复:将 /home/nullix/.xsession 从单独执行 cinnamon-session 改为独立 D-Bus 下启动 cinnamon-session-cinnamon2d,设置 XRDP/Cinnamon 会话环境,文件权限为 700。
|
||||
- 修复:通过 Polkit 将 xrdp 加入 ssl-cert 组并重启 xrdp/xrdp-sesman,使服务可读取 TLS 私钥。
|
||||
- 验证:xrdp 主进程 Groups 含 ssl-cert;两个 systemd 服务均 active/enabled;端口 3389 正在监听;.xsession 通过 sh -n 语法检查。
|
||||
- 旧问题证据:此前日志显示登录认证成功、Xorg 启动成功,但 window manager 0 秒退出;同时 TLS key.pem Permission denied。旧本地 fcitx 进程曾 SIGSEGV。
|
||||
- 待验证:用户需从 MSTSC 通过现有 FRP 地址连接一次;若仍断开,再读取该次连接后的 xrdp-sesman 与 ~/.xsession-errors 日志。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 08:29:02 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-08-29-02-utc
|
||||
stable_id: c493e77a-6f33-47e9-9a6c-7951b711dd7e
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: d6a915a27f3464c63a89f26fbcc81890936aec87
|
||||
created_at: '2026-08-27T08:29:02.099605+00:00'
|
||||
updated_at: '2026-08-27T08:29:02.099605+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
已完成 Linux Mint 22.3 Cinnamon xrdp 配置修复;xrdp 与 sesman active/enabled,3389 监听;.xsession 改为独立 dbus-run-session + cinnamon-session-cinnamon2d;xrdp 加入 ssl-cert 并重启;待用户用 MSTSC 实测后读取新日志。
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 08:33:24 UTC [36e607c487]
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-08-33-24-utc-36e607c487
|
||||
stable_id: 2f1fc155-0ae3-454f-a819-5be0278ab25a
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: xrdp-mint-20260827-checkpoint-02
|
||||
created_at: '2026-08-27T08:33:24.185151+00:00'
|
||||
updated_at: '2026-08-27T08:33:24.185151+00:00'
|
||||
---
|
||||
|
||||
用户首次 MSTSC 连接出现黑屏。诊断结果:RDP/TLS/认证/Xorg/Cinnamon 均成功,远程会话持续运行;Xorg 日志显示 xrdpdev 启用了 AMD Radeon 680M 的 GLAMOR/DRI3 加速。已备份并修改 /etc/X11/xrdp/xorg.conf,将 Option DRI3 从 1 改为 0,强制软件路径;已终止旧远程会话 c8。当前 xrdp/xrdp-sesman active,3389 监听,新会话待用户重连验证。若仍黑屏,继续检查新 .xorgxrdp.10.log 并考虑禁用 Cinnamon 主题/自启动应用或切换轻量桌面。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 08:33:36 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-08-33-36-utc
|
||||
stable_id: dc1eb187-cac4-44ef-a98b-ba77b3b6e0f0
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 356b028f873fe94777d736f3f7e8aae7fcbf7b5d
|
||||
created_at: '2026-08-27T08:33:36.273739+00:00'
|
||||
updated_at: '2026-08-27T08:33:36.273739+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
XRDP 黑屏诊断完成:会话认证、Xorg、Cinnamon 均运行;Xorg 使用 AMD GLAMOR/DRI3,已备份并设置 DRI3=0 强制软件路径,终止旧会话,待 MSTSC 重连验证。
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 09:01:40 UTC [dfd2d664ef]
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-09-01-40-utc-dfd2d664ef
|
||||
stable_id: 24173f06-d478-4975-a8d1-62193d770992
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: xrdp-mint-20260827-checkpoint-03
|
||||
created_at: '2026-08-27T09:01:40.155585+00:00'
|
||||
updated_at: '2026-08-27T09:01:40.155585+00:00'
|
||||
---
|
||||
|
||||
第二次 MSTSC 连接仍黑屏。通过 DISPLAY=:10 的 Xlib 截图确认远程 Xorg 根窗口确实全黑;但 Xorg/Cinnamon 进程持续运行,窗口树中 Cinnamon 桌面、面板和普通应用窗口均为 IsUnMapped。发现本地用户图形会话 c2 与远程会话 c9 同时存在,且同一用户共享 Cinnamon 配置/会话服务;已终止残留远程会话 c9。下一步让用户注销本地图形 Cinnamon 会话(不是锁屏)后重新通过 MSTSC 连接,验证是否因同用户并行会话导致窗口未映射。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 09:02:25 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-09-02-25-utc
|
||||
stable_id: 214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 7da77284c7a3610f18050bb3273e386ffb9f24c8
|
||||
created_at: '2026-08-27T09:02:25.469704+00:00'
|
||||
updated_at: '2026-08-27T09:02:25.469704+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
XRDP 第二次连接仍黑屏;Xlib 截图确认远程根窗口全黑且 Cinnamon 窗口均未映射。发现本地 c2 与远程 c9 同用户并行,已终止 c9;待注销本地 Cinnamon 后重连验证。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-27 09:08:49 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/checkpoint-2026-08-27-09-08-49-utc
|
||||
stable_id: f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 115851fd264f0f5984177630b6a44c92fd433a43
|
||||
created_at: '2026-08-27T09:08:49.315179+00:00'
|
||||
updated_at: '2026-08-27T09:08:49.315179+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
项目已从 t 重命名为 XRDP。已完成 Linux Mint 22.3 Cinnamon xrdp 配置:xrdp/xrdp-sesman active/enabled,3389 监听,xrdp 加入 ssl-cert,~/.xsession 使用独立 dbus-run-session + cinnamon-session-cinnamon2d,/etc/X11/xrdp/xorg.conf 的 DRI3 已设为 0 并有备份。MSTSC 仍黑屏;诊断确认远程 Xorg 根窗口全黑且 Cinnamon 窗口未映射,下一步先注销本地图形 Cinnamon 会话再重连验证。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Mint Cinnamon XRDP 会话启动
|
||||
type: experience
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/mint-cinnamon-xrdp-会话启动
|
||||
stable_id: 84879e0b-c836-496e-a6cd-d607d6445689
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 3e2d6f652938975f0ac7771d5c2f1743d15d4569
|
||||
created_at: '2026-08-27T08:29:00.709738+00:00'
|
||||
updated_at: '2026-08-27T08:29:00.709738+00:00'
|
||||
---
|
||||
|
||||
Linux Mint 22.3 Cinnamon 的 xrdp 登录后窗口管理器立即退出时,可在 ~/.xsession 使用独立 dbus-run-session 启动 cinnamon-session-cinnamon2d,并清理继承的 DBUS_SESSION_BUS_ADDRESS。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: XRDP Cinnamon 会话配置
|
||||
type: experience
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/xrdp-cinnamon-会话配置
|
||||
stable_id: cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: eade7c5dd2b5c7c0534313b7c331ca5c7f35b86e
|
||||
created_at: '2026-08-27T09:08:40.805034+00:00'
|
||||
updated_at: '2026-08-27T09:08:40.805034+00:00'
|
||||
---
|
||||
|
||||
XRDP 会话使用 /home/nullix/.xsession,通过独立 dbus-run-session 启动 cinnamon-session-cinnamon2d,并设置 XDG_CURRENT_DESKTOP、XDG_SESSION_DESKTOP 等 Cinnamon 环境变量。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: XRDP 后续验证
|
||||
type: experience
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/xrdp-后续验证
|
||||
stable_id: 9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 4fe7b05b38c3b5937dd06c7e637314d2ebf047ec
|
||||
created_at: '2026-08-27T09:08:46.287079+00:00'
|
||||
updated_at: '2026-08-27T09:08:46.287079+00:00'
|
||||
---
|
||||
|
||||
下一步注销物理机本地 Cinnamon 图形会话(不是锁屏),等待 LightDM 登录界面,再使用 MSTSC 通过 FRP 地址连接;若仍黑屏,读取新会话日志并切换到 MATE 或 XFCE 远程会话。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: XRDP 配置状态
|
||||
type: fact
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/xrdp-配置状态
|
||||
stable_id: 53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: abf51eb6b75a6edd7c641faf1037b9e86a6f38d3
|
||||
created_at: '2026-08-27T09:08:39.061822+00:00'
|
||||
updated_at: '2026-08-27T09:08:39.061822+00:00'
|
||||
---
|
||||
|
||||
Linux Mint 22.3 Cinnamon 上 xrdp 与 xrdp-sesman 已安装并设置为开机启动,xrdp 监听 0.0.0.0:3389;xrdp 服务进程已加入 ssl-cert 组以读取 TLS 私钥。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: XRDP 黑屏与 DRI3
|
||||
type: experience
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/xrdp-黑屏与-dri3
|
||||
stable_id: 74160f67-38fe-487e-a2d3-8f739c31a09b
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 606a062297a87a6b3d51bbcc52da326fb66b3f07
|
||||
created_at: '2026-08-27T08:33:34.748991+00:00'
|
||||
updated_at: '2026-08-27T08:33:34.748991+00:00'
|
||||
---
|
||||
|
||||
Linux Mint 22.3 Cinnamon xrdp 黑屏但会话和 Cinnamon 进程持续运行时,检查 /etc/X11/xrdp/xorg.conf;AMD GLAMOR/DRI3 可能导致画面不输出。备份后将 Option DRI3 设置为 0,并终止旧会话使新 Xorg 会话读取配置。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: XRDP 黑屏排查
|
||||
type: experience
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/xrdp-黑屏排查
|
||||
stable_id: 97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: e15bcba7602cb9f0facb7e6cfef20bd4089660e7
|
||||
created_at: '2026-08-27T09:08:43.418615+00:00'
|
||||
updated_at: '2026-08-27T09:08:43.418615+00:00'
|
||||
---
|
||||
|
||||
Linux Mint Cinnamon 的 XRDP 黑屏排查:认证、TLS、Xorg、Cinnamon 进程均可成功运行,但远程 Xorg 根窗口全黑且 Cinnamon 桌面/面板窗口为 IsUnMapped;本地图形会话与同用户远程会话并行可能造成冲突,应先注销本地 Cinnamon 会话再重连。xrdpdev 的 AMD GLAMOR/DRI3 已通过 DRI3=0 进行规避。
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
---
|
||||
title: Workspace **t** – Development Tasks
|
||||
type: curated
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/curated/workspace-t-development-tasks
|
||||
stable_id: eb9a8c42-ec2e-4ec1-b74d-e7fb1676070f
|
||||
scope: project
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
workspace_type: general
|
||||
usage_profile_id: null
|
||||
preference_context: general
|
||||
document_type: tasks
|
||||
revision: 3
|
||||
source_memory_ids:
|
||||
- 27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- 53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- 97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- 9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
source_checkpoint_ids:
|
||||
- 214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- 24173f06-d478-4975-a8d1-62193d770992
|
||||
- f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- xrdp-mint-20260827-curation-03
|
||||
- xrdp-project-rename-20260827-01
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 29
|
||||
source_revisions:
|
||||
memory:27678f65-69be-4d2d-84f9-fc4ed515819c: '1'
|
||||
memory:214e8fce-c7f9-4a09-8e80-9eb373a905da: '1'
|
||||
memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7: '1'
|
||||
memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72: '1'
|
||||
memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd: '1'
|
||||
source_dispositions:
|
||||
processed: 29
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- memory:214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
- curated_baseline:eb9a8c42-ec2e-4ec1-b74d-e7fb1676070f
|
||||
job_cited_source_ids:
|
||||
- memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- memory:214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 所有日常沟通、代码注释、文档均使用中文。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: AI 与 Git 集成默认关闭,系统在未配置时不创建 .git 目录或探测模型。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 203
|
||||
source_hash: f1f36d2008461d781d63849baf343dc8cc448fe8ec06e53c344968a6e7482a9a
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 3889bca6-5e03-40d0-b3b6-f480f686b3a7
|
||||
created_at: '2026-08-26T19:13:39.917381+00:00'
|
||||
updated_at: '2026-08-27T09:24:45.118125+00:00'
|
||||
tags:
|
||||
- XRDP
|
||||
- tasks
|
||||
- general
|
||||
---
|
||||
|
||||
## 待办任务概览(截至 2026‑08‑27)
|
||||
|
||||
1. **注销本地 Cinnamon 会话**
|
||||
- 操作:在物理机上退出当前用户的 Cinnamon 桌面(非锁屏),确认 LightDM 登录界面出现。
|
||||
- 目的:消除本地/远程同用户并行导致的窗口映射冲突。
|
||||
- 关联记忆:`memory:27678f65-69be-4d2d-84f9-fc4ed515819c`、`memory:214e8fce-c7f9-4a09-8e80-9eb373a905da`。
|
||||
|
||||
2. **重新通过 MSTSC 连接验证**
|
||||
- 在注销本地会话后,以 FRP 地址或直接 3389 端口使用 MSTSC 重新连接。
|
||||
- 检查:是否仍出现全黑 Xorg 根窗口;若无,问题已解决。
|
||||
- 关联记忆:`memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7`。
|
||||
|
||||
3. **若仍黑屏,切换远程桌面会话类型**
|
||||
- 备选:改为 MATE 或 XFCE 会话(修改 `~/.xsession` 中的启动命令)。
|
||||
- 记录结果以供后续决策。
|
||||
- 关联记忆:`memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72`。
|
||||
|
||||
4. **确认 DRI3=0 设置生效**
|
||||
- 检查 `/etc/X11/xrdp/xorg.conf` 中 `DRI3` 参数是否为 `0`,并验证 Xorg 启动日志不再出现 GLAMOR 警告。
|
||||
- 关联记忆:`memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd`。
|
||||
|
||||
5. **更新项目记忆**
|
||||
- 使用 MemRelay 将本次调查、操作步骤、验证结果写入 `aidocs/project_context.md`(秒级时间戳、最新‑优先)。
|
||||
- 确保 `aidocs/` 已在 `.gitignore` 中。
|
||||
- 关联记忆:`memory:1194be51-ee29-47e1-8957-ec2888007db6`(全局偏好)以及 `global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0`(工作流)。
|
||||
|
||||
---
|
||||
*此任务清单基于已记录的经验、检查点以及全局共享规则,面向所有 `general` 工作空间。*
|
||||
|
||||
**标签**: `XRDP`, `tasks`, `general`
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: Workspace **t** – Glossary of Terms
|
||||
type: curated
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/curated/workspace-t-glossary-of-terms
|
||||
stable_id: a50c0d24-a6d2-4a80-a582-2f44c9ea5076
|
||||
scope: project
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
workspace_type: general
|
||||
usage_profile_id: null
|
||||
preference_context: general
|
||||
document_type: glossary
|
||||
revision: 1
|
||||
source_memory_ids: []
|
||||
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-120b
|
||||
source_count: 13
|
||||
source_revisions: {}
|
||||
source_dispositions:
|
||||
processed: 13
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids: []
|
||||
job_cited_source_ids: []
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 167
|
||||
source_hash: c5ce64e952968e5b85024b19cca5baa487f9229c9253f72ada608e7d01bea435
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 6aab4b65-243c-40e5-8ce0-25e836803179
|
||||
created_at: '2026-08-26T19:13:39.930961+00:00'
|
||||
updated_at: '2026-08-26T19:13:39.931534+00:00'
|
||||
tags:
|
||||
- glossary
|
||||
---
|
||||
|
||||
# 术语表
|
||||
|
||||
以下术语在工作空间 **t** 的文档与任务中经常出现,已根据全局共享指南统一定义。
|
||||
|
||||
| 术语 | 定义 |
|
||||
|------|------|
|
||||
| **KISS** | Keep It Simple, Stupid – 只实现最简且正确的功能,避免不必要的复杂度。 (来源: `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`) |
|
||||
| **YAGNI** | You Aren’t Gonna Need It – 不为猜测的未来需求添加依赖或抽象层。 (同上) |
|
||||
| **MemRelay** | 持久化管理开发记忆的系统,所有项目记忆统一通过它维护。默认不创建本地 `aidocs/`、`project_context.md` 副本,除非用户明确要求。 (来源: `global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6`) |
|
||||
| **aidocs/project_context.md** | 项目记忆文件,位于 `aidocs/` 目录,文件顶部保留固定标题,后续条目逆序(最新在前)并带秒级时间戳记录。 `aidocs/` 被 `.gitignore` 排除,防止记忆文件被提交。 (来源: `global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0`) |
|
||||
| **Vaultwarden** | 自托管的密码库服务,所有登录、SSH、数据库、API 操作前先在其中搜索凭证,唯一匹配时自动使用。 (来源: `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`) |
|
||||
| **AI Curations / Git Integration** | AI 驱动的记忆同步与 Git 工作流的可选功能,默认 **关闭**,系统在未配置时不尝试访问模型或创建 `.git` 目录。 (来源: `global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d`) |
|
||||
| **Docker Desktop Proxy** | Docker Desktop 的网络代理设置,需要手动配置为 `http://127.0.0.1:7897`,并在重启后验证 `docker pull` 能正常工作。 (来源: `global_guidance_document:7b5a1fcd-adea-4418-ac8e-2f6275b5ada6`) |
|
||||
| **FastAPI async 陷阱** | 在 `async def` 中调用阻塞 I/O(如 pymysql、requests)会冻结事件循环,推荐改为普通 `def` 或使用线程池。 (来源: `global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0`) |
|
||||
| **PowerShell JSON 发送** | 为避免引号被吞掉,先将 JSON 写入临时文件,再使用 `curl.exe --data-binary @file` 发送。 (同上) |
|
||||
| **中文交流** | 所有日常沟通、代码注释、文档均使用中文,除非用户明确要求使用其他语言。 (来源: `global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7`、`global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823`) |
|
||||
| **提交信息格式** | 使用中文描述的提交类型,例如 `feat: 添加用户登录`,遵循“type: 中文说明”约定。 (来源: `global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843`) |
|
||||
|
||||
---
|
||||
*本术语表收录了工作空间 **t** 常用概念,保持与全局共享指导一致。*
|
||||
@@ -0,0 +1,130 @@
|
||||
---
|
||||
title: 工作区 t 概览
|
||||
type: curated
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/curated/工作区-t-概览
|
||||
stable_id: 53fc7570-0559-4c39-b721-e1110ed1909d
|
||||
scope: project
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
workspace_type: general
|
||||
usage_profile_id: null
|
||||
preference_context: general
|
||||
document_type: overview
|
||||
revision: 1
|
||||
source_memory_ids: []
|
||||
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-120b
|
||||
source_count: 13
|
||||
source_revisions: {}
|
||||
source_dispositions:
|
||||
processed: 13
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- project:1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
job_cited_source_ids:
|
||||
- project:1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 日常交流使用中文。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 开发记忆统一使用 MemRelay 持久管理,默认不创建本地 aidocs 或 project_context.md 副本。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配时直接使用。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: AI 驱动的记忆同步与 Git 集成默认关闭,未配置时系统不应尝试加载模型或创建 .git 目录。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 167
|
||||
source_hash: c5ce64e952968e5b85024b19cca5baa487f9229c9253f72ada608e7d01bea435
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 6aab4b65-243c-40e5-8ce0-25e836803179
|
||||
created_at: '2026-08-26T19:13:22.660846+00:00'
|
||||
updated_at: '2026-08-26T19:13:22.661417+00:00'
|
||||
tags:
|
||||
- general
|
||||
- t
|
||||
- overview
|
||||
---
|
||||
|
||||
## 工作区概述
|
||||
|
||||
- **工作区标识**: `t`(通用类型)—— 由系统在 **2026‑08‑26T18:56:44.991939+00:00** 创建 (source `project:1461ebb2-8a36-4326-98f8-5bbd3be53e59`).
|
||||
- **核心原则**: 采用 KISS 与 YAGNI,优先复用已有框架与工具,避免为未知需求添加依赖 (source `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`).
|
||||
- **语言与协作**: 日常交流、代码注释、文档均使用中文,除非明确要求使用其他语言 (sources `global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7`, `global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823`).
|
||||
- **记忆管理**: 所有项目记忆统一通过 **MemRelay** 持久化管理,默认不在本地创建或更新 `aidocs/`、`project_context.md` 等副本;仅在用户明确请求时临时导出并在使用后清理 (source `global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6`).
|
||||
- **凭证与安全**: 在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配时直接使用;新产生的密码、Token、TOTP 等必须立即写入密码库,记忆中仅记录名称、用途、使用方式 (sources `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`, `global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e`).
|
||||
- **AI 与 Git 集成**: AI 驱动的记忆同步与 Git 工作流默认关闭,系统在未配置时不探测模型、创建 `.git` 目录或报错 (source `global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d`).
|
||||
- **UI/UX 指南**: Web 表单采用“标题在左、控件在右”紧凑布局,滚动时页面标题保持可见,弹窗操作区固定不随正文滚动 (source `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`).
|
||||
|
||||
## 适用范围
|
||||
|
||||
- 该概览面向所有 **general** 工作空间,使用 **共享(shared)** 使用配置文件 `t`。
|
||||
|
||||
---
|
||||
|
||||
**标签**: `general`, `t`, `overview`
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
title: 已作出决策
|
||||
type: curated
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/curated/已作出决策
|
||||
stable_id: 1f10a715-ee2a-4ce0-a339-48eabe5fec64
|
||||
scope: project
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
workspace_type: general
|
||||
usage_profile_id: null
|
||||
preference_context: general
|
||||
document_type: decisions
|
||||
revision: 1
|
||||
source_memory_ids: []
|
||||
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-120b
|
||||
source_count: 13
|
||||
source_revisions: {}
|
||||
source_dispositions:
|
||||
processed: 13
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
job_cited_source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 167
|
||||
source_hash: c5ce64e952968e5b85024b19cca5baa487f9229c9253f72ada608e7d01bea435
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 6aab4b65-243c-40e5-8ce0-25e836803179
|
||||
created_at: '2026-08-26T19:13:26.670332+00:00'
|
||||
updated_at: '2026-08-26T19:13:26.671018+00:00'
|
||||
tags:
|
||||
- general
|
||||
- t
|
||||
- decisions
|
||||
---
|
||||
|
||||
## 关键决策清单
|
||||
|
||||
1. **语言**: 所有沟通、文档、代码注释统一使用中文,除非明确要求使用其他语言。 (source `global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7`)
|
||||
2. **记忆管理**: 采用 MemRelay 持久化记忆,禁止在本地 `aidocs/` 或 `project_context.md` 中创建永久记录;仅在用户要求时临时导出并在使用后清理。 (source `global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6`)
|
||||
3. **凭证流程**: 在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配自动使用;新增或修改的凭证必须立即写入密码库,仅记录条目名称等元信息。 (sources `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`, `global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e`)
|
||||
4. **开发原则**: 坚持 KISS 与 YAGNI,复用已有框架与工具,避免为猜测需求添加依赖或抽象层。 (source `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`)
|
||||
5. **AI 与 Git 集成**: 默认关闭 AI 驱动的记忆同步与 Git 自动化,系统在未配置时不探测模型或创建 `.git` 目录。 (source `global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d`)
|
||||
6. **UI/UX**: 采用紧凑横向表单布局,保持页面标题悬停可视,弹窗操作区固定,滚动区域内部实现自适应。 (source `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`)
|
||||
7. **环境配置**: 开发环境统一为 Windows + WSL2 + Docker Desktop,代理设置为 `http://127.0.0.1:7897`,确保 Docker Hub 连接正常。 (source `global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843`)
|
||||
|
||||
---
|
||||
|
||||
**标签**: `general`, `t`, `decisions`
|
||||
@@ -0,0 +1,151 @@
|
||||
---
|
||||
title: 当前状态
|
||||
type: curated
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/curated/当前状态
|
||||
stable_id: 9ddce93d-e063-437a-94f7-46d5a6f46a67
|
||||
scope: project
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
workspace_type: general
|
||||
usage_profile_id: null
|
||||
preference_context: general
|
||||
document_type: current_state
|
||||
revision: 3
|
||||
source_memory_ids:
|
||||
- 27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- 53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- 97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- 9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
source_checkpoint_ids:
|
||||
- 214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- 24173f06-d478-4975-a8d1-62193d770992
|
||||
- f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- xrdp-mint-20260827-curation-03
|
||||
- xrdp-project-rename-20260827-01
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 29
|
||||
source_revisions:
|
||||
memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd: '1'
|
||||
memory:53153e64-2dd7-4d98-a013-529592e36c0d: '1'
|
||||
memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943: '1'
|
||||
memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72: '1'
|
||||
memory:214e8fce-c7f9-4a09-8e80-9eb373a905da: '1'
|
||||
memory:24173f06-d478-4975-a8d1-62193d770992: '1'
|
||||
memory:27678f65-69be-4d2d-84f9-fc4ed515819c: '1'
|
||||
memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7: '1'
|
||||
source_dispositions:
|
||||
processed: 29
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
- memory:53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
- memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- memory:214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- memory:24173f06-d478-4975-a8d1-62193d770992
|
||||
- memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- curated_baseline:9ddce93d-e063-437a-94f7-46d5a6f46a67
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
job_cited_source_ids:
|
||||
- memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
- memory:53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
- memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- memory:214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- memory:24173f06-d478-4975-a8d1-62193d770992
|
||||
- memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 日常交流使用中文。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 项目记忆统一使用 MemRelay 持久管理,默认不在本地创建或更新 aidocs/、project_context.md 等记忆副本。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 遵循 KISS 与 YAGNI 原则,优先复用已有框架、工具,避免为猜测需求添加依赖。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: AI 驱动的记忆同步与 Git 集成默认关闭,系统在未配置时不创建 .git 目录或探测模型。
|
||||
level: workspace
|
||||
workspace_types:
|
||||
- general
|
||||
workspace_ids:
|
||||
- 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
source_ids:
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 203
|
||||
source_hash: f1f36d2008461d781d63849baf343dc8cc448fe8ec06e53c344968a6e7482a9a
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 3889bca6-5e03-40d0-b3b6-f480f686b3a7
|
||||
created_at: '2026-08-26T19:13:26.656659+00:00'
|
||||
updated_at: '2026-08-27T09:24:41.503067+00:00'
|
||||
tags:
|
||||
- XRDP
|
||||
- current_state
|
||||
- general
|
||||
---
|
||||
|
||||
## XRDP 当前实现与问题概况(截至 2026‑08‑27)
|
||||
|
||||
- **项目名称**:已从 *t* 重命名为 **XRDP**(`memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd`)。
|
||||
- **服务状态**:`xrdp` 与 `xrdp‑sesman` 均已安装、启用并设为开机启动,监听 `0.0.0.0:3389`,服务进程已加入 `ssl‑cert` 组以读取 TLS 私钥(`memory:53153e64-2dd7-4d98-a013-529592e36c0d`)。
|
||||
- **Xorg 配置**:`/etc/X11/xrdp/xorg.conf` 中 DRI3 已设为 `0`(以规避 AMD GLAMOR/DRI3 问题),并保留了原始备份(`memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd`)。
|
||||
- **会话启动**:`.xsession` 使用独立的 `dbus-run-session`,启动 `cinnamon-session-cinnamon2d` 并设置 `XDG_CURRENT_DESKTOP`、`XDG_SESSION_DESKTOP` 等环境变量(`memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943`)。
|
||||
- **远程显示症状**:通过 MSTSC 连接后出现 **全黑 Xorg 根窗口**,Cinnamon 桌面、面板以及所有应用窗口均为 **IsUnMapped**(`memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72`、`memory:214e8fce-c7f9-4a09-8e80-9eb373a905da`、`memory:24173f06-d478-4975-a8d1-62193d770992`)。
|
||||
- **根本原因分析**:本地 Cinnamon 会话与同一用户的远程 XRDP 会话并行运行导致会话冲突,远程窗口未被映射(`memory:27678f65-69be-4d2d-84f9-fc4ed515819c`)。
|
||||
- **已采取的临时措施**:已终止残留的远程会话 `c9`,并计划在下一轮验证前先 **注销本地 Cinnamon 会话**(非锁屏),等待 LightDM 登录界面后再重新连接(`memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7`、`memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd`)。
|
||||
|
||||
### 待确认项
|
||||
1. 本地 Cinnamon 会话注销后,远程 Xorg 根窗口是否仍全黑。
|
||||
2. 若仍黑屏,计划切换至 **MATE** 或 **XFCE** 远程会话进行对比验证。
|
||||
3. 验证 DRI3=0 设置是否彻底解决 GLAMOR 相关的显卡兼容性问题。
|
||||
@@ -0,0 +1,105 @@
|
||||
---
|
||||
title: 时间线
|
||||
type: curated
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/curated/时间线
|
||||
stable_id: d84e1c59-4ef5-462c-bef7-b1a2c24e8779
|
||||
scope: project
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
workspace_type: general
|
||||
usage_profile_id: null
|
||||
preference_context: general
|
||||
document_type: timeline
|
||||
revision: 3
|
||||
source_memory_ids:
|
||||
- 27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- 53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- 97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- 9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
source_checkpoint_ids:
|
||||
- 214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- 24173f06-d478-4975-a8d1-62193d770992
|
||||
- f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- xrdp-mint-20260827-curation-03
|
||||
- xrdp-project-rename-20260827-01
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 29
|
||||
source_revisions:
|
||||
memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd: '1'
|
||||
memory:24173f06-d478-4975-a8d1-62193d770992: '1'
|
||||
memory:27678f65-69be-4d2d-84f9-fc4ed515819c: '1'
|
||||
memory:214e8fce-c7f9-4a09-8e80-9eb373a905da: '1'
|
||||
memory:53153e64-2dd7-4d98-a013-529592e36c0d: '1'
|
||||
memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943: '1'
|
||||
memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72: '1'
|
||||
memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7: '1'
|
||||
source_dispositions:
|
||||
processed: 29
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
- memory:24173f06-d478-4975-a8d1-62193d770992
|
||||
- memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- memory:214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- memory:53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
- memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
- curated_baseline:d84e1c59-4ef5-462c-bef7-b1a2c24e8779
|
||||
- project:1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
- global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
job_cited_source_ids:
|
||||
- memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd
|
||||
- memory:24173f06-d478-4975-a8d1-62193d770992
|
||||
- memory:27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
- memory:214e8fce-c7f9-4a09-8e80-9eb373a905da
|
||||
- memory:53153e64-2dd7-4d98-a013-529592e36c0d
|
||||
- memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943
|
||||
- memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72
|
||||
- memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 203
|
||||
source_hash: f1f36d2008461d781d63849baf343dc8cc448fe8ec06e53c344968a6e7482a9a
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 3889bca6-5e03-40d0-b3b6-f480f686b3a7
|
||||
created_at: '2026-08-26T19:13:33.818187+00:00'
|
||||
updated_at: '2026-08-27T09:24:42.985738+00:00'
|
||||
tags:
|
||||
- XRDP
|
||||
- timeline
|
||||
- general
|
||||
---
|
||||
|
||||
## 关键时间点(UTC)
|
||||
|
||||
| 时间 | 事件 | 说明 |
|
||||
|------|------|------|
|
||||
| 2026‑08‑26 18:56:44.991939 | 工作区 `t` 创建并随后重命名为 **XRDP** | `project:1461ebb2-8a36-4326-98f8-5bbd3be53e59` |
|
||||
| 2026‑08‑27 09:01:40.155585 | 第二次 MSTSC 连接仍黑屏,确认远程 Xorg 根窗口全黑,发现本地 c2 与远程 c9 同用户并行,已终止 c9 | `memory:24173f06-d478-4975-a8d1-62193d770992` |
|
||||
| 2026‑08‑27 09:02:24.080119 | 同用户并行 Cinnamon 会话导致 XRDP 黑屏的经验记录 | `memory:27678f65-69be-4d2d-84f9-fc4ed515819c` |
|
||||
| 2026‑08‑27 09:02:25.469704 | 第二次连接仍黑屏,Xlib 截图确认根窗口全黑,已终止残留远程会话 c9,待注销本地 Cinnamon 后重连 | `memory:214e8fce-c7f9-4a09-8e80-9eb373a905da` |
|
||||
| 2026‑08‑27 09:08:39.061822 | XRDP 配置状态:服务已启动、监听 3389、加入 ssl‑cert 组 | `memory:53153e64-2dd7-4d98-a013-529592e36c0d` |
|
||||
| 2026‑08‑27 09:08:40.805034 | XRDP Cinnamon 会话配置细节(.xsession、dbus‑run‑session、环境变量) | `memory:cb5d1924-eb5d-4e63-9696-4033f7d0b943` |
|
||||
| 2026‑08‑27 09:08:43.418615 | XRDP 黑屏排查:本地与远程会话冲突导致窗口未映射 | `memory:97c12ace-42c3-40ad-a7e6-18b5f765bd72` |
|
||||
| 2026‑08‑27 09:08:46.287079 | 后续验证计划:注销本地 Cinnamon 会话后重新连接,若仍黑屏切换会话类型 | `memory:9d00d45d-e524-4fbd-8b40-bd9b8d89e7f7` |
|
||||
| 2026‑08‑27 09:08:49.315179 | 项目最终状态记录:已完成基本 XRDP 配置,等待本地会话注销后验证 | `memory:f27ca157-f3e9-4bc3-958c-d96d999ae5cd` |
|
||||
|
||||
---
|
||||
**标签**: `XRDP`, `timeline`, `general`
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: 同用户并行 Cinnamon 会话导致 XRDP 黑屏
|
||||
type: experience
|
||||
permalink: main/projects/1461ebb2-8a36-4326-98f8-5bbd3be53e59/同用户并行-cinnamon-会话导致-xrdp-黑屏
|
||||
stable_id: 27678f65-69be-4d2d-84f9-fc4ed515819c
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1461ebb2-8a36-4326-98f8-5bbd3be53e59
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 8329b2f601e5186702c17bbdbe762b9292daac15
|
||||
created_at: '2026-08-27T09:02:24.080119+00:00'
|
||||
updated_at: '2026-08-27T09:02:24.080119+00:00'
|
||||
---
|
||||
|
||||
Linux Mint Cinnamon 的 xrdp 黑屏排查中,如果本地图形会话和同用户远程会话同时存在,可能出现远程 Cinnamon 窗口均为 IsUnMapped。先终止残留远程会话,再注销本地图形会话后重新连接验证。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 10:21:14 UTC [368f486542]
|
||||
type: checkpoint
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/checkpoint-2026-08-31-10-21-14-utc-368f486542
|
||||
stable_id: adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 20260831-onlyoffice-product-comparison-checkpoint-001
|
||||
created_at: '2026-08-31T10:21:14.433247+00:00'
|
||||
updated_at: '2026-08-31T10:21:14.433247+00:00'
|
||||
tags:
|
||||
- onlyoffice
|
||||
- docspace
|
||||
- nextcloud
|
||||
- 选型
|
||||
---
|
||||
|
||||
完成内网在线Excel协作产品初步选型核对。用户要求完全离线、x64、上传/创建XLSX、共享链接协同、下载控制和Sheet保护,不自行开发文件门户。当前关键结论:官方DocSpace Community轻量自托管Docker方案明确标注仅用于开发/测试,不能作为正式生产部署;其栈包含DocSpace、Document Server、MySQL、OpenSearch,最低8GB RAM/40GB SSD/2GB swap且无缩略图。正式本地DocSpace生产版为Enterprise付费。Nextcloud Community + ONLYOFFICE Docs Community配置更复杂,但具备稳定社区生产路径、官方连接器、公开分享/编辑和版本管理,更适合免费正式内网。下一步:用户确认选型后,收集目标服务器OS/CPU/RAM/磁盘/内网域名和预计并发,再生成完全离线部署包及Compose配置。注意:ONLYOFFICE Docs Community移动网页编辑器、Admin Panel不可用;并发授权数字应按实际选定版本再次核验,不沿用旧资料。
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 04:11:57 UTC [adc364fba4]
|
||||
type: checkpoint
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/checkpoint-2026-09-01-04-11-57-utc-adc364fba4
|
||||
stable_id: e0712855-b308-4f46-8919-291543b85e6a
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 20260901-nextcloud-markdown-preview-01
|
||||
created_at: '2026-09-01T04:11:57.949916+00:00'
|
||||
updated_at: '2026-09-01T04:11:57.949916+00:00'
|
||||
tags:
|
||||
- nextcloud
|
||||
- markdown
|
||||
- troubleshooting
|
||||
---
|
||||
|
||||
2026-09-01 Markdown 预览排查进度:
|
||||
- 本机测试栈保持运行,未重启容器、未删除 Docker 卷。
|
||||
- Nextcloud 34.0.3,Text 8.0.0 与 Viewer 7.0.0 已启用;files:scan 对 Readme.md 无错误。
|
||||
- Apache 日志显示 /apps/text/session/*/create、sync、push、save 均返回 200;没有对应的 Text/Viewer 服务端异常。
|
||||
- 原有登录会话在 Firefox 标签页中持续显示 Viewer 转圈并每 5 秒重复 sync。
|
||||
- 临时创建 previewprobe 账号,在全新会话打开同一 Documents/Readme.md 后正文正常显示,确认服务端、Text 应用和 Markdown 文件均可工作,问题限定为原浏览器会话的缓存/旧前端状态或浏览器实例状态。
|
||||
- 曾临时停用 firstrunwizard 与 related_resources 做隔离测试,仍转圈;已恢复这两个应用。
|
||||
- 未安装 Markdown Editor,也不需要安装;Nextcloud Text 已包含 Markdown 查看/编辑能力。
|
||||
下一步:用户在原浏览器关闭卡住的文件标签并重新打开 Nextcloud,优先使用 Ctrl+F5;若仍卡,使用同一地址的新隐私窗口/新浏览器会话验证。不要先改数据库或安装额外 Markdown 插件。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 04:12:32 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/checkpoint-2026-09-01-04-12-32-utc
|
||||
stable_id: 5d24c4a5-ef20-4550-a254-39d0de2cde56
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 4fda00fa7d781116dddb1f9c05425a92bdd55269
|
||||
created_at: '2026-09-01T04:12:32.550991+00:00'
|
||||
updated_at: '2026-09-01T04:12:32.550991+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
已完成本机 Nextcloud Markdown 预览排查:后端 Text/Viewer 和文件内容正常,原登录会话卡住而全新会话可正常显示;已恢复隔离测试期间停用的附加应用;未安装 Markdown Editor。
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 07:03:16 UTC [4963bf5c95]
|
||||
type: checkpoint
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/checkpoint-2026-09-01-07-03-16-utc-4963bf5c95
|
||||
stable_id: 823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 20260901-nextcloud-sharing-preview-02
|
||||
created_at: '2026-09-01T07:03:16.697323+00:00'
|
||||
updated_at: '2026-09-01T07:03:16.697323+00:00'
|
||||
tags:
|
||||
- nextcloud
|
||||
- sharing
|
||||
- preview
|
||||
- deployment
|
||||
---
|
||||
|
||||
2026-09-01 共享界面与缩略图配置完成:
|
||||
- 识别红框竖线为 Nextcloud 文件侧边栏顶部的文件预览缩略图背景图,来源是 /core/preview,不是 ONLYOFFICE 控件;异常 XLSX 缩略图只显示一条线。
|
||||
- 当前本机测试栈已直接配置(未重启容器、未删除卷):enable_previews=false;core.shareapi_enabled=yes;core.shareapi_allow_links=yes;core.shareapi_allow_group_sharing=no;core.shareapi_allow_resharing=no;core.shareapi_allow_share_dialog_user_enumeration=no。
|
||||
- 部署脚本 deploy.py 已加入同样默认配置;README 和 TROUBLESHOOTING 已记录行为与限制。
|
||||
- Nextcloud 34 原生没有仅禁用“用户对用户直接内部共享”而保留公开链接的开关;关闭群组共享不等于关闭个人用户直连共享。若必须后端彻底禁止,需要定制扩展。
|
||||
- 验证:python -m py_compile deploy.py manage.py;docker compose config --quiet;所有 five nextoffice containers remain up/healthy;occ status installed=true、maintenance=false;配置值读取正确。
|
||||
下一步/交接:用户刷新或重新打开 Nextcloud 文件页查看缩略图区域;若希望保留图片/PDF缩略图而只隐藏侧边栏图片,需要另做主题CSS或定制应用,不要修改 Nextcloud 核心文件。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 07:03:34 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/checkpoint-2026-09-01-07-03-34-utc
|
||||
stable_id: 2cc7d280-fac0-4e02-8c20-611056085680
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 3a434cfffe8cae85896894250dc36236638d144e
|
||||
created_at: '2026-09-01T07:03:34.244847+00:00'
|
||||
updated_at: '2026-09-01T07:03:34.244847+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
共享界面与缩略图配置已完成:红框竖线确认是 /core/preview 生成的文件缩略图;本机测试栈关闭预览并保留公开链接,关闭群组共享、再次共享和账号自动补全;部署脚本与文档同步更新;容器健康,静态检查通过。
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: DocSpace Community 与 Nextcloud 组合的生产定位
|
||||
type: experience
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/doc-space-community-与-nextcloud-组合的生产定位
|
||||
stable_id: 8893af30-4d3f-4863-a115-fae6bcbcce4d
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 20260831-docspace-community-production-fact-001
|
||||
created_at: '2026-08-31T10:20:41.810309+00:00'
|
||||
updated_at: '2026-08-31T10:20:41.810309+00:00'
|
||||
tags:
|
||||
- onlyoffice
|
||||
- docspace
|
||||
- nextcloud
|
||||
- 生产部署
|
||||
- 选型
|
||||
---
|
||||
|
||||
截至2026-08-31,ONLYOFFICE官方 DocSpace-buildtools 的 community Docker README 明确标注该部署为开发/测试构建,不用于生产;正式本地生产部署指向付费 DocSpace Enterprise。Community轻量构建仍包含DocSpace、Document Server、MySQL、OpenSearch四个容器,最低要求8GB RAM、40GB SSD、2GB swap,并且没有缩略图生成。相比之下,Nextcloud Community + ONLYOFFICE Docs Community虽需连接器和多组件配置,但两者均有面向社区生产使用的稳定部署路径,更适合免费内网正式使用。来源:https://github.com/ONLYOFFICE/DocSpace-buildtools/tree/master/install/docker/community 和 https://github.com/ONLYOFFICE/DocSpace
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Nextcloud Markdown 转圈排查结论
|
||||
type: experience
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/nextcloud-markdown-转圈排查结论
|
||||
stable_id: 8a5ee2cc-3277-4b4b-8e85-a2bba3aa2c7c
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 635af0244f6635137df99d38e6fb69b754010e6d
|
||||
created_at: '2026-09-01T04:12:31.107683+00:00'
|
||||
updated_at: '2026-09-01T04:12:31.107683+00:00'
|
||||
---
|
||||
|
||||
Nextcloud 34.0.3 的 Text/Viewer 后端接口返回正常且全新会话可以显示同一 Markdown 文件时,持续转圈通常限定为原浏览器会话的缓存或旧前端状态;先关闭卡住标签、Ctrl+F5 或新隐私窗口验证,不要先安装 Markdown Editor。
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Nextcloud共享与预览默认策略
|
||||
type: decision
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/nextcloud-共享与预览默认策略
|
||||
stable_id: adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
scope: project
|
||||
memory_type: decision
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 17aa65dc5ef12952931f24f4c413088a630cfc62
|
||||
created_at: '2026-09-01T07:03:32.750721+00:00'
|
||||
updated_at: '2026-09-01T07:03:32.750721+00:00'
|
||||
---
|
||||
|
||||
NextOffice 默认关闭服务器端文件预览,保留公开链接共享,关闭群组共享、再次共享和共享账号自动补全。Nextcloud 34 没有仅关闭用户对用户直接共享而保留公开链接的原生开关。
|
||||
+99
@@ -0,0 +1,99 @@
|
||||
---
|
||||
title: N1 and internal services – 开发任务清单
|
||||
type: curated
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/curated/n1-and-internal-services-开发任务清单
|
||||
stable_id: 39318e9b-e74c-4afb-a3fc-1d073a990426
|
||||
scope: project
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: tasks
|
||||
revision: 4
|
||||
source_memory_ids:
|
||||
- adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
source_checkpoint_ids:
|
||||
- 2cc7d280-fac0-4e02-8c20-611056085680
|
||||
- 823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- 20260901-nextcloud-sharing-preview-curation-02
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 20
|
||||
source_revisions:
|
||||
memory:df16d81d-6f3d-4093-b501-5270c9881af1: '5'
|
||||
memory:adb1db1a-38ca-4694-bae2-15e3f8d03513: '1'
|
||||
memory:8893af30-4d3f-4863-a115-fae6bcbcce4d: '1'
|
||||
source_dispositions:
|
||||
processed: 20
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:39318e9b-e74c-4afb-a3fc-1d073a990426
|
||||
- global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- memory:adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
- memory:8893af30-4d3f-4863-a115-fae6bcbcce4d
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- project:1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
- memory:df16d81d-6f3d-4093-b501-5270c9881af1
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:39318e9b-e74c-4afb-a3fc-1d073a990426
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 261
|
||||
source_hash: 3bb8ec659b6ad30b8272ce98ce9393dde107101b73263fc0dc95e414ec207909
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: f65a7494-c13e-488d-b1b5-20ea3b1005ca
|
||||
created_at: '2026-08-31T10:16:25.174093+00:00'
|
||||
updated_at: '2026-09-01T07:19:22.272248+00:00'
|
||||
tags:
|
||||
- development
|
||||
- N1
|
||||
- 任务
|
||||
---
|
||||
|
||||
# 开发任务清单 – N1 与内部服务
|
||||
|
||||
## 任务 1:环境准备
|
||||
1. 在 Windows 主机上启用 WSL2 并安装 Docker Desktop,代理模式设为 **Manual**,指向 `http://127.0.0.1:7897`(参考 `global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e`)。
|
||||
2. 在 `docker-compose.yml` 中将 ONLYOFFICE Docs 端口映射至 `0.0.0.0`,容器内部可通过 `host.docker.internal` 访问宿主服务。
|
||||
|
||||
## 任务 2:文件存储与分享功能选型
|
||||
- 评估 DocSpace Community 与 Nextcloud Community + ONLYOFFICE Docs 的可行性。
|
||||
- 记录评估结果于 `aidocs/project_context.md`,提交 `feat: 评估文件平台方案`。
|
||||
- 结论:**Nextcloud + ONLYOFFICE Docs** 更适合作为免费正式内网使用(来源 `memory:adb1db1a-38ca-4694-bae2-15e3f8d03513`、`memory:8893af30-4d3f-4863-a115-fae6bcbcce4d`)。
|
||||
|
||||
## 任务 3:ONLYOFFICE Docs 部署
|
||||
1. 拉取官方 Docker 镜像 `onlyoffice/documentserver`,验证代理配置。
|
||||
2. 编写 `docker-compose.yaml`,确保文件存储目录映射到宿主持久卷。
|
||||
3. 配置编辑链接与共享链接,使其在离线网络中可达。
|
||||
4. 将部署步骤、配置文件、验证方式记录在 `aidocs/project_context.md`,提交 `feat: 部署 ONLYOFFICE Docs`。
|
||||
|
||||
## 任务 4:Excel 协作功能实现
|
||||
- 实现 **创建/上传 XLSX** 页面,集成 ONLYOFFICE 前端插件进行编辑。
|
||||
- 实现 **生成共享链接** 并展示可复制的 URL。
|
||||
- 实现 **编辑权限控制**:仅受邀同事可编辑,其他仅查看/下载。
|
||||
- 实现 **Sheet 保护**:通过 ONLYOFFICE API 设置工作表只读或密码保护。
|
||||
- 完成后在 `aidocs/project_context.md` 撰写完整的 *做了什么、为何、验证方式、遇到的问题、后续计划*,提交 `feat: 基础 Excel 协作功能`。
|
||||
|
||||
## 任务 5:凭证与安全检查
|
||||
- 在任何需要登录 ONLYOFFICE 或内部存储的环节,遵循 “先查询 Vaultwarden” 规则(`global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`)。
|
||||
- 将新生成的服务账户密码写入密码库,记忆仅记录条目名称与用途,提交 `chore: 更新凭证记录`。
|
||||
|
||||
## 任务 6:清理与交付
|
||||
1. 删除调试日志、临时文件、未使用的容器镜像。
|
||||
2. 确认 `aidocs/` 已在 `.gitignore` 中,记忆文件未被提交。
|
||||
3. 使用 `type: 中文一句话描述` 的提交信息格式完成最后一次 commit。
|
||||
4. 如需推送至远程仓库,需明确请求 `push`(默认仅 commit)。
|
||||
|
||||
> 所有任务遵循 **KISS、YAGNI、复用已有框架** 的开发实施原则,使用 **中文** 进行交流记录,并在 **Vaultwarden** 中统一管理凭证。
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
---
|
||||
title: N1 and internal services – 项目概览
|
||||
type: curated
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/curated/n1-and-internal-services-项目概览
|
||||
stable_id: 72a19b08-7c59-4ff1-8c13-880ebf29098e
|
||||
scope: project
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: overview
|
||||
revision: 2
|
||||
source_memory_ids:
|
||||
- 8893af30-4d3f-4863-a115-fae6bcbcce4d
|
||||
- df16d81d-6f3d-4093-b501-5270c9881af1
|
||||
source_checkpoint_ids:
|
||||
- adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids: []
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 17
|
||||
source_revisions:
|
||||
memory:df16d81d-6f3d-4093-b501-5270c9881af1: '5'
|
||||
memory:adb1db1a-38ca-4694-bae2-15e3f8d03513: '1'
|
||||
source_dispositions:
|
||||
processed: 17
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
- project:1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
- memory:df16d81d-6f3d-4093-b501-5270c9881af1
|
||||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
job_cited_source_ids:
|
||||
- memory:adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270
|
||||
- global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 日常交流使用中文
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 遵循 KISS 与 YAGNI,采用最简且正确的实现
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 优先复用项目已有的框架、服务和工具,避免重复实现
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 登录、SSH、数据库或 API 调用前先在 Vaultwarden 搜索,唯一匹配直接使用;新凭证必须立即写入密码库,仅记录名称、用途、使用方式
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 项目记忆保存在 aidocs/project_context.md,采用固定标题后最新优先、秒级时间戳追加,文件夹已加入 .gitignore,永不提交
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 226
|
||||
source_hash: 5fa858af2f0788cfb44db9dd226d9485be9db0659f5511c2b311625b2bf383d3
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 70310ae3-880f-4b60-a8a6-e5f48dd0b421
|
||||
created_at: '2026-08-31T10:16:23.243060+00:00'
|
||||
updated_at: '2026-08-31T10:37:16.960548+00:00'
|
||||
tags:
|
||||
- overview
|
||||
- development
|
||||
- N1
|
||||
- internal services
|
||||
---
|
||||
|
||||
# 项目概览 – N1 与内部服务
|
||||
|
||||
本工作空间 **N1 and internal services** 为 **development** 类型,目标是在公司完全离线的 x64 内网机器上部署在线 Excel 协作服务。
|
||||
|
||||
## 业务目标
|
||||
- 支持 **创建/上传 XLSX**、在线编辑、生成共享链接。
|
||||
- 同事可共同编辑、受控下载、对 Sheet 进行保护。
|
||||
- 必须自带文件存储、分享链接、权限和版本管理,避免自行开发网盘或文件门户。
|
||||
- 评估 **内置 DocSpace** 与 **成熟文件平台(如 Nextcloud)** 与 ONLYOFFICE Docs 组合的可行性,倾向轻量实现。
|
||||
|
||||
## 关键结论(来源 `memory:adb1db1a-38ca-4694-bae2-15e3f8d03513`)
|
||||
- 官方 **DocSpace Community** Docker 方案仅用于开发/测试,不适合作为正式生产。
|
||||
- 生产版需付费 **DocSpace Enterprise**。
|
||||
- **Nextcloud Community + ONLYOFFICE Docs Community** 配置更复杂,但拥有稳定的社区生产路径、官方连接器、公开分享/编辑和版本管理,适合作为免费正式内网使用。
|
||||
- ONLYOFFICE Docs Community 的移动网页编辑器和管理面板不可用;并发授权数需根据实际选定版本重新核验。
|
||||
|
||||
## 约束与原则(来源 `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`)
|
||||
- **KISS 与 YAGNI**:采用最简且正确的实现,不添加仅为假设未来需求的抽象或依赖。
|
||||
- **复用已有框架**:优先使用项目已有的服务、工具和约定,避免重复实现。
|
||||
- **协作语言**:日常交流使用中文(`global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7`)。
|
||||
- **凭证边界**:所有登录、SSH、数据库或 API 调用前先在 Vaultwarden 搜索,唯一匹配直接使用;新产生的密码、Token、API‑Key、TOTP 种子立即写入密码库,记忆仅记录名称、用途、使用方式(`global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`)。
|
||||
- **项目记忆管理**:笔记保存在 `aidocs/project_context.md`,采用固定标题后 **最新优先、秒级时间戳** 追加,文件夹已加入 `.gitignore`,永不提交(`global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e`)。
|
||||
|
||||
## 参考全局文档
|
||||
- 开发上下文与环境:`global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e`
|
||||
- 全局偏好与原则:`global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270`
|
||||
- 开发工作流:`global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0`
|
||||
|
||||
> 本概览遵循全部已公布的全局指导原则,并在项目层面作适配。
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: 决策记录 – N1 与内部服务
|
||||
type: curated
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/curated/决策记录-n1-与内部服务
|
||||
stable_id: 340aa3f3-c1a2-4591-8896-343c6bf053cb
|
||||
scope: project
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: decisions
|
||||
revision: 1
|
||||
source_memory_ids:
|
||||
- adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
source_checkpoint_ids:
|
||||
- 2cc7d280-fac0-4e02-8c20-611056085680
|
||||
- 823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- 20260901-nextcloud-sharing-preview-curation-02
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 20
|
||||
source_revisions:
|
||||
memory:adc3c68b-24c1-4ef6-8331-d24ae43407a7: '1'
|
||||
source_dispositions:
|
||||
processed: 20
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
job_cited_source_ids:
|
||||
- memory:adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 261
|
||||
source_hash: 3bb8ec659b6ad30b8272ce98ce9393dde107101b73263fc0dc95e414ec207909
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: f65a7494-c13e-488d-b1b5-20ea3b1005ca
|
||||
created_at: '2026-09-01T07:19:23.829640+00:00'
|
||||
updated_at: '2026-09-01T07:19:23.830187+00:00'
|
||||
tags:
|
||||
- development
|
||||
- N1
|
||||
- 决策
|
||||
---
|
||||
|
||||
# 决策记录 – N1 与内部服务
|
||||
|
||||
## 决策 1:Nextcloud 共享与预览默认策略
|
||||
**决定内容**:
|
||||
- 在 NextOffice(基于 Nextcloud)中默认关闭服务器端文件预览,保留公开链接共享。
|
||||
- 关闭群组共享、再次共享以及共享账号自动补全。
|
||||
- 这一策略符合项目对安全与简化的需求,并在 Nextcloud 34 中没有原生开关可以仅关闭用户对用户直接共享而保留公开链接。
|
||||
|
||||
**来源**:`memory:adc3c68b-24c1-4ef6-8331-d24ae43407a7`
|
||||
|
||||
**影响**:部署脚本 `deploy.py` 已同步更新相应配置,容器保持健康,静态检查通过。后续如需细粒度控制(例如仅隐藏侧边栏图片),需通过主题 CSS 或自定义应用实现。
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: 当前状态 – N1 与内部服务
|
||||
type: curated
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/curated/当前状态-n1-与内部服务
|
||||
stable_id: 262336ad-d5c1-4563-96ed-635d9f5c9f61
|
||||
scope: project
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: current_state
|
||||
revision: 3
|
||||
source_memory_ids:
|
||||
- adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
source_checkpoint_ids:
|
||||
- 2cc7d280-fac0-4e02-8c20-611056085680
|
||||
- 823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- 20260901-nextcloud-sharing-preview-curation-02
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 20
|
||||
source_revisions:
|
||||
memory:df16d81d-6f3d-4093-b501-5270c9881af1: '6'
|
||||
memory:adb1db1a-38ca-4694-bae2-15e3f8d03513: '1'
|
||||
memory:8893af30-4d3f-4863-a115-fae6bcbcce4d: '1'
|
||||
memory:823c82fa-6cfd-47fe-87f7-3f302d22b61e: '1'
|
||||
memory:2cc7d280-fac0-4e02-8c20-611056085680: '1'
|
||||
source_dispositions:
|
||||
processed: 20
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:262336ad-d5c1-4563-96ed-635d9f5c9f61
|
||||
- memory:823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
- memory:2cc7d280-fac0-4e02-8c20-611056085680
|
||||
- memory:df16d81d-6f3d-4093-b501-5270c9881af1
|
||||
- memory:adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
- memory:8893af30-4d3f-4863-a115-fae6bcbcce4d
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:262336ad-d5c1-4563-96ed-635d9f5c9f61
|
||||
- memory:823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
- memory:2cc7d280-fac0-4e02-8c20-611056085680
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 261
|
||||
source_hash: 3bb8ec659b6ad30b8272ce98ce9393dde107101b73263fc0dc95e414ec207909
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: f65a7494-c13e-488d-b1b5-20ea3b1005ca
|
||||
created_at: '2026-08-31T10:37:26.576563+00:00'
|
||||
updated_at: '2026-09-01T07:19:18.603521+00:00'
|
||||
tags:
|
||||
- development
|
||||
- N1
|
||||
- 内部服务
|
||||
---
|
||||
|
||||
# 当前状态 – N1 与内部服务
|
||||
|
||||
- **需求** 已在 `memory:df16d81d-6f3d-4093-b501-5270c9881af1` 中完整定义(此处不再重复)。
|
||||
- **选型结论**:
|
||||
- DocSpace Community 仅适用于开发/测试,正式生产需付费 Enterprise(`memory:adb1db1a-38ca-4694-bae2-15e3f8d03513`)。
|
||||
- Nextcloud Community + ONLYOFFICE Docs Community 能满足免费正式内网需求(`memory:8893af30-4d3f-4863-a115-fae6bcbcce4d`)。
|
||||
- **已完成**:需求文档、选型核对、任务清单及项目概览已发布;环境准备(WSL2 + Docker Desktop,代理配置)已在任务列表中标记,实际执行待用户确认服务器规格后继续。
|
||||
- **待办**:
|
||||
1. 收集目标服务器的 OS、CPU、RAM、磁盘、内网域名及并发预估。
|
||||
2. 编写并部署 Nextcloud + ONLYOFFICE 的 Docker‑Compose。
|
||||
3. 实现 Excel 协作前端页面及共享链接、编辑权限、Sheet 保护等功能。
|
||||
4. 按 *凭证边界* 规则在 Vaultwarden 中创建/更新服务账号凭证。
|
||||
5. 完成后执行清理、记忆更新并提交交付。
|
||||
|
||||
> 所有工作遵循全局开发原则(KISS、YAGNI、复用框架),使用中文交流,并在 `aidocs/project_context.md` 中记录每一步的 **做了什么、为何、验证方式、遇到的问题、后续计划**。
|
||||
|
||||
## 关联检查点
|
||||
|
||||
- **Checkpoint 2026-09-01 07:03:16** (`memory:823c82fa-6cfd-47fe-87f7-3f302d22b61e`): 完成共享界面与缩略图配置,关闭服务器端文件预览 (`enable_previews=false`),保留公开链接共享,关闭群组共享与二次共享等。
|
||||
- **Checkpoint 2026-09-01 07:03:34** (`memory:2cc7d280-fac0-4e02-8c20-611056085680`): 同上检查点的后续确认,容器健康,静态检查通过,部署脚本与文档同步更新。
|
||||
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: 项目时间线 – N1 与内部服务
|
||||
type: curated
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/curated/项目时间线-n1-与内部服务
|
||||
stable_id: 3ea4f529-207f-4d9f-af33-2afe45610d9e
|
||||
scope: project
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: timeline
|
||||
revision: 3
|
||||
source_memory_ids:
|
||||
- adc3c68b-24c1-4ef6-8331-d24ae43407a7
|
||||
source_checkpoint_ids:
|
||||
- 2cc7d280-fac0-4e02-8c20-611056085680
|
||||
- 823c82fa-6cfd-47fe-87f7-3f302d22b61e
|
||||
source_file_ids: []
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- 20260901-nextcloud-sharing-preview-curation-02
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-120b
|
||||
source_count: 20
|
||||
source_revisions:
|
||||
memory:df16d81d-6f3d-4093-b501-5270c9881af1: '6'
|
||||
memory:8893af30-4d3f-4863-a115-fae6bcbcce4d: '1'
|
||||
memory:adb1db1a-38ca-4694-bae2-15e3f8d03513: '1'
|
||||
source_dispositions:
|
||||
processed: 20
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- curated_baseline:3ea4f529-207f-4d9f-af33-2afe45610d9e
|
||||
- memory:df16d81d-6f3d-4093-b501-5270c9881af1
|
||||
- memory:8893af30-4d3f-4863-a115-fae6bcbcce4d
|
||||
- memory:adb1db1a-38ca-4694-bae2-15e3f8d03513
|
||||
- curated_baseline:39318e9b-e74c-4afb-a3fc-1d073a990426
|
||||
- curated_baseline:72a19b08-7c59-4ff1-8c13-880ebf29098e
|
||||
job_cited_source_ids:
|
||||
- curated_baseline:3ea4f529-207f-4d9f-af33-2afe45610d9e
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 261
|
||||
source_hash: 3bb8ec659b6ad30b8272ce98ce9393dde107101b73263fc0dc95e414ec207909
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: f65a7494-c13e-488d-b1b5-20ea3b1005ca
|
||||
created_at: '2026-08-31T10:37:23.038562+00:00'
|
||||
updated_at: '2026-09-01T07:19:20.088775+00:00'
|
||||
tags:
|
||||
- development
|
||||
- N1
|
||||
- 时间线
|
||||
---
|
||||
|
||||
# 项目时间线 – N1 与内部服务
|
||||
|
||||
| 日期 & 时间 (UTC) | 里程碑 / 事件 | 说明 | 相关来源 |
|
||||
|-------------------|---------------|------|----------|
|
||||
| 2026-08-31 10:15:31 | 需求确认 | 完成《内网协作表格部署目标》需求文档,明确离线、x64、上传/创建XLSX、共享链接、下载控制、Sheet 保护等功能。 | `memory:df16d81d-6f3d-4093-b501-5270c9881af1` |
|
||||
| 2026-08-31 10:20:41 | 选型经验记录 | 发布《DocSpace Community 与 Nextcloud 组合的生产定位》,说明 DocSpace Community 仅用于开发/测试,推荐 Nextcloud + ONLYOFFICE Docs 组合用于免费正式内网。 | `memory:8893af30-4d3f-4863-a115-fae6bcbcce4d` |
|
||||
| 2026-08-31 10:21:14 | 选型检查点 | 完成内网在线 Excel 协作产品初步选型核对,确认结论并要求用户提供服务器规格以生成离线部署包。 | `memory:adb1db1a-38ca-4694-bae2-15e3f8d03513` |
|
||||
| 2026-08-31 10:22:00 (约) | 任务发布 | 基于选型结果发布开发任务清单(任务 1‑6),指引使用全局工作流和记忆规则。 | `curated_baseline:39318e9b-e74c-4afb-a3fc-1d073a990426` |
|
||||
| 2026-08-31 10:23:00 (约) | 概览发布 | 发布项目概览文档,梳理业务目标、关键约束与全局原则。 | `curated_baseline:72a19b08-7c59-4ff1-8c13-880ebf29098e` |
|
||||
|
||||
> 以上时间点基于系统记录的 UTC 时间戳,后续进度将在 `aidocs/project_context.md` 中持续更新。
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: 内网协作表格部署目标
|
||||
type: prd
|
||||
permalink: main/projects/1b3e6c9f-979b-417a-8162-275545cc4061/内网协作表格部署目标
|
||||
stable_id: df16d81d-6f3d-4093-b501-5270c9881af1
|
||||
scope: project
|
||||
memory_type: prd
|
||||
project_id: 1b3e6c9f-979b-417a-8162-275545cc4061
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 6
|
||||
request_id: 20260831-collab-sheet-prd-no-custom-portal-001
|
||||
created_at: '2026-08-31T09:45:01.342403+00:00'
|
||||
updated_at: '2026-08-31T10:15:29.854048+00:00'
|
||||
tags:
|
||||
- onlyoffice
|
||||
- 内网
|
||||
- 离线部署
|
||||
- Nextcloud
|
||||
- DocSpace
|
||||
- 产品选型
|
||||
---
|
||||
|
||||
在公司完全离线的 x64 内网机器上部署在线 Excel 协作服务。流程包括创建/上传 XLSX、在线编辑、生成共享地址、同事共同编辑、下载控制及 Sheet 保护。用户不希望自行开发网盘或文件门户,因此产品组合必须自带文件存储、分享链接、权限和版本能力。可接受评估内置文档空间或成熟文件平台与 ONLYOFFICE Docs 的组合,但希望尽量轻量。
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: CC Switch 切换中转站后 Codex 旧会话报 provider not found
|
||||
type: experience
|
||||
permalink: main/projects/211ab78b-753e-4017-8533-79ae2c92d218/cc-switch-切换中转站后-codex-旧会话报-provider-not-found
|
||||
stable_id: c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 211ab78b-753e-4017-8533-79ae2c92d218
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: codex-ccswitch-provider-repair-experience-20260908-1138
|
||||
created_at: '2026-09-08T03:34:51.144053+00:00'
|
||||
updated_at: '2026-09-08T03:34:51.144053+00:00'
|
||||
tags:
|
||||
- codex
|
||||
- cc-switch
|
||||
- config.toml
|
||||
- model-provider
|
||||
- troubleshooting
|
||||
---
|
||||
|
||||
现象:Codex App 打开任意旧会话提示无法加载 config.toml,错误为历史会话引用的 model provider 不存在;切回 AICodings 正常。根因:旧会话及 state_5.sqlite/local_thread_catalog 持久化为 `aicodings-codex`,而其他 CC Switch 中转站只写入 `model_provider = "custom"` 和 `[model_providers.custom]`。config.toml 的 TOML 语法本身正常。修复:关闭 Codex/CC Switch,先完整备份;把活动及归档 JSONL 中结构化字段 `model_provider`/`model_provider_id` 从旧 ID 迁移为 `custom`,同步更新 `state_5.sqlite.threads.model_provider` 和 `sqlite/codex-dev.db.local_thread_catalog.model_provider`;把 AICodings 的 CC Switch 模板顶层 provider 也改为 `custom`;启用 `unifyCodexSessionHistory`。验证需检查所有历史 JSONL 可解析、SQLite integrity_check=ok、会话/目录库 provider 全为 custom、当前 config 的 provider 在 model_providers 中存在,并用 Codex CLI加载配置。不要仅添加临时 alias,因为 CC Switch 下次切换会重写 config.toml。
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-08 03:34:51 UTC [13864097d3]
|
||||
type: checkpoint
|
||||
permalink: main/projects/211ab78b-753e-4017-8533-79ae2c92d218/checkpoint-2026-09-08-03-34-51-utc-13864097d3
|
||||
stable_id: 726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 211ab78b-753e-4017-8533-79ae2c92d218
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: codex-ccswitch-provider-repair-checkpoint-20260908-1138
|
||||
created_at: '2026-09-08T03:34:52.895720+00:00'
|
||||
updated_at: '2026-09-08T03:34:52.895720+00:00'
|
||||
tags:
|
||||
- completed
|
||||
- codex
|
||||
- cc-switch
|
||||
- provider-repair
|
||||
---
|
||||
|
||||
已完成 CC Switch 切换中转站后 Codex App 旧会话无法加载的修复。
|
||||
|
||||
完成内容:
|
||||
- 确认根因不是 config.toml 语法,而是 126 条会话引用 `aicodings-codex`,当前 SoleAPI/其他模板仅定义 `custom`。
|
||||
- 关闭 Codex App 与 CC Switch 后创建完整备份:`C:\Users\Administrator\.codex\backups_state\manual-provider-repair\20260908-113145`。
|
||||
- 迁移 131 个活动/归档会话文件中的 3676 个 provider 引用为 `custom`。
|
||||
- 更新 `state_5.sqlite` 126 行、`sqlite/codex-dev.db` 40 行线程目录记录为 `custom`。
|
||||
- 修正 CC Switch 数据库中 AICodings 模板的顶层 provider 为 `custom`;四个中转站模板现均为 `custom`。
|
||||
- 启用 `unifyCodexSessionHistory=true`,避免以后官方/第三方桶再次分裂。
|
||||
- 修复一条修复前已存在的归档 JSONL 断裂行;原始内容仍在上述备份。
|
||||
|
||||
验证结果:
|
||||
- 132 个 JSONL、453547 行全部能解析,旧 provider 结构化引用为 0。
|
||||
- 两个 SQLite 库 integrity_check 均为 ok;会话库 126 条和目录库 40 条均为 custom。
|
||||
- 当前 config.toml 为 custom 且定义存在;Codex CLI 可正常加载。
|
||||
- 重启 CC Switch 后设置与数据库未回退;已启动 Codex App 并打开旧会话 `019f8e23-a65b-7d03-92d3-05fb19dd6602`。
|
||||
|
||||
下一步:用户可直接在已打开的 Codex App 中确认旧会话页面;以后通过 CC Switch 切换任意现有第三方中转站时,模板 provider 都保持 custom。若新增供应商,确保顶层 model_provider 与对应 `[model_providers.<id>]` 一致。
|
||||
|
||||
给下个会话:不要恢复旧 `aicodings-codex` 标识;需要回滚时使用上述手工备份,回滚前必须关闭 Codex 与 CC Switch。无需 Git 操作,此任务修改的是用户级应用配置与本地会话库。
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-08 03:35:34 UTC
|
||||
type: checkpoint
|
||||
permalink: main/projects/211ab78b-753e-4017-8533-79ae2c92d218/checkpoint-2026-09-08-03-35-34-utc
|
||||
stable_id: 5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 211ab78b-753e-4017-8533-79ae2c92d218
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 798c44f912ba30fb0c52773bcb0c8b91eeb316bf
|
||||
created_at: '2026-09-08T03:35:34.047462+00:00'
|
||||
updated_at: '2026-09-08T03:35:34.047462+00:00'
|
||||
tags:
|
||||
- source-submit
|
||||
---
|
||||
|
||||
修复已完成并验证:132 个 JSONL 全部可解析,两个 SQLite integrity_check=ok,126 条会话及 40 条目录索引均为 custom,四个中转站模板均为 custom,Codex/CC Switch 已重启且旧会话已打开。完整检查点 ID:726c136f-18b5-4373-ac30-517c2d2ec063;可复用经验记忆 ID:c14af6ad-2409-4223-a0d2-19de3201ae3d。
|
||||
@@ -0,0 +1,98 @@
|
||||
---
|
||||
title: 当前 Codex 与 CC Switch 状态
|
||||
type: curated
|
||||
permalink: main/projects/211ab78b-753e-4017-8533-79ae2c92d218/curated/当前-codex-与-cc-switch-状态
|
||||
stable_id: 60569bf2-0bd7-46f8-93f5-a869d36a9703
|
||||
scope: project
|
||||
project_id: 211ab78b-753e-4017-8533-79ae2c92d218
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: current_state
|
||||
revision: 1
|
||||
source_memory_ids:
|
||||
- c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
source_checkpoint_ids:
|
||||
- 5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- 726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
source_file_ids:
|
||||
- ccswitch-provider-db
|
||||
- ccswitch-settings
|
||||
- codex-archived-jsonl
|
||||
- codex-catalog-db
|
||||
- codex-session-jsonl
|
||||
- codex-state-db
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- codex-ccswitch-provider-repair-curation-20260908-1139-v2
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 23
|
||||
source_revisions:
|
||||
memory:726c136f-18b5-4373-ac30-517c2d2ec063: '1'
|
||||
memory:5843fec9-e8aa-46d3-b3fc-3b013428db31: '1'
|
||||
memory:c14af6ad-2409-4223-a0d2-19de3201ae3d: '1'
|
||||
source_dispositions:
|
||||
processed: 23
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
- memory:5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- memory:c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
job_cited_source_ids:
|
||||
- memory:726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
- memory:5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- memory:c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 默认使用中文交流
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 开发记忆统一使用 MemRelay
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 389
|
||||
source_hash: 08eee49b05f53bb6dd60ce2965351dc48460a3458d2014075db67c30f39ddc97
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: e16be6d6-2084-4ddd-9751-2115ee9dfb01
|
||||
created_at: '2026-09-08T03:52:59.340760+00:00'
|
||||
updated_at: '2026-09-08T03:52:59.341268+00:00'
|
||||
tags:
|
||||
- development
|
||||
---
|
||||
|
||||
```markdown
|
||||
# 当前 Codex 与 CC Switch 状态
|
||||
|
||||
- **Provider 状态**:所有会话(JSONL、SQLite、state_5.sqlite、codex‑dev.db)中的 `model_provider`/`model_provider_id` 均已统一为 `custom`。
|
||||
- **CC Switch 配置**:AICodings 模板及四个中转站模板的顶层 provider 均为 `custom`,`ccswitch-settings` 中 `unifyCodexSessionHistory=true` 已启用。
|
||||
- **Codex App**:已重启并成功加载旧会话 `019f8e23‑a65b‑7d03‑92d3‑05fb19dd6602`,无 `provider not found` 错误。
|
||||
- **数据库完整性**:两 SQLite 实例的 `integrity_check` 均为 `ok`,JSONL 解析无异常。
|
||||
- **备份可用**:手动备份目录 `C:\\Users\\Administrator\\.codex\\backups_state\\manual-provider-repair\\20260908‑113145` 已保存。
|
||||
|
||||
> 处于此状态下,用户可直接在 Codex App 打开旧会话进行操作,并在后续通过 CC Switch 切换任意中转站时保持 provider 为 `custom`。
|
||||
|
||||
```
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: 待完成任务
|
||||
type: curated
|
||||
permalink: main/projects/211ab78b-753e-4017-8533-79ae2c92d218/curated/待完成任务
|
||||
stable_id: 5340cee1-54f2-4f60-aee9-e812cfae796e
|
||||
scope: project
|
||||
project_id: 211ab78b-753e-4017-8533-79ae2c92d218
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: tasks
|
||||
revision: 1
|
||||
source_memory_ids:
|
||||
- c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
source_checkpoint_ids:
|
||||
- 5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- 726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
source_file_ids:
|
||||
- ccswitch-provider-db
|
||||
- ccswitch-settings
|
||||
- codex-archived-jsonl
|
||||
- codex-catalog-db
|
||||
- codex-session-jsonl
|
||||
- codex-state-db
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- codex-ccswitch-provider-repair-curation-20260908-1139-v2
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 23
|
||||
source_revisions: {}
|
||||
source_dispositions:
|
||||
processed: 23
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids: []
|
||||
job_cited_source_ids: []
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 默认使用中文交流
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 开发记忆统一使用 MemRelay
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 389
|
||||
source_hash: 08eee49b05f53bb6dd60ce2965351dc48460a3458d2014075db67c30f39ddc97
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: e16be6d6-2084-4ddd-9751-2115ee9dfb01
|
||||
created_at: '2026-09-08T03:53:01.508971+00:00'
|
||||
updated_at: '2026-09-08T03:53:01.509432+00:00'
|
||||
tags:
|
||||
- development
|
||||
---
|
||||
|
||||
```markdown
|
||||
# 待完成任务
|
||||
|
||||
暂无已知未完成的任务。
|
||||
|
||||
> 任何后续需要在 Codex App 或 CC Switch 中新增供应商时,应确保顶层 `model_provider` 与 `[model_providers.<id>]` 对齐,并在重启前手动备份。
|
||||
|
||||
```
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
---
|
||||
title: 本机 Codex 与 CC Switch 配置修复时间线
|
||||
type: curated
|
||||
permalink: main/projects/211ab78b-753e-4017-8533-79ae2c92d218/curated/本机-codex-与-cc-switch-配置修复时间线
|
||||
stable_id: aa743760-7125-4ed3-9df3-45e831d9d74e
|
||||
scope: project
|
||||
project_id: 211ab78b-753e-4017-8533-79ae2c92d218
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: timeline
|
||||
revision: 1
|
||||
source_memory_ids:
|
||||
- c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
source_checkpoint_ids:
|
||||
- 5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- 726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
source_file_ids:
|
||||
- ccswitch-provider-db
|
||||
- ccswitch-settings
|
||||
- codex-archived-jsonl
|
||||
- codex-catalog-db
|
||||
- codex-session-jsonl
|
||||
- codex-state-db
|
||||
source_git_commit: null
|
||||
source_git_commits: []
|
||||
source_agent_sync_ids:
|
||||
- codex-ccswitch-provider-repair-curation-20260908-1139-v2
|
||||
model_connection: Sub2API
|
||||
model_name: openai/gpt-oss-20b
|
||||
source_count: 23
|
||||
source_revisions:
|
||||
memory:726c136f-18b5-4373-ac30-517c2d2ec063: '1'
|
||||
memory:5843fec9-e8aa-46d3-b3fc-3b013428db31: '1'
|
||||
memory:c14af6ad-2409-4223-a0d2-19de3201ae3d: '1'
|
||||
source_dispositions:
|
||||
processed: 23
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
- memory:5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- memory:c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
job_cited_source_ids:
|
||||
- memory:726c136f-18b5-4373-ac30-517c2d2ec063
|
||||
- memory:5843fec9-e8aa-46d3-b3fc-3b013428db31
|
||||
- memory:c14af6ad-2409-4223-a0d2-19de3201ae3d
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences:
|
||||
- statement: 默认使用中文交流
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
- statement: 开发记忆统一使用 MemRelay
|
||||
level: scenario
|
||||
workspace_types:
|
||||
- development
|
||||
workspace_ids: []
|
||||
source_ids:
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
counterexample_source_ids: []
|
||||
occurrence_count: 1
|
||||
explicit: true
|
||||
confidence: 1.0
|
||||
status: current
|
||||
source_cursor: 389
|
||||
source_hash: 08eee49b05f53bb6dd60ce2965351dc48460a3458d2014075db67c30f39ddc97
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: e16be6d6-2084-4ddd-9751-2115ee9dfb01
|
||||
created_at: '2026-09-08T03:52:57.955124+00:00'
|
||||
updated_at: '2026-09-08T03:52:57.956298+00:00'
|
||||
tags:
|
||||
- development
|
||||
---
|
||||
|
||||
```markdown
|
||||
# 本机 Codex 与 CC Switch 配置修复时间线
|
||||
|
||||
| 时间 | 事件 | 备注 |
|
||||
|---|---|---|
|
||||
| 2026‑09‑08 03:34:51 UTC | **确认根因**:旧 Codex 会话使用 `aicodings‑codex` provider,导致 `Codex App` 新会话无法解析已切换 CC Switch。
|
||||
| | 通过备份 `C:\\Users\\Administrator\\.codex\\backups_state\\manual-provider-repair\\20260908‑113145` 记录完整状态 | 见内存 726c136f ... |
|
||||
| 2026‑09‑08 03:34:51 UTC | **迁移 provider**:在 131 个活动/归档 JSONL 中,把 3676 条 `provider` 从 `aicodings‑codex` 迁移为 `custom`。 | 见内存 726c136f ... |
|
||||
| 2026‑09‑08 03:34:51 UTC | **更新 SQLite**:`state_5.sqlite` 126 行、`sqlite/codex‑dev.db` 40 行反映 `custom` | 见内存 726c136f ... |
|
||||
| 2026‑09‑08 03:34:51 UTC | **修正 CC Switch**:把 AICodings 模板顶层 provider 更新为 `custom`,四个中转站模板均设为 `custom` | 见内存 726c136f ... |
|
||||
| 2026‑09‑08 03:34:51 UTC | **启用 unifyCodexSessionHistory=true**,避免未来官方/第三方桶再次分裂 | 见内存 726c136f ... |
|
||||
| 2026‑09‑08 03:35:34 UTC | **验证**:132 个 JSONL 全部可解析;两 SQLite integrity_check 检查 ok;126 条会话及 40 条目录索引均为 `custom`;Codex CLI 可正常加载配置;CC Switch 重启后设置不回退,旧会话已打开 | 见内存 5843fec9 ...;引用经验 c14af6ad ... |
|
||||
|
||||
> 以上步骤完成之后,Codex App 与 CC Switch 均可正常复用旧会话,且不再出现 `provider not found` 错误。
|
||||
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: AoE3 DE 目标版本与修改入口
|
||||
type: fact
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/ao-e3-de-目标版本与修改入口
|
||||
stable_id: 9844879f-8dba-484e-b126-d0c18e33d42b
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3de-session-fact-20260831-01
|
||||
created_at: '2026-08-31T13:36:09.902057+00:00'
|
||||
updated_at: '2026-08-31T13:36:09.902057+00:00'
|
||||
tags:
|
||||
- aoe3de
|
||||
- modding
|
||||
- environment
|
||||
---
|
||||
|
||||
上一轮只读侦察确认:目标为 Age of Empires III: Definitive Edition,主程序版本 100.19.17293.0(构建 607117)。安装目录为 D:\Game\Age of Empires III Definitive Edition;核心数据位于 Game\Data\Data.bar。离线本地 Mod 入口为 C:\Users\Administrator\Games\Age of Empires 3 DE\76561197960267366\mods\local,当前无启用 Mod。当前项目目录 D:\Game\Age of Empires III EditTools 为空,后续工具与生成文件全部放在此目录。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 14:19:00 UTC [0d64bfdd95]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-14-19-00-utc-0d64bfdd95
|
||||
stable_id: a09b7e4f-5f03-4243-81c7-84fdebc412d5
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-requirements-checkpoint-20260831-01
|
||||
created_at: '2026-08-31T14:19:00.374133+00:00'
|
||||
updated_at: '2026-08-31T14:19:00.374133+00:00'
|
||||
tags:
|
||||
- requirements
|
||||
- lan
|
||||
- offline
|
||||
- mod-scope
|
||||
---
|
||||
|
||||
已确认项目目标与边界:为 Age of Empires III: Definitive Edition 100.19.17293.0 制作适合圈城、防守、发展和长时间对战的数据修改。暂不做新单位模型/动画、新资源类型、新国家、AI 重写和新 UI;重点改现有建筑、单位、科技、人口、资源和跨文明解锁。允许基础数据变化影响 AI,且通常不会让 AI 使用被扩展的国家/科技。对战场景为离线单机及局域网好友对战,所有参与者使用完全相同的修改版和数据,不依赖官方在线服务。技术路线优先纯数据型 Mod/补丁,XS 仅在确有需要时使用。当前尚未创建代码或修改游戏文件。下一步:收集第一批具体修改项,确定单位/科技完整名称、目标国家、数值和是否保留原国家可用;然后在当前项目目录实现配置驱动的生成与备份/部署流程。给下个会话:不要假设具体平衡数值;先从游戏数据中确认真实 ID 和字段,再生成修改。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 14:28:13 UTC [de048db258]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-14-28-13-utc-de048db258
|
||||
stable_id: 4764ab1e-2b3e-477b-937c-1dd60ebf7ecc
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-reference-materials-checkpoint-20260831-01
|
||||
created_at: '2026-08-31T14:28:13.204844+00:00'
|
||||
updated_at: '2026-08-31T14:28:13.204844+00:00'
|
||||
tags:
|
||||
- references
|
||||
- resource-manager
|
||||
- native-ed
|
||||
- bar
|
||||
---
|
||||
|
||||
已完成参考资料收集:下载并保存在项目 references/ 下的 Resource-Manager(MIT,支持 AoE3 DE .bar 查看/比较/提取/创建、XML/XMB 转换)与 AOE3NativeED(GPL-3.0,包含决定版数据注入示例、manualInjection.md、proto/techtree 示例)。新增 references/README.md 说明用途、来源、许可证与版本原则;新增 .gitignore(忽略 aidocs/ 和临时下载目录)。未复制任何游戏本体 XML 或 BAR,后续从本机 D:\Game\Age of Empires III Definitive Edition\Game\Data\Data.bar 提取,避免版本不匹配。已清理临时压缩包。Git 已初始化并提交 776d228(docs: 添加帝国时代3决定版参考资料)。下一步:使用 Resource-Manager 或等价提取流程读取当前版本真实 protoy/techtree/civs 数据,建立可搜索的国家、单位、建筑、科技目录,再设计配置驱动修改器。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 14:34:58 UTC [119c92805d]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-14-34-58-utc-119c92805d
|
||||
stable_id: 4995165e-24be-45ca-a243-c8cdd97b7804
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-editor-scope-checkpoint-20260831-01
|
||||
created_at: '2026-08-31T14:34:58.536312+00:00'
|
||||
updated_at: '2026-08-31T14:34:58.536312+00:00'
|
||||
tags:
|
||||
- gui-editor
|
||||
- scope
|
||||
- offline
|
||||
---
|
||||
|
||||
编辑器范围更新:不实现局域网分发、多机同步、网络传输或在线版本校验。用户将在当前机器完成图形化修改,导出最终 Mod/补丁后手动复制到其他机器。保留本地读取、表单编辑、差异预览、备份/恢复和导出。现成公开工具仍只有 Resource-Manager(.bar 工具)与 AOE3NativeED(注入示例),没有发现覆盖决定版全量语义数据的成熟 GUI 编辑器。下一步仍为先实现只读数据浏览器,从本机 Data.bar 提取真实版本数据,再增加编辑和导出。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 14:44:22 UTC [c2e2f10741]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-14-44-22-utc-c2e2f10741
|
||||
stable_id: 3c6217f5-07df-4a9d-b174-e77d114006ce
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-tauri-storage-checkpoint-20260831-01
|
||||
created_at: '2026-08-31T14:44:22.461623+00:00'
|
||||
updated_at: '2026-08-31T14:44:22.461623+00:00'
|
||||
tags:
|
||||
- architecture
|
||||
- tauri2
|
||||
- webview2
|
||||
- storage
|
||||
---
|
||||
|
||||
已确认技术与部署要求:采用 Tauri 2 + Rust + Vue 3 + TypeScript;WebView2 固定版本并只下载一次,项目内保存本地 Fixed Runtime,构建不自动联网下载;安装目录由用户选择且可在非 C 盘,应用主动生成的数据、缓存、日志、临时文件和导出结果均放在可执行文件目录下,WebView2 User Data Folder 同样放在安装目录;不实现局域网分发。注意 Program Files 写权限和 Windows/驱动自身 TEMP/缓存不受应用完全控制。下一步:设计 Tauri 工程骨架、固定 Runtime 检查和安装目录路径服务,之后实现 BAR/XML 只读解析。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 14:47:27 UTC [a512f09b84]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-14-47-27-utc-a512f09b84
|
||||
stable_id: 04dc843d-8bfe-4dd6-b5ab-09d2efa10d21
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-architecture-locked-checkpoint-20260831-01
|
||||
created_at: '2026-08-31T14:47:27.035898+00:00'
|
||||
updated_at: '2026-08-31T14:47:27.035898+00:00'
|
||||
tags:
|
||||
- architecture
|
||||
- requirements-locked
|
||||
- tauri2
|
||||
---
|
||||
|
||||
用户已确认并接受最终架构约束:Tauri 2 + Rust + Vue 3 + TypeScript;Windows 使用项目内固定版本的 WebView2 Fixed Runtime,构建只检查本地 Runtime,不重复下载;安装包允许选择非 C 盘目录,应用主动生成的配置、日志、缓存、临时文件、WebView2 User Data Folder、Mod 工程、备份和导出结果均位于安装目录;接受 Windows/驱动/杀毒/崩溃转储及 Rust/Node 开发工具全局缓存可能落在系统目录;不实现局域网分发。下一步:开始搭建 Tauri 工程骨架,先实现安装根目录和 Fixed Runtime 检查,再实现 BAR/XML 只读解析。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 14:50:02 UTC [383d3ea699]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-14-50-02-utc-383d3ea699
|
||||
stable_id: 540030dc-d7ee-4e6e-a202-c0648ceca8f9
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-backup-rollback-checkpoint-20260831-01
|
||||
created_at: '2026-08-31T14:50:02.305588+00:00'
|
||||
updated_at: '2026-08-31T14:50:02.305588+00:00'
|
||||
tags:
|
||||
- backup
|
||||
- rollback
|
||||
- architecture
|
||||
- prd
|
||||
---
|
||||
|
||||
新增并确认核心功能:安装修改前可选创建备份;备份按本次变更文件清单生成快照,记录 ID、时间、目标游戏路径/版本、文件清单、存在状态、大小、SHA-256、备注和结果;支持 GUI 查看、加载检查、回退和删除,回退前自动保护当前状态。应用/回退需临时文件与原子替换,失败可恢复,不触碰变更清单之外的文件。备份存于编辑器安装目录。尚未创建代码,后续工程骨架需预留 snapshot/backup service、manifest schema 和对应 UI 页面。
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 19:26:29 UTC [cb43fbb726]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-19-26-29-utc-cb43fbb726
|
||||
stable_id: 4fcb8138-eb99-4843-a905-60c6862a4672
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 8c22d857-7736-4985-92b6-59dac6bbf713
|
||||
created_at: '2026-08-31T19:26:29.282424+00:00'
|
||||
updated_at: '2026-08-31T19:26:29.282424+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- release
|
||||
---
|
||||
|
||||
2026-09-01 检查点:基础编辑器、二进制资源导出/替换、多资源 Mod 合并导出、任意 BAR 原子应用、备份回退、XML/XMB 结构校验均已实现。真实 Data.bar 回归 9 项测试全部通过;pnpm build、cargo check/test、WebView2 校验通过;pnpm tauri dev 可启动。Git 提交 d9185f6(路径分离修复)及后续待提交改动。下一步:完成最终代码提交、一次性生成最新 NSIS/Portable 交付包并做安装包启动检查。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 19:37:19 UTC [0728d89595]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-19-37-19-utc-0728d89595
|
||||
stable_id: 5e0fa990-763d-4497-a002-dd9d053d3b70
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 4b5a6655-8b04-4ce3-af7b-fac2f768c3d5
|
||||
created_at: '2026-08-31T19:37:19.122206+00:00'
|
||||
updated_at: '2026-08-31T19:37:19.122206+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- release
|
||||
- complete
|
||||
---
|
||||
|
||||
2026-09-01 最终检查点:AoE3 EditTools 首版功能完成。已实现 BAR v6 读取/重建、XML/XMB/XS/Tactics 编辑、国家/单位/建筑/科技目录、多资源 Mod 合并导出、二进制资源导出/替换/SHA-256、任意 BAR 带备份原子应用、快照创建/加载/回退/删除及应用状态记录、版本与运行锁定、安装目录存储、Fixed WebView2。真实 Data.bar 回归 9 项测试通过,pnpm build、cargo check/test、WebView2 校验、tauri dev 和最新 NSIS 构建通过。最新 Portable ZIP:artifacts/AoE3-EditTools-0.1.0-portable-latest.zip。Git 最新提交:0293893 feat: 完善多资源导出与修改校验。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 19:53:19 UTC [46792ce184]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-19-53-19-utc-46792ce184
|
||||
stable_id: eb7aa0cd-8b85-459e-9946-2464ec654d2e
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 6f6e2e26-aae0-4db6-a98d-a2c54dfd1c4e
|
||||
created_at: '2026-08-31T19:53:19.181501+00:00'
|
||||
updated_at: '2026-08-31T19:53:19.181501+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- release
|
||||
- complete
|
||||
---
|
||||
|
||||
2026-09-01 最终交付检查点:AoE3 EditTools 首版完整功能已实现并提交。新增真实字符串表关联、递归 XML 字段编辑、逐行差异预览、Mod 安装时游戏运行锁定、应用后快照状态记录。真实 Data.bar(100.19.17293.0)回归 9/9 通过;pnpm build、cargo check/test、pnpm check:webview2、pnpm tauri dev 通过。最新提交 05b255b feat: 完善语义字段与差异预览。最终 NSIS:src-tauri/target/release/bundle/nsis/AoE3 编辑器_0.1.0_x64-setup.exe;最终 Portable:artifacts/AoE3-EditTools-0.1.0-portable-final.zip;便携版启动检查进程正常响应。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-08-31 20:03:33 UTC [8ce68f60ee]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-08-31-20-03-33-utc-8ce68f60ee
|
||||
stable_id: 8f7740f1-fca5-4816-af88-11508093c787
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 2ce7c8e7-51d0-45e8-85ba-e4bf35e62a36
|
||||
created_at: '2026-08-31T20:03:33.152521+00:00'
|
||||
updated_at: '2026-08-31T20:03:33.152521+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- release
|
||||
- complete
|
||||
---
|
||||
|
||||
2026-09-01 最终完成检查点:按完整计划完成 AoE3 EditTools 首版功能。包括 BAR v6 读取/重建、XML/XMB/XS/Tactics 文本编辑、递归动态字段面板、国家/单位/建筑/科技目录、真实字符串表显示、文本与二进制资源合并 Mod 导出、二进制导入/导出/SHA-256、任意 BAR 原子应用、备份/加载/回退/删除及应用状态记录、游戏版本与运行锁定、安装目录存储、Fixed WebView2。真实 Data.bar 回归 9/9 通过;pnpm build、cargo check/test、WebView2 校验、tauri dev、NSIS 构建和便携版启动检查通过。最新提交:4b90cee feat: 支持文本与二进制资源合并导出。最终 NSIS 路径:src-tauri/target/release/bundle/nsis/AoE3 编辑器_0.1.0_x64-setup.exe;最终 Portable 路径:artifacts/AoE3-EditTools-0.1.0-portable-20260901.zip。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 03:07:15 UTC [a11f3ac444]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-03-07-15-utc-a11f3ac444
|
||||
stable_id: dd485c8d-dd52-4b5a-b83f-41695df710d9
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: f3d32677-ab12-415d-80f3-21f90c5664ac
|
||||
created_at: '2026-09-01T03:07:15.283239+00:00'
|
||||
updated_at: '2026-09-01T03:07:15.283239+00:00'
|
||||
tags:
|
||||
- ui
|
||||
- editor
|
||||
- checkpoint
|
||||
---
|
||||
|
||||
2026-09-01:用户反馈首版界面不可用,确认问题成立。已重构为“实体编辑”主入口,高级资源与 XML 退为次级入口;修复应用级滚动,资源/实体/详情/备份列表独立滚动。实体目录按单位建筑、科技树、国家筛选,搜索中文名/内部名/DBID。真实字符串表已关联。实体详情改为中文分组表单(基本信息、生存人口、生产建造、战斗、移动视野、解锁限制),数值/布尔控件、字段新增/属性新增/删除、当前资源撤销,原始 XML 改为高级折叠入口。pnpm build 与真实 Data.bar Rust 9/9 回归通过。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 03:18:24 UTC [a2a85c1b2c]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-03-18-24-utc-a2a85c1b2c
|
||||
stable_id: f5f6f20a-d2bb-4b47-9c2f-d599d97ac876
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 2345a11e-efd7-4964-8df6-a481529ec600
|
||||
created_at: '2026-09-01T03:18:24.178572+00:00'
|
||||
updated_at: '2026-09-01T03:18:24.178572+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- ui
|
||||
- release
|
||||
---
|
||||
|
||||
2026-09-01 UI 修复交付:提交 77ab2e5(feat: 重构实体图形化编辑界面)。修复全页面随列表滚动,body/main 固定,实体、资源详情、备份独立滚动。实体编辑成为主入口,高级资源/XML 退为折叠高级入口。实体支持中文名、类别筛选、中文分组语义表单、数值/复选控件、新增字段/属性、删除字段、撤销当前修改。真实字符串解析有回归断言;pnpm build、真实 Data.bar Rust 9/9、CSS 滚动边界检查通过。新 NSIS SHA256 7D1F6805C2B72406EA8ECA6C2A9E6DBD26432458091682521187A2BC3EF77866;Portable artifacts/AoE3-EditTools-0.1.0-graphical-editor.zip SHA256 CF60C6FEDD89F783B72C1B0577432CE0AE463564B98E1DDF0A79086CA7D78DCC。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 09:28:19 UTC [0ab8604465]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-09-28-19-utc-0ab8604465
|
||||
stable_id: e9be74f4-0ec9-4eeb-a304-23bee349028b
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 05241b28-bc3e-4e24-a8f0-4c4e71436bb4
|
||||
created_at: '2026-09-01T09:28:19.728075+00:00'
|
||||
updated_at: '2026-09-01T09:28:19.728075+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- webview2
|
||||
- release
|
||||
---
|
||||
|
||||
2026-09-01 WebView2 方案修正:根据用户要求从 fixedRuntime 解压模式改为官方 Evergreen x64 离线安装器模式。vendor/webview2-installer/MicrosoftEdgeWebView2RuntimeInstallerX64.exe(SHA256 987A9D8B3107E84F9B53B4A077D28AE4814FC3D964D5A55C559E7334BBF24D61)随项目保存;tauri webviewInstallMode=skip,NSIS resources 嵌入安装器,installer-hooks.nsh 在 POSTINSTALL 检测 HKLM/HKCU WebView2 注册表,缺失时执行 $INSTDIR\\webview2-installer\\... /silent /install,成功后删除临时安装器。已实测当前机器原本无 Runtime 时 NSIS 静默安装退出码 0,Runtime 注册成功,应用启动正常;生成脚本无 _up_ Fixed Runtime。最终 NSIS 约 264 MB;Portable 仅 EXE,要求系统已有 WebView2。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 10:52:51 UTC [0df08181d5]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-10-52-51-utc-0df08181d5
|
||||
stable_id: bcd308d9-292e-4f2a-9809-a1f9d720a2d2
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 5145d9e0-acc3-4c06-a801-e6a36503f7eb
|
||||
created_at: '2026-09-01T10:52:51.250727+00:00'
|
||||
updated_at: '2026-09-01T10:52:51.250727+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- rust
|
||||
- relations
|
||||
---
|
||||
|
||||
2026-09-01 WPF 迁移进展:已安装 Visual Studio Community 2022 17.14.39 到 D:\Program Files\Microsoft Visual Studio\2022\Community,.NET SDK 9.0.317/WPF 工作负载可用。新增 AoE3EditTools.sln 与 .NET 8 WPF 客户端 src-wpf/AoE3EditTools.Wpf,三栏原生界面、实体目录、中文字段表格、属性保存入口、生产/研究关系标签页。新增 backend Rust crate(Axum 本地 HTTP 127.0.0.1:17823),复用 BAR/XML/快照核心,提供 /api/game、/api/entities、/api/relations、edit_entity、copy_production 等接口。真实 Data.bar 联调成功:实体 12638 项,简体中文名称 7041 项,关系 5012 项,实体无变化回写生成新 BAR。提交:bad9825(迁移骨架)、57eba36(建筑生产关系编辑)。旧 Tauri 目录尚未删除,待 WPF 全功能接入后清理。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 11:03:47 UTC [2b165f5f15]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-11-03-47-utc-2b165f5f15
|
||||
stable_id: d5cdc775-5709-49a0-b266-152e1633d4d3
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 76fb9f57-34b5-4385-86ec-71c3e08d19de
|
||||
created_at: '2026-09-01T11:03:47.377346+00:00'
|
||||
updated_at: '2026-09-01T11:03:47.377346+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- civ
|
||||
- relations
|
||||
---
|
||||
|
||||
2026-09-01 WPF 功能进展:真实 civs.xml.XMB 解析出 126 个国家/子国家及时代科技、默认/额外人口上限;protoy.xml.XMB 解析出 5012 条建筑生产/研究关系。WPF 详情新增国家规则摘要、属性编辑标签、生产/研究关系标签,可选择目标建筑复制生产项;MainViewModel 已通过 Rust HTTP API 保存实体修改并生成 BAR。真实 API 联调已成功(12638 实体、7041 简中名称、5012 关系),WPF dotnet build 0 警告。提交 ff6231e。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 11:12:43 UTC [90191a987b]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-11-12-43-utc-90191a987b
|
||||
stable_id: 16477b7d-d5d8-427d-80cd-8ec4cc1c0c69
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 970cda86-021f-4a59-8b6e-b7341a4f4244
|
||||
created_at: '2026-09-01T11:12:43.732413+00:00'
|
||||
updated_at: '2026-09-01T11:12:43.732413+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- migration
|
||||
---
|
||||
|
||||
2026-09-01 WPF 迁移继续:已删除当前工作区中的 src-tauri、Vue、pnpm、Vite、WebView2 和旧 NSIS 交付文件,主工程仅保留 AoE3EditTools.sln、src-wpf 和 backend。新增隐藏 Rust 后端启动脚本 scripts/start-editor.ps1。WPF 三栏原生界面支持国家/单位/建筑/科技筛选、真实简中实体目录、国家人口/时代科技摘要、属性编辑保存生成 BAR、建筑生产/研究关系复制生成 BAR、备份列表创建/回退。Rust Axum 后端提供本地 API 127.0.0.1:17823;真实 Data.bar 联调 12638 实体、7041 简中名、5012 关系、126 civs;WPF dotnet build 0 警告,backend cargo test 10/10。最新提交 9c41a03。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 11:19:28 UTC [b17abc9423]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-11-19-28-utc-b17abc9423
|
||||
stable_id: 99e867ab-65c5-4e63-8ee0-48a4141483fc
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 39f88ff1-36d3-488d-b166-52cbc7f79838
|
||||
created_at: '2026-09-01T11:19:28.815010+00:00'
|
||||
updated_at: '2026-09-01T11:19:28.815010+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- manual
|
||||
- relations
|
||||
---
|
||||
|
||||
2026-09-01 WPF 迁移:旧 Tauri/Vue/WebView2 已从当前工作区移除。WPF + Rust 后端已加入国家/单位/建筑/科技筛选,真实简中目录、国家人口/时代科技摘要、实体属性保存生成 BAR、建筑生产/研究关系复制、备份/回退、游戏路径输入和隐藏启动脚本。Rust 后端新增完整本地 API 与版本化手册生成:当前 Data.bar 生成 backend/target/debug/workspace/AoE3-DE-100.19.17293.0-修改手册.md(445786 bytes),含 126 civs、5012 生产/研究关系、字段说明。WPF dotnet build 0 警告;backend cargo test 10/10;API 实测实体 12638、简中名 7041、关系 5012。最新提交 53b0466。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 11:32:11 UTC [a3d403bac7]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-11-32-11-utc-a3d403bac7
|
||||
stable_id: e3f0b13b-7c81-47ab-9f58-5a4b4993fd4a
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 3ebf8ee3-1cf7-4d5f-bc45-7a993ca9ea0f
|
||||
created_at: '2026-09-01T11:32:11.156510+00:00'
|
||||
updated_at: '2026-09-01T11:32:11.156510+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- nested-fields
|
||||
- manual
|
||||
---
|
||||
|
||||
2026-09-01:WPF 版本继续完善。嵌套 XML 叶字段递归展开,保留路径并支持精确回写;重复字段名保存改为分组处理。WPF UI 增加国家规则摘要、属性/生产研究/备份标签,实体保存生成 BAR,建筑生产关系复制生成 BAR,游戏路径可编辑,start-editor.ps1 隐藏后端窗口。Rust 后端增加 civs、relations、manual API;自动生成版本化中文修改手册(126 civs、5012 关系)。WPF dotnet build 0 警告,backend cargo test 10/10。最新提交 54f21d5。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 11:46:24 UTC [edc2610ab0]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-11-46-24-utc-edc2610ab0
|
||||
stable_id: cbb9e5e4-8915-4625-b793-e696814406d7
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: 47740c31-6354-4d9d-a692-5674918ced91
|
||||
created_at: '2026-09-01T11:46:24.186148+00:00'
|
||||
updated_at: '2026-09-01T11:46:24.186148+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- complete-stage
|
||||
---
|
||||
|
||||
2026-09-01 WPF 重构阶段完成:Visual Studio Community 2022 安装在 D:\Program Files\Microsoft Visual Studio\2022\Community,.NET SDK 9.0.317 可用。当前仓库只保留 WPF + Rust 后端,旧 Tauri/Vue/WebView2 已删除。WPF 支持国家/单位/建筑/科技筛选、12638 实体目录(7041 简中名)、递归嵌套属性编辑、科技效果中文说明、类型化控件、国家人口规则编辑、126 civs 人口/时代科技摘要、5012 建筑生产/研究关系复制、实体保存生成 BAR、Mod 导出、备份应用和快照回退、版本化修改手册生成。scripts/start-editor.ps1 可隐藏启动后端,publish-wpf/start-release 已验证自包含发布与启动。dotnet build 0 警告,backend cargo test 10/10,真实实体回写 BAR 可再次读取。最新提交 b594318。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 12:58:23 UTC [f3f626e2b5]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-12-58-23-utc-f3f626e2b5
|
||||
stable_id: 6e95e66b-f462-41d0-ac68-823fc3c44e11
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: pure-wpf-migration-checkpoint-20260901-2050
|
||||
created_at: '2026-09-01T12:58:23.159121+00:00'
|
||||
updated_at: '2026-09-01T12:58:23.159121+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- csharp
|
||||
- remove-rust
|
||||
---
|
||||
|
||||
2026-09-01:完成纯 C# WPF 架构迁移。MainViewModel 已直接调用 GameDataService 和 SnapshotService,不再使用 HttpClient、127.0.0.1 或 Rust 后端;初始状态为“请选择游戏目录并加载数据”。新增 C# AppPaths、XmbService、BarArchiveService、FieldDefinitions、GameDataService、SnapshotService,并引用 K4os.Compression.LZ4。删除整个 backend Rust 工程以及磁盘上的旧 backend/target、旧 release/aoe3-backend.exe、node_modules 和 .vs 临时目录。start-editor、publish-wpf、start-release 均只构建或启动单个 AoE3EditTools.exe。README 更新为纯 C#/.NET 8 WPF 架构。验证:dotnet build Debug 0 警告 0 错误;dotnet format --verify-no-changes 通过;PowerShell 脚本解析通过;全仓未发现旧状态文本、端口、HttpClient、cargo build 或 aoe3-backend.exe 引用;实际启动只有一个 AoE3EditTools.exe,窗口标题“AoE3 编辑器”,无 aoe3-backend.exe 进程。未执行自包含发布,遵循用户要求在功能完成前避免耗时打包。下一步:继续完善纯 WPF 的语义化编辑界面与真实 Data.bar 功能回归,不得重新引入 Rust/HTTP/Tauri/WebView2。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 13:37:26 UTC [f559ed2e59]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-13-37-26-utc-f559ed2e59
|
||||
stable_id: c202edde-bed0-4d60-a532-3b21bae66f68
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: semantic-editor-complete-20260901-2140
|
||||
created_at: '2026-09-01T13:37:26.682143+00:00'
|
||||
updated_at: '2026-09-01T13:37:26.682143+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- semantic-editor
|
||||
- wpf
|
||||
- bar-regression
|
||||
---
|
||||
|
||||
2026-09-01:完成纯 C# WPF 语义化编辑器核心版本。数据模型新增精确索引 XML 路径、中文字段分组/说明、类型化字段、成本条目、攻击动作、科技效果、差异项;实体分类为国家/建筑/单位/科技。GameDataService 只收录真实 proto unit、techtree tech、civ 节点,建立 126 个国家中文名与时代科技解锁摘要,5,012 条建筑生产/研究关系含中文对象名。实体修改、成本、攻击、科技效果和原始 XML 均可回写;连续修改以上一次生成 BAR 合并;关系复制同时修改目标建筑生产/研究项并补目标国家时代科技解锁;Mod 导出包含全部变更资源;人口规则支持校验;SnapshotService 加入加载和删除。WPF 界面重做为独立滚动三栏工作台,增加常用参数/成本/攻击动作/科技效果/生产研究/差异/备份/高级 XML 标签,布尔值复选框、数字/文本输入框、资源下拉框和目标国家/建筑选择。真实回归:读取 Data.bar 得到版本 100.19.17293.0、实体 8,667(建筑 540、单位 1,917、科技 6,084)、中文名 7,055、国家 126、关系 5,012;单位生命值修改后 BAR 重建并再次读取成功;生产/研究关系复制后同时成功打开 proto 和 techtree。验证:dotnet build 0 警告 0 错误;dotnet format --verify-no-changes 通过;WPF 实际启动窗口标题 AoE3 编辑器且无 Rust 进程。未执行耗时自包含发布,待最终确认后执行。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 13:38:46 UTC [f71128c366]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-13-38-46-utc-f71128c366
|
||||
stable_id: 50f1b7ba-821b-43a9-99c8-ced403145071
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: final-wpf-release-20260901-2152
|
||||
created_at: '2026-09-01T13:38:46.463297+00:00'
|
||||
updated_at: '2026-09-01T13:38:46.463297+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- release
|
||||
- complete
|
||||
- wpf
|
||||
---
|
||||
|
||||
最终交付验证完成:执行 scripts/publish-wpf.ps1 成功,生成纯 WPF 自包含发布目录 D:\Game\Age of Empires III EditTools\release。启动 release\AoE3EditTools.exe 成功,窗口标题为“AoE3 编辑器”,无 aoe3-backend.exe 进程。release 目录未纳入 Git(按 .gitignore 忽略)。代码提交 85fbaed feat: 完成语义化国家单位建筑科技编辑器;上一提交 e8ee755 完成移除 Rust。核心功能和真实 Data.bar 回归已通过。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 13:53:21 UTC [c473ab8da3]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-13-53-21-utc-c473ab8da3
|
||||
stable_id: d2090e2f-4e43-4d00-a409-db48fb9efc86
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: vs2026-complete-checkpoint-20260901-2206
|
||||
created_at: '2026-09-01T13:53:21.516058+00:00'
|
||||
updated_at: '2026-09-01T13:53:21.516058+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- visual-studio
|
||||
- environment
|
||||
---
|
||||
|
||||
环境替换完成:先安装后验证再卸载。E:\Users\NullixOS\Administrator\Downloads\VisualStudioSetup.exe 签名为 Microsoft Corporation,实际为 Visual Studio Enterprise 2026 Insiders/Preview 18.10.12120.281。使用参数 --channelId VisualStudio.18.Stable(安装器自动落到 VisualStudio.18.Preview)及 --path install="D:\Program Files\Microsoft Visual Studio\2026\Enterprise"、cache="E:\VisualStudioCache\2026"、shared="D:\Program Files\Microsoft Visual Studio\Shared2026" 安装 ManagedDesktop 工作负载及推荐组件,安装成功退出码 0。新 devenv.exe 位于 D:\Program Files\Microsoft Visual Studio\2026\Enterprise\Common7\IDE\devenv.exe,已启动并打开 AoE3EditTools.sln。随后用 setup.exe uninstall --installPath="D:\Program Files\Microsoft Visual Studio\2022\Community" --quiet --norestart 成功卸载 Community 2022,退出码 0;Build Tools 2022 保留。最终校验:Community2022Path=False,BuildTools2022Path=True,Enterprise2026Path=True,E 缓存目录存在;dotnet SDK 10.0.400,MSBuild 18.9.6,AoE3EditTools.sln Debug 构建 0 警告 0 错误。
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 14:15:08 UTC [4529f5b776]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-14-15-08-utc-4529f5b776
|
||||
stable_id: 68766d01-d902-478c-87dd-76e61f6d508d
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: vs2026-stable-checkpoint-20260901-2216
|
||||
created_at: '2026-09-01T14:15:08.619402+00:00'
|
||||
updated_at: '2026-09-01T14:15:08.619402+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- visual-studio
|
||||
- stable
|
||||
---
|
||||
|
||||
稳定版切换最终完成:截图中原先显示的 2022 条目是独立 Build Tools 2022,已按用户要求卸载;原 Visual Studio Enterprise 2026 Insiders 也已卸载。通过稳定通道 https://aka.ms/vs/18/stable/channel 安装正式 Visual Studio Enterprise 2026 Stable 18.9.12120.119,实例 ID 9bc47f55,产品 Microsoft.VisualStudio.Product.Enterprise,安装路径 D:\Program Files\Microsoft Visual Studio\2026\EnterpriseStable,状态 complete/launchable。当前 Visual Studio Installer/VSWhere 仅列出 Enterprise 2026 Stable;Community2022、BuildTools2022 和 Preview2026 路径均不存在。稳定版已启动并打开 AoE3EditTools.sln。项目使用新 MSBuild/.NET SDK Debug 构建 0 警告 0 错误。临时安装脚本与稳定通道文件已删除。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 14:50:24 UTC [8e19fd5874]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-14-50-24-utc-8e19fd5874
|
||||
stable_id: 65e6eb44-817d-4063-ba39-94525727749f
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: civ-tree-navigation-checkpoint-20260901-2250
|
||||
created_at: '2026-09-01T14:50:24.344366+00:00'
|
||||
updated_at: '2026-09-01T14:50:24.344366+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- ui
|
||||
- civ-tree
|
||||
---
|
||||
|
||||
2026-09-01:按用户反馈重构 WPF 信息架构。顶部统一放置游戏目录输入、选择目录和加载数据按钮;选择目录后自动触发加载。新增侧边工作区导航:国家与数据、备份与回退、修改手册、当前会话。国家与数据页面改为国家树:每个国家展开国家概览、建筑(完整通用建筑,避免因 civ 解锁数据不完整而隐藏建筑)、单位、科技、人口与规则;建筑节点下继续展开生产/研究单位或科技关系。点击国家、实体或关系可联动右侧编辑器。右侧保留常用参数、成本、攻击动作、科技效果、生产/研究、差异和高级 XML 专用编辑区;中间/右侧独立滚动,避免整个窗口滚动。新增目录选择 FolderBrowserDialog,选定后自动加载;备份回退和删除加入确认提示,回退前检查游戏是否运行。真实 WPF 启动成功,窗口标题 AoE3 编辑器。dotnet build 0 警告 0 错误,dotnet format 与 git diff --check 通过。提交 1d265b1 feat: 重构国家树与侧边导航界面。
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 15:16:01 UTC [fe5f811bdd]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-15-16-01-utc-fe5f811bdd
|
||||
stable_id: d63e1555-2a78-449e-9e91-990b4cc4e37c
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: ui-bugfix-search-progress-civ-20260901-2305
|
||||
created_at: '2026-09-01T15:16:01.971757+00:00'
|
||||
updated_at: '2026-09-01T15:16:01.971757+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- bugfix
|
||||
- wpf
|
||||
- civ-selection
|
||||
- progress
|
||||
---
|
||||
|
||||
2026-09-01:修复用户反馈的搜索、人口、XML、手册、进度和重复国家问题。真实数据诊断确认 `civs.xml.XMB` 中“圣约翰骑士团”只有一个节点 `SPCAct1`,重复显示根因是国家选择匹配逻辑把空 `StatsId` 当作有效相等条件,导致任何空 StatsId 国家点击后右侧都显示第一个国家;现已要求 ID 非空才参与匹配,并按 Name|StatsId 去重树节点。国家树保留独立搜索框,备份页只显示“备份说明”而没有搜索框。全局人口上限和额外人口上限可在侧栏直接编辑并保存,国家树人口节点可进入同一规则编辑。底部加入加载进度条和阶段文字;GameDataService 支持进度阶段回报。高级 XML 加入格式化按钮、自动换行和格式化保存选项;生成修改手册后自动读取并在界面内展示,支持滚动查看。App 加入 WPF 未处理异常捕获,DataGrid 双击编辑异常不再直接退出而显示中文错误提示。验证:dotnet build 0 警告 0 错误;dotnet format --verify-no-changes 通过;git diff --check 通过;WPF 启动成功。临时诊断工程已删除。提交 705141b fix: 修复国家选择搜索进度和编辑交互。
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-01 16:28:46 UTC [b7e9e65fda]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-01-16-28-46-utc-b7e9e65fda
|
||||
stable_id: 8d1a8be7-0960-40cb-8206-6dff8d768855
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: async-navigation-final-20260902-0010
|
||||
created_at: '2026-09-01T16:28:46.085314+00:00'
|
||||
updated_at: '2026-09-01T16:28:46.085314+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- ui
|
||||
- async
|
||||
- verification
|
||||
---
|
||||
|
||||
2026-09-02:完成工作区导航与交互收口。顶部统一放置游戏目录、选择目录、加载数据和清空本次修改;选择有效目录后窗口 Loaded 会自动加载。侧边栏改为类似 Element Plus 的 ToggleButton 菜单,带悬停和选中态,包含国家与数据、人口与规则、备份与回退、修改手册;清空按钮已从侧栏移到顶部。国家树搜索独立放在国家树面板,备份页只保留备份说明。国家重复显示按中文名分组并在同名变体下展示内部名;真实 Data.bar 诊断确认圣约翰骑士团仅有一个 SPCAct1 节点。创建国家树的重计算放到 Task.Run,所有加载/保存/导出/备份操作统一后台执行,底部显示状态、阶段文字和进度条。人口规则有独立工作区和顶部快捷编辑,XML 有格式化/自动换行/格式化保存,手册生成后读取到界面。修复两处启动绑定异常:只读 ManualContent 和 LoadProgress 使用 OneWay;App 未处理异常写日志并退出,避免空进程吞错。视觉验收:用本地窗口句柄截图并 view_image 检查 1600x980 初始和自动加载布局,顶部路径栏、侧边导航、国家树、右侧工作台和底部进度均无错位;WPF accessibility tree 能枚举全部控件。真实回归:126 国家(唯一 Name|StatsId 126、圣约翰 1)、540 建筑、1917 单位、6084 科技、5012 关系,加载进度 100;连续实体修改合并 BAR、人口 260/80 写回、关系复制、中文手册 11MB、快照回退与删除均通过。dotnet build 0 警告 0 错误,dotnet format --verify-no-changes 通过,发布脚本重新生成 release 并启动成功。清理临时诊断工程、截图和启动错误日志。提交 3ad3ba0 feat: 完善工作区导航与异步加载交互。
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-02 00:44:54 UTC [a142d43174]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-02-00-44-54-utc-a142d43174
|
||||
stable_id: 2dff9159-f607-4f5b-bb1a-b3e3af15c2cb
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-checkpoint-search-edititem-20260902
|
||||
created_at: '2026-09-02T00:44:54.427644+00:00'
|
||||
updated_at: '2026-09-02T00:44:54.427644+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- search
|
||||
- datagrid
|
||||
- bugfix
|
||||
- verification
|
||||
---
|
||||
|
||||
2026-09-02:修复用户反馈的国家搜索无响应与常用参数双击异常。根因一:VisibleFields 直接返回 LINQ IEnumerable,WPF 默认集合视图不支持 IEditableCollectionView.EditItem;现改为 ObservableCollection<EntityField>,在实体或字段分组变化时刷新并保留原字段对象。根因二:搜索框每个字符都在 UI 线程递归扫描完整国家树(126 文明且每个文明含建筑和生产关系),现改为 300ms 防抖、CancellationTokenSource 取消旧请求,在后台检索 Civs/Entities/Relations 轻量数据,最多返回 250 个可直接选择的国家、建筑、单位、科技和关系结果;清空搜索立即恢复完整国家树,无匹配时显示提示。真实 Data.bar STA/WPF 回归:126 国家、8667 实体;“阿坎”“Spanish”“Musketeer”均命中预期结果;集合视图 EditItem/CommitEdit 成功。Debug build 0 警告 0 错误,dotnet format 与 git diff --check 通过;重新生成 release 自包含发布并启动确认窗口标题 AoE3 编辑器、Responding=True、无 startup-error.log。临时验证工程、调试日志和验证进程已清理。提交 3ee0022 fix: 修复国家搜索和参数编辑异常。下一步:无,本次反馈已完成。给下个会话:继续在纯 C# .NET 8 WPF 技术栈上工作,不要恢复 Rust/Tauri;发布目录已包含本次修复。
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-02 09:32:44 UTC [31a260eaf8]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-02-09-32-44-utc-31a260eaf8
|
||||
stable_id: f53a8ba7-e28d-42a8-88cb-575a14fbca67
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: cp-2026-09-02-additive-mod-markdown-8f31
|
||||
created_at: '2026-09-02T09:32:44.267590+00:00'
|
||||
updated_at: '2026-09-02T09:32:44.267590+00:00'
|
||||
tags:
|
||||
- wpf
|
||||
- mod
|
||||
- additive
|
||||
- markdown
|
||||
- checkpoint
|
||||
---
|
||||
|
||||
## 完成内容(提交 9bafe57、10c013c)
|
||||
- Mod 导出改为官方 Additive Data Mods:protoy→Data\protomods.xml、techtreey→techtreemods.xml、civs→civmods.xml、字符串→strings\<语言>\stringmods.xml(<stringmods><StringTable><Language name><String _locID>)。顶层节点按 name 比较:新增 mergeMode=add,改动 replace,删除 remove;civs 根级标量(defaultpoplimit)直接写新值。母城/abilities/tactics 仍完整 XML 覆盖(增量根节点名未确认)。
|
||||
- 一键安装:GameDataService.ExportMod(game, working, changed, name, dir) 返回 ModExportResult;ModDirectoryService.Enable 在 mods\age3-mod-status.json 登记 {CheckSum:"0",Enabled:true,LastUpdate:毫秒字符串,Path:"local//名",Priority:max+1,PublishID:0,Title,WorkshopID:0},写前备份 .bak,游戏运行中拒绝。用户机器该文件原本为 {"Actions":[],"Mods":[]}。
|
||||
- 手册页用 MdXaml 1.27.0 MarkdownScrollViewer(GithubLike 样式)渲染,可切换源码;VM 属性 ManualShowSource/ManualShowPreview。
|
||||
- FieldDefinitions.DescribeEffect(effectType, subtype, amount, relativity, status) 翻译成中文句子;relativity 官方语义:Assign 设为 / Absolute 加减 / Percent 乘 / BasePercent 按基础值叠加。补齐科技树高频 subtype 与 effect type 词典;FlagSubtypes(UpdateVisual 等)不显示数值。buildbounty=训练/建成时自己得经验;idletimeout、corpsedecaltime 已弃用。
|
||||
- 编辑器按钮:「安装 Mod 到游戏」(ExportModCommand) 与「备份并直接覆盖 Data.bar」(ApplyCommand),下方一行说明两种生效方式。
|
||||
- 测试 50/50 通过(新增 ModExportTests)。release\ 已重新发布(含 MdXaml.dll)。
|
||||
|
||||
## 验证结论
|
||||
- protoy 字段语义(maxhitpoints/rof=装填秒数/populationcount/trainpoints/los/maxvelocity/armor 减伤比例/bounty 给对手经验)与 AoE3DE 数据指南一致。
|
||||
- 本地 Mod 结构 mods\local\<名>\Data\... 与论坛/官方一致;游戏需在 Mod 管理器启用或由状态文件登记;改动后需重启游戏。
|
||||
|
||||
## 坑
|
||||
- 用户同时开着另一个 AI 会话改同一工作树(17:16–17:20 重写了 FieldDefinitions.cs / EditorModels.cs),需提醒用户只保留一个会话。
|
||||
- 用户桌面会话断开/锁屏时 WPF 不绘制,RenderTargetBitmap 与 PrintWindow 截图均为空,属环境问题。
|
||||
- 用户运行着 bin\Debug 的编辑器进程会锁住输出,编译/测试用 -p:OutDir=%TEMP%\aoe3build\ 绕开。
|
||||
|
||||
## 下一步
|
||||
- 在真实游戏里验证增量 Mod 生效(可在 Startup\user.cfg 加 DebugOutputGameData,比对 %TEMP%\Age of Empires 3 DE\Data 输出)。
|
||||
- 若确认 homecity.mods.xml / abilitymods.xml / x.mods.tactics 的根节点名,可把这三类也改为增量。
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-02 10:03:40 UTC [234316afba]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-02-10-03-40-utc-234316afba
|
||||
stable_id: 07689f07-a36f-48bd-bd6f-6c8294f22eda
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-code-review-user-changes-20260902
|
||||
created_at: '2026-09-02T10:03:40.801295+00:00'
|
||||
updated_at: '2026-09-02T10:03:40.801295+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- review
|
||||
- wpf
|
||||
- safety
|
||||
- pending-fixes
|
||||
---
|
||||
|
||||
2026-09-02 代码审查(范围 3ee0022..10c013c),未修改代码。构建 0 警告 0 错误,真实 Data.bar 测试 50/50 通过。确认待修问题:1)目标版本保护被删除,DetectGame 只标 detected,ApplyAsync 对任意版本直接备份并覆盖 Data.bar,违反仅支持 100.19.17293.0 的安全约束;2)实体/卡牌/技能/战术/批量保存后没有更新 Original 基线,working.bar 已写入而 UI 仍标记修改,点“撤销未保存”会显示原值但不会撤销 working.bar,后续 UI 与导出内容不一致;3)ExportMod 先递归删除现有 Mod Data 目录后逐文件写入,非事务化,失败会留下部分启用 Mod;age3-mod-status.json 也直接覆盖而非原子替换;4)卡牌时代只校验非负但 UI 声明 0-4,发送次数允许任意负数而 UI 仅声明 -1 无限;5)SanitizeName 仅检查完整名称,con.txt 等 Windows 设备名带扩展名会通过,实际创建目录失败,现有测试还错误地断言 con.txt 合法;6)AppPaths 新增 %LOCALAPPDATA% 回退与默认自动清理超过 10 个手动/安全备份,和已确认的安装目录存储、不自动删除备份要求冲突;7)已存在但禁用的 Mod 被重新启用时返回 false,UI误报“已是启用状态”;8)人口规则页使用不可滚动 StackPanel,在最小窗口高度下底部列表可能裁切。生成的增量 Mod XML结构测试通过,但仍未经过真实游戏加载验证。下一步需用户授权后按优先级修复,建议先处理 1-3。
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-02 14:09:44 UTC [8444897e38]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-02-14-09-44-utc-8444897e38
|
||||
stable_id: ee178f0b-0bac-41f4-8b19-a0fb23324289
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-search-navigation-checkpoint-20260902
|
||||
created_at: '2026-09-02T14:09:44.034386+00:00'
|
||||
updated_at: '2026-09-02T14:09:44.034386+00:00'
|
||||
tags:
|
||||
- checkpoint
|
||||
- wpf
|
||||
- search
|
||||
- ui
|
||||
- not-built
|
||||
---
|
||||
|
||||
2026-09-02:按用户要求完成统一显式搜索导航代码。新增 SearchState,为每个搜索框独立维护 Query、Status、命中序号、版本和 CancellationTokenSource;输入仅取消旧请求并重置,不触发检索。MainViewModel 新增上一个/下一个异步参数命令,国家树和九个分页均在点击后通过 Task.Run 搜索,涵盖中文名、内部名、DBID、字段说明/值、资源成本、攻击数据、科技效果、生产关系、差异、XML、母城卡牌、战术和技能。国家树搜索结果一次只展示当前命中并选中;所有 DataGrid 绑定 SelectedItem,窗口统一 ScrollIntoView;XML 通过事件选中文字并 ScrollToLine。XAML 使用统一 FindBar 模板和无文字的上/下箭头图标按钮,带工具提示和命中计数。新增 SearchStateTests 覆盖不随输入搜索、前后循环、取消旧请求、空查询和无结果。README 已同步。按用户明确要求未执行编译、测试或发布,只做了旧引用扫描、git diff --check 和 XAML XML 结构解析;结构检查通过,无临时文件。下一步:用户在 Visual Studio 2026 编译并实机检查布局和搜索定位。
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-02 23:45:03 UTC [b167c7d559]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-02-23-45-03-utc-b167c7d559
|
||||
stable_id: f35ad4ea-f1fa-4c2e-9627-3f9b6b49ab1a
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: cp-2026-09-03-tree-state-annotations-c2d9
|
||||
created_at: '2026-09-02T23:45:03.953551+00:00'
|
||||
updated_at: '2026-09-02T23:45:03.953551+00:00'
|
||||
tags:
|
||||
- wpf
|
||||
- tree
|
||||
- annotations
|
||||
- copy
|
||||
- checkpoint
|
||||
---
|
||||
|
||||
## 完成内容(提交 4147c5d → ee98914)
|
||||
- 建筑可复制给别国村民(ProductionRelation.BuildKind “建造建筑”;村民→建筑关系纳入 Relations,排除 page 255);CopyRelations 支持村民目标,PlaceBuildButton 沿用源村民 page/column,被目标国已解锁建筑占用时挑相邻空格(哨站→中国落在 p6 c7);UnlockOnly 只解锁不加按钮。
|
||||
- 国家树搜索改为在真实节点上查找(CollectTreeMatches),命中后 RevealNode 展开祖先、选中,窗口 TreeViewItem.Selected 事件 BringIntoView。
|
||||
- UpgradeTech 科技在副标题标“升级科技,作用于「X」”;复制对话框警告升级科技与 prereqs 不可达(同批次内的不算,OrPrereqs 一条可达即可)。
|
||||
- 常用参数右键删除字段(EntityField.IsDeleted,RemoveFields 先全部解析再删,清理空包裹节点),删除线显示,可恢复。
|
||||
- CollectUnlocks:Enable amount 0 / TechStatus unobtainable 视为禁用。
|
||||
- age3-mod-status.json 改为游戏重写后的字段(Path=local\\名),按路径归一匹配并合并重复;用户机器上已合并为一条。
|
||||
- RebuildCivTreeAsync 按 NavigationNode.StateKey 保留展开/选中;收藏与备注(AnnotationService,annotations.json,键 entity:{Kind}:{Name},国家为 entity:国家:{Name}):树★/备注摘要、顶部「★ 收藏与备注」分组、右键菜单、常用参数页面板(ToggleButton + 备注 DataGrid),NoteWindow 输入。
|
||||
- 测试 59/59;GameDataFixture 优先用备份目录里同版本最早快照的原版 Data.bar(用户 07:08/07:24 已直接覆盖游戏 Data.bar);GameDataService.Load(GameInfo) 重载。
|
||||
|
||||
## 数据结论
|
||||
- 美国防御塔=Outpost(哨站);deTower 是埃塞/豪萨的;ypSettlerAsian 原有无位置的 Outpost 条目;亚洲文明由 YPAAAsianStartingTechs 可研究 Frontier/FortifiedOutpost。
|
||||
- HeavyHorseArtillery 是 UpgradeTech(作用于 xpHorseArtillery 马炮兵),prereq DEMilitaryIndustrialAgeEnable(工业时代自动激活)。
|
||||
|
||||
## 下一步
|
||||
- 真实游戏里验证增量 Mod(用户已在游戏中看到复制的研究按钮,说明安装/合并有效)。
|
||||
- 若需要:收藏过滤视图、备注导出到手册。
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: Checkpoint 2026-09-04 19:40:44 UTC [185f536cd2]
|
||||
type: checkpoint
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-04-19-40-44-utc-185f536cd2
|
||||
stable_id: c3d57a20-2881-4db2-ba98-572d030532ee
|
||||
scope: project
|
||||
memory_type: checkpoint
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: ckpt-20260905-0340-round2-release
|
||||
created_at: '2026-09-04T19:40:44.934835+00:00'
|
||||
updated_at: '2026-09-04T19:40:44.934835+00:00'
|
||||
tags:
|
||||
- release
|
||||
- population
|
||||
- homecity-save
|
||||
- workspace-persist
|
||||
- aoebbs-notes
|
||||
---
|
||||
|
||||
# 检查点 2026-09-05 03:40 — 第二轮修正完成并发布
|
||||
|
||||
## 完成内容(提交:58feaff 母城存档 / 64d4b89 人口与持久化 / edb9fa7 验收修正 / 07dbbe1 保存后原始值复位与差异合并 / 501488c 教程校对修正 / 502ae7d 收录教程笔记)
|
||||
- 人口机制重做:起始上限 = civs.xml 根级 defaultpoplimit(200) + min(Σ Age0 链 PopulationCapExtra, defaultpopextralimit(50)),读取端防御性识别 PopulationLimit/ExtraLimit/LimitDelta/CapBonus(官方数据无实例)。写入:专属科技就地改;共用 Age0 科技(英国等)新建同形包装科技 Age0XxxXxx 并改 civs.xml agetech;硬上限为全局值。「人口与规则」页删除,人口编辑并入编辑器「人口上限」Tab。
|
||||
- 暂存跨会话持久化:WorkspaceState/working.json,LoadAsync 恢复不再 ClearSession;ExportMod 以原版基线快照 + 累计改动导出 Additive Mod;差异页显示跨会话已暂存修改(StagedDiff 按 Key 合并,原版→当前各一条)。
|
||||
- 存档编辑页(母城存档 sp_<Civ>_homecity.xml UTF-16LE + -v11.dat):类型 HomeCitySave* 前缀;备份注入写回(xml 校验和保留原值,同时写 .dat);写前整目录备份、恢复最近备份、游戏运行禁写;实验性提示。未实机验证。
|
||||
- 保存后 EntityItem.CommitSaved 复位原始值;高级 XML 页与字段页双向刷新;卡牌/技能/战术 MarkSaved。
|
||||
- 按钮位限制为 DE 每页 18 格(column 0–17),满则中文报错。FieldDefinitions 补人口子类型,删除幻觉字段。导出后清理与 xml 同名的 .xmb(DE xmb 优先)。
|
||||
- 界面:顶栏重排、Ctrl+S、上下文右键菜单、树横向滚动/变体合并、AvalonEdit、按钮随状态启用。
|
||||
- 教程笔记:references/aoebbs-tutorial/(16 份章节 md + 00-摘要与校对要点 155 条,标注官方/译文/站方实测/推断/未提及)。
|
||||
|
||||
## 验证
|
||||
- Release 0 警告 0 错误;dotnet test 88/88;scripts/publish-wpf.ps1 已发布到 release/。
|
||||
|
||||
## 需用户实机确认
|
||||
1. 共用 Age0 科技国家(英国)改人口 → 安装 Mod → 游戏内上限;官方无 civmods 示例,<civ> 节点匹配与根级 defaultpopextralimit 合并未验证。
|
||||
2. 母城存档写回是否被游戏接受;失败用「恢复最近备份」。
|
||||
3. age3-mod-status.json 自动登记是否被识别(教程/官方原文均未提及该文件,实现按游戏自写文件格式)。
|
||||
- 验证手段:Startup/user.cfg 加 DebugOutputGameData,游戏把合并后数据写到 %TEMP%/Age of Empires 3 DE/Data,可 diff。候选功能:编辑器集成读取该目录做"验证 Mod 生效"。
|
||||
|
||||
## 给下个会话 / 坑
|
||||
- 子代理若被切到 grok-4.6 会因 Other Models 额度停摆,需用 inherit 模型重启。
|
||||
- browser-use 子代理无写文件工具;教程站匿名 403,只能走已登录的 Cursor 浏览器;用 CDP Runtime.evaluate 补白到 >26000 字符强制落盘到 ~/.cursor/browser-logs。
|
||||
- 旧编辑器进程可能锁 bin/Release,编译用 -p:OutDir 指到 %TEMP%。
|
||||
- ExportMod 仍会先删 Mod 的 Data/ 整目录(用户自放文件会丢)。
|
||||
- mergeMode:官方只定义 modify/add/remove/replace 名称与缺省规则(匹配到→modify,否则 add);我们对改动节点写完整节点 replace,安全。
|
||||
- 待办候选:DebugOutputGameData 验证功能;ExportMod 只删自己写的文件;存档页扩展卡组编辑。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: Visual Studio Enterprise 2026 已安装并替换 Community 2022
|
||||
type: fact
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/visual-studio-enterprise-2026-已安装并替换-community-2022
|
||||
stable_id: 93661d52-1024-42c2-aaf5-dcc8c0833276
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: vs2026-install-replace-20260901-2205
|
||||
created_at: '2026-09-01T13:53:08.283309+00:00'
|
||||
updated_at: '2026-09-01T13:53:08.283309+00:00'
|
||||
tags:
|
||||
- visual-studio
|
||||
- environment
|
||||
- wpf
|
||||
- dotnet
|
||||
---
|
||||
|
||||
2026-09-01 已按用户确认完成开发环境更换:Visual Studio Enterprise 2026(实际安装器通道为 Insiders/Preview,版本 18.10.12120.281)安装于 D:\Program Files\Microsoft Visual Studio\2026\Enterprise,.NET Desktop 工作负载可用;缓存路径指定为 E:\VisualStudioCache\2026(安装完成后目录为空,安装包已清理)。Community 2022 安装于 D:\Program Files\Microsoft Visual Studio\2022\Community 已成功卸载;独立的 Visual Studio Build Tools 2022 保留。VS 2026 可启动并打开 AoE3EditTools.sln,dotnet SDK 10.0.400、MSBuild 18.9.6,项目 Debug 构建 0 警告 0 错误。
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
title: WPF DataGrid 可编辑集合与大型树搜索修复
|
||||
type: experience
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/wpf-data-grid-可编辑集合与大型树搜索修复
|
||||
stable_id: e9b97961-961f-4499-974e-d2661ad1d6d3
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: aoe3-search-edititem-fix-20260902
|
||||
created_at: '2026-09-02T00:43:45.009735+00:00'
|
||||
updated_at: '2026-09-02T00:43:45.009735+00:00'
|
||||
tags:
|
||||
- wpf
|
||||
- datagrid
|
||||
- search
|
||||
- performance
|
||||
- bugfix
|
||||
---
|
||||
|
||||
AoE3 WPF 编辑器中,DataGrid 的 ItemsSource 若直接绑定 LINQ Where 返回的 IEnumerable,WPF 默认集合视图不支持 IEditableCollectionView.EditItem,双击单元格会抛“此视图不允许 EditItem”。修复方式是维护 ObservableCollection<EntityField> VisibleFields,在实体或字段分组改变时用原字段对象刷新集合。国家树包含 126 个文明及大量建筑/关系节点,不能在 Search setter 中同步递归过滤整树;改为 300ms 防抖、CancellationTokenSource 取消旧请求,并在后台仅检索 Civs、Entities、Relations 轻量集合,UI 线程一次替换最多 250 个直接可点击结果,清空搜索立即恢复完整 CivTree。真实 Data.bar 验证“阿坎”“Spanish”“Musketeer”搜索成功,WPF 集合视图 EditItem/CommitEdit 成功。
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
---
|
||||
title: Age of Empires III EditTools – Current State
|
||||
type: curated
|
||||
permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/curated/age-of-empires-iii-edit-tools-current-state
|
||||
stable_id: 85bde49b-c952-4fb6-b172-9ed47a024979
|
||||
scope: project
|
||||
project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: current_state
|
||||
revision: 19
|
||||
source_memory_ids: []
|
||||
source_checkpoint_ids:
|
||||
- c3d57a20-2881-4db2-ba98-572d030532ee
|
||||
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: 18
|
||||
source_revisions:
|
||||
memory:9844879f-8dba-484e-b126-d0c18e33d42b: '1'
|
||||
memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5: '1'
|
||||
memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc: '1'
|
||||
memory:4995165e-24be-45ca-a243-c8cdd97b7804: '1'
|
||||
memory:3c6217f5-07df-4a9d-b174-e77d114006ce: '1'
|
||||
memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21: '1'
|
||||
memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9: '1'
|
||||
memory:b0969eb6-5402-4fb1-8419-d349d2579e2e: '1'
|
||||
memory:4fcb8138-eb99-4843-a905-60c6862a4672: '1'
|
||||
memory:5e0fa990-763d-4497-a002-dd9d053d3b70: '1'
|
||||
memory:949cae49-4854-482f-a1ec-94997642a35c: '1'
|
||||
memory:f5f6f20a-d2bb-4b47-9c2f-d599d97ac876: '1'
|
||||
memory:dd485c8d-dd52-4b5a-b83f-41695df710d9: '1'
|
||||
memory:e9be74f4-0ec9-4eeb-a304-23bee349028b: '1'
|
||||
memory:cbb9e5e4-8915-4625-b793-e696814406d7: '1'
|
||||
memory:e3f0b13b-7c81-47ab-9f58-5a4b4993fd4a: '1'
|
||||
memory:99e867ab-65c5-4e63-8ee0-48a4141483fc: '1'
|
||||
memory:16477b7d-d5d8-427d-80cd-8ec4cc1c0c69: '1'
|
||||
memory:d5cdc775-5709-49a0-b266-152e1633d4d3: '1'
|
||||
memory:bcd308d9-292e-4f2a-9809-a1f9d720a2d2: '1'
|
||||
memory:6e95e66b-f462-41d0-ac68-823fc3c44e11: '1'
|
||||
memory:c202edde-bed0-4d60-a532-3b21bae66f68: '1'
|
||||
memory:50f1b7ba-821b-43a9-99c8-ced403145071: '1'
|
||||
memory:d2090e2f-4e43-4d00-a409-db48fb9efc86: '1'
|
||||
memory:93661d52-1024-42c2-aaf5-dcc8c0833276: '1'
|
||||
memory:68766d01-d902-478c-87dd-76e61f6d508d: '1'
|
||||
memory:5cb26c5f-5d6f-4fea-b206-e76a1ce697d3: '1'
|
||||
memory:65e6eb44-817d-4063-ba39-94525727749f: '1'
|
||||
memory:d63e1555-2a78-449e-9e91-990b4cc4e37c: '1'
|
||||
memory:2dff9159-f607-4f5b-bb1a-b3e3af15c2cb: '1'
|
||||
memory:e9b97961-961f-4499-974e-d2661ad1d6d3: '1'
|
||||
memory:07689f07-a36f-48bd-bd6f-6c8294f22eda: '1'
|
||||
memory:f35ad4ea-f1fa-4c2e-9627-3f9b6b49ab1a: '1'
|
||||
memory:c3d57a20-2881-4db2-ba98-572d030532ee: '1'
|
||||
source_dispositions:
|
||||
processed: 18
|
||||
unchanged: 0
|
||||
unsupported: 0
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:c3d57a20-2881-4db2-ba98-572d030532ee
|
||||
- curated_baseline:85bde49b-c952-4fb6-b172-9ed47a024979
|
||||
- memory:f35ad4ea-f1fa-4c2e-9627-3f9b6b49ab1a
|
||||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||||
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
|
||||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||||
- memory:07689f07-a36f-48bd-bd6f-6c8294f22eda
|
||||
- memory:2dff9159-f607-4f5b-bb1a-b3e3af15c2cb
|
||||
- memory:e9b97961-961f-4499-974e-d2661ad1d6d3
|
||||
- memory:d63e1555-2a78-449e-9e91-990b4cc4e37c
|
||||
- memory:65e6eb44-817d-4063-ba39-94525727749f
|
||||
- memory:68766d01-d902-478c-87dd-76e61f6d508d
|
||||
- memory:5cb26c5f-5d6f-4fea-b206-e76a1ce697d3
|
||||
- memory:c202edde-bed0-4d60-a532-3b21bae66f68
|
||||
- memory:50f1b7ba-821b-43a9-99c8-ced403145071
|
||||
- memory:d2090e2f-4e43-4d00-a409-db48fb9efc86
|
||||
- memory:93661d52-1024-42c2-aaf5-dcc8c0833276
|
||||
- memory:6e95e66b-f462-41d0-ac68-823fc3c44e11
|
||||
- memory:cbb9e5e4-8915-4625-b793-e696814406d7
|
||||
- memory:e3f0b13b-7c81-47ab-9f58-5a4b4993fd4a
|
||||
- memory:99e867ab-65c5-4e63-8ee0-48a4141483fc
|
||||
- memory:16477b7d-d5d8-427d-80cd-8ec4cc1c0c69
|
||||
- memory:d5cdc775-5709-49a0-b266-152e1633d4d3
|
||||
- memory:bcd308d9-292e-4f2a-9809-a1f9d720a2d2
|
||||
- memory:e9be74f4-0ec9-4eeb-a304-23bee349028b
|
||||
- memory:f5f6f20a-d2bb-4b47-9c2f-d599d97ac876
|
||||
- memory:dd485c8d-dd52-4b5a-b83f-41695df710d9
|
||||
- memory:4fcb8138-eb99-4843-a905-60c6862a4672
|
||||
- memory:5e0fa990-763d-4497-a002-dd9d053d3b70
|
||||
- memory:949cae49-4854-482f-a1ec-94997642a35c
|
||||
- memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5
|
||||
- memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc
|
||||
- memory:4995165e-24be-45ca-a243-c8cdd97b7804
|
||||
- memory:3c6217f5-07df-4a9d-b174-e77d114006ce
|
||||
- memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21
|
||||
- memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9
|
||||
- memory:b0969eb6-5402-4fb1-8419-d349d2579e2e
|
||||
- project:4111f53b-afa5-48e1-aaf8-d70a7edc0638
|
||||
- memory:9844879f-8dba-484e-b126-d0c18e33d42b
|
||||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||||
job_cited_source_ids:
|
||||
- memory:c3d57a20-2881-4db2-ba98-572d030532ee
|
||||
- curated_baseline:85bde49b-c952-4fb6-b172-9ed47a024979
|
||||
conflicts: []
|
||||
supersedes: []
|
||||
preferences: []
|
||||
source_cursor: 362
|
||||
source_hash: 2b09adcf963685730bb83e7b36c24f968972959d0170de3bc9aeb89af274e36a
|
||||
prompt_version: 2026-08-12.3
|
||||
schema_version: '3'
|
||||
curation_job_id: 44829346-7821-4b8d-b6df-bcb48800e612
|
||||
created_at: '2026-08-31T13:51:58.100962+00:00'
|
||||
updated_at: '2026-09-04T19:58:06.509058+00:00'
|
||||
tags:
|
||||
- development
|
||||
---
|
||||
|
||||
# 当前状态 – Age of Empires III EditTools
|
||||
|
||||
## 项目概览
|
||||
- **项目 ID**: `4111f53b-afa5-48e1-aaf8-d70a7edc0638`
|
||||
- **工作空间类型**: development(共享配置)
|
||||
- **目标游戏**: Age of Empires III: Definitive Edition `100.19.17293.0`
|
||||
- **核心数据文件**: `Game\\Data\\Data.bar`
|
||||
|
||||
## 技术实现(截至 2026‑09‑02)
|
||||
- 采用 **纯 C# .NET 8 WPF** 语义化编辑器。
|
||||
- `dotnet build` 生成零警告零错误;调试构建成功并显示窗口标题 *AoE3 编辑器*。
|
||||
- 真实 `Data.bar` 测试 50/50 通过。
|
||||
|
||||
## 最近修复要点
|
||||
1. **搜索与编辑异常**:`VisibleFields` 改为 `ObservableCollection<EntityField>`。
|
||||
2. **国家搜索性能**:实现 300 ms 防抖 + `CancellationTokenSource`,返回 250 条结果。
|
||||
3. **验证**:能搜索 `阿坎`、`Spanish`、`Musketeer` 等关键词。
|
||||
|
||||
## 环境与工具链
|
||||
- Visual Studio Enterprise 2026 Stable 18.9.12120.119,.NET SDK 10.0.400。
|
||||
- PowerShell 脚本 `scripts/publish-wpf.ps1` 生成自包含发布目录。
|
||||
|
||||
## 开发记忆与全局指导(引用)
|
||||
- **沟通语言**:日常交流、代码注释使用中文。(`global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7`)
|
||||
- **记忆管理**:所有开发记忆由 MemRelay 持久化,未在本地创建 `aidocs/` 或 `project_context.md`。(`global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6`)
|
||||
- **实现原则**:遵循 KISS 与 YAGNI,复用已有框架、服务、约定。(`global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`)
|
||||
- **AI 与 Git**:默认关闭,系统不会主动探测模型或创建 `.git` 目录。(`global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d`)
|
||||
- **凭证处理**:登录、SSH、数据库或 API 调用前查询 Vaultwarden;新增或修改的凭证即写入密码库。(`global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`)
|
||||
- **Windows 兼容**:所有路径、命令需兼容 Windows。(`global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823`)
|
||||
|
||||
## 待办事项概览
|
||||
- 持续处理已确认的 1‑3 项问题(目标版本保护、原始基线更新、Mod 导出事务化)以及后续功能实现。
|
||||
|
||||
*本概览基于截至 2026‑08‑31 的所有已记录检查点、决策与全局指导编写。*
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user