chore: 导入旧记忆备份供恢复

This commit is contained in:
2026-09-23 22:38:40 +08:00
parent 5313fcee7a
commit 6a6a895eaf
638 changed files with 29816 additions and 1 deletions
@@ -0,0 +1,78 @@
---
title: VMZhCN 实施任务列表
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/vmzh-cn-实施任务列表
stable_id: a1c59b03-2509-4e4a-ad82-dc19ca906c30
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: tasks
revision: 4
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions:
memory:8e4d8070-44cb-4c5c-bdf5-2a241cf127dc: '1'
memory:0ab7a208-e8ad-4933-b526-9f1e8e297e12: '1'
memory:d697a9d0-ec5c-4e1a-a378-753dc93f2464: '1'
memory:d52edecb-bc1d-4a3f-8347-58574f8f7e3f: '1'
memory:2f6e65b2-e6f2-4970-b570-1895590207dd: '1'
memory:334cf92b-b81d-419b-a21d-c2d66cd8d634: '1'
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- curated_baseline:a1c59b03-2509-4e4a-ad82-dc19ca906c30
- memory:0ab7a208-e8ad-4933-b526-9f1e8e297e12
- memory:d697a9d0-ec5c-4e1a-a378-753dc93f2464
- memory:d52edecb-bc1d-4a3f-8347-58574f8f7e3f
- memory:2f6e65b2-e6f2-4970-b570-1895590207dd
- memory:334cf92b-b81d-419b-a21d-c2d66cd8d634
- memory:8e4d8070-44cb-4c5c-bdf5-2a241cf127dc
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-26T19:00:59.632716+00:00'
updated_at: '2026-08-27T18:35:48.834950+00:00'
tags:
- 翻译
- CLI
- 备份
- 测试
---
## 待办任务(基于当前状态)
1. **完善 locale 切换实现** – 完成 `switch zh_CN` 与 `switch en_US` 的全部逻辑,包括系统偏好写入、桌面启动器生成以及必要的根权限检查。
- 参考实现步骤见 `vmzhcn.py` 中的 `command_switch`(source: `git:vmzhcn.py`)。
2. **补全 UI 翻译** – 解决仍为英文的底部 GTK 按钮以及部分硬编码标签(如 *My Computer*),并在后续 VMware 发行版中继续扫描新增键。
- 当前已完成 1 394 条 Linux 专属键的翻译(source: `1e49f29e-51cc-40fc-854b-09b5ac845b95`)。
3. **自动化测试扩展** – 为 `switch` 命令添加单元测试并在 CI 中运行,确保覆盖率 100%。
4. **文档完善** – 在 `README.md` 中补充 `switch` 使用示例、备份恢复流程以及已知限制的详细说明(source: `a1c59b03-2509-4e4a-ad82-dc19ca906c30`)。
5. **持续集成 (CI) 配置** – 将 `coverage`、`status` 与单元测试整合进 CI,自动在每次提交后报告翻译覆盖率。
6. **未来发布兼容** – 规划在新 VMware 版本发布后运行 `scan` → `build` 流程,更新 `linux‑overrides‑zh_CN.vmsg`,并在任务列表中记录该周期性工作(source: `7aa36dd8-e492-443e-a799-782af7babb9f`)。
### 已完成的里程碑(2026‑08‑26)
- 项目创建、基本 CLI `vmzhcn.py`、`linux‑overrides‑zh_CN.vmsg` 添加(22:10)。
- 完成全部 1 394 条 Linux 键的翻译(22:22),验证 100% 覆盖。
- 创建 Gitea 仓库并推送首个提交(22:27‑28)。
- 实现备份/恢复逻辑、字典 SHA‑256 校验、单元测试全部通过(22:25)。
**标签**: [翻译], [CLI], [备份], [测试]
@@ -0,0 +1,113 @@
---
title: VMZhCN 当前状态
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/vmzh-cn-当前状态
stable_id: 1e49f29e-51cc-40fc-854b-09b5ac845b95
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: current_state
revision: 4
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions:
memory:aac1929b-26fa-4bbc-8b95-d5cce2bd46a0: '1'
memory:8e4d8070-44cb-4c5c-bdf5-2a241cf127dc: '1'
memory:580584b3-22e9-419b-a989-e4fe26081a2b: '1'
memory:d697a9d0-ec5c-4e1a-a378-753dc93f2464: '1'
memory:d52edecb-bc1d-4a3f-8347-58574f8f7e3f: '1'
memory:0ab7a208-e8ad-4933-b526-9f1e8e297e12: '1'
memory:03fd8fb2-eb6a-4760-9639-811340af10cc: '1'
memory:40c32d85-0c89-418e-b880-5f80086e0c39: '1'
memory:334cf92b-b81d-419b-a21d-c2d66cd8d634: '1'
memory:fce3aa12-54d8-4d0d-a10c-247732dff929: '1'
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- curated_baseline:1e49f29e-51cc-40fc-854b-09b5ac845b95
- memory:fce3aa12-54d8-4d0d-a10c-247732dff929
- curated_baseline:7aa36dd8-e492-443e-a799-782af7babb9f
- memory:d697a9d0-ec5c-4e1a-a378-753dc93f2464
- memory:d52edecb-bc1d-4a3f-8347-58574f8f7e3f
- memory:0ab7a208-e8ad-4933-b526-9f1e8e297e12
- memory:03fd8fb2-eb6a-4760-9639-811340af10cc
- memory:40c32d85-0c89-418e-b880-5f80086e0c39
- memory:334cf92b-b81d-419b-a21d-c2d66cd8d634
- file:/home/nullix/code/VMZhCN/vmzhcn.py
- file:/home/nullix/code/VMZhCN/data/linux-overrides-zh_CN.vmsg
- file:/home/nullix/code/VMZhCN/README.md
- agent_sync:vmzhcn-curation-20260827-0623
- agent_sync:vmzhcn-curation-20260827-0633-gitea
- 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_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
- global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56
- global_guidance_document:2b47472d-3ac2-4394-8646-c6bf1c0fc270
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
- global_guidance_document:e4fc35f2-1606-4b79-9c1e-367edeea97d0
- memory:aac1929b-26fa-4bbc-8b95-d5cce2bd46a0
- memory:8e4d8070-44cb-4c5c-bdf5-2a241cf127dc
- memory:580584b3-22e9-419b-a989-e4fe26081a2b
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-26T19:01:05.995568+00:00'
updated_at: '2026-08-27T18:35:40.339313+00:00'
tags:
- current_state
- VMZhCN
- development
---
# 当前项目状态
- **项目路径**:`/home/nullix/code/VMZhCN`
- **目标**:提供完整的 `zh_CN` 本地化包,使 Linux 版 VMware Workstation Pro 26H1 完全中文化。
## 已完成的功能
| 功能 | 说明 |
|------|------|
| **Linux 消息覆盖** | 8 401 条主键 + 326 条网络编辑器键已全部翻译,覆盖率 100%。 |
| **备份/恢复机制** | 在 `/var/backups/vmzhcn` 中按时间戳保存字典,冲突时自动追加后缀。 |
| **单元测试** | 7 项测试全部通过,覆盖解析、合并、占位符校验、路径规范等核心逻辑。 |
| **仓库管理** | Gitea 仓库已创建并推送首个提交,`.gitignore` 已排除 `aidocs/` 与临时文件。 |
| **CLI** | `vmzhcn.py` 支持 `scan`、`build`、`install`、`restore`、`switch`、`coverage`、`status` 等子命令。 |
## 已知问题与待办事项
- **硬编码英文 UI**:部分顶部标签仍为英文,需在二进制层面修改或等待官方提供本地化支持。
- **`switch` 命令实现不完整**:当前仅生成占位脚本,缺少对用户偏好文件的写入与桌面启动器更新。
- **未来版本兼容**:新发布的 VMware 可能引入新消息键,需要重新运行 `scan` 并更新覆盖文件。
- **根权限要求**:`install`、`restore`、`switch` 需要管理员/root 权限。
> **使用的工作流规则**(来源)
> - 本地笔记采用 MemRelay 仅存储 `what/why/validation/issues/next`,并在 `.gitignore` 中排除 `aidocs/`【source_ids: ["memory:5ed86f53-b53e-4534-8e51-d3a010069d5e"]】
> - 任务列表详见 `a1c59b03-2509-4e4a-ad82-dc19ca906c30`(当前任务 1‑6)【source_ids: ["memory:a1c59b03-2509-4e4a-ad82-dc19ca906c30"]】
> - 时间线记录来源 `94c67caa-7405-4ea1-bb54-da89894f33b2`(事件时间戳)【source_ids: ["memory:94c67caa-7405-4ea1-bb54-da89894f33b2"]】
**标签**:["current_state","VMZhCN","development"]
@@ -0,0 +1,76 @@
---
title: VMZhCN 项目时间线
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/vmzh-cn-项目时间线
stable_id: 94c67caa-7405-4ea1-bb54-da89894f33b2
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: timeline
revision: 3
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions:
memory:334cf92b-b81d-419b-a21d-c2d66cd8d634: '1'
memory:2f6e65b2-e6f2-4970-b570-1895590207dd: '1'
memory:d697a9d0-ec5c-4e1a-a378-753dc93f2464: '1'
memory:d52edecb-bc1d-4a3f-8347-58574f8f7e3f: '1'
memory:0ab7a208-e8ad-4933-b526-9f1e8e297e12: '1'
memory:03fd8fb2-eb6a-4760-9639-811340af10cc: '1'
memory:40c32d85-0c89-418e-b880-5f80086e0c39: '1'
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- curated_baseline:94c67caa-7405-4ea1-bb54-da89894f33b2
- memory:334cf92b-b81d-419b-a21d-c2d66cd8d634
- memory:2f6e65b2-e6f2-4970-b570-1895590207dd
- memory:d697a9d0-ec5c-4e1a-a378-753dc93f2464
- agent_sync:vmzhcn-curation-20260827-0623
- memory:d52edecb-bc1d-4a3f-8347-58574f8f7e3f
- memory:0ab7a208-e8ad-4933-b526-9f1e8e297e12
- memory:03fd8fb2-eb6a-4760-9639-811340af10cc
- memory:40c32d85-0c89-418e-b880-5f80086e0c39
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-26T22:44:17.897275+00:00'
updated_at: '2026-08-27T18:35:45.077609+00:00'
tags:
- timeline
- VMZhCN
- development
---
# 项目时间线(UTC)
| 时间点 | 事件 |
|--------|------|
| **2026‑08‑26 22:10:23** | 项目初始化,创建 `vmzhcn.py` 脚手架,加入 `linux-overrides-zh_CN.vmsg`。【source_ids: ["memory:94c67caa-7405-4ea1-bb54-da89894f33b2"]】
| **22:22:50** | 完成 Linux 消息覆盖翻译,1 394 条键 100% 覆盖。【source_ids: ["memory:1e49f29e-51cc-40fc-854b-09b5ac845b95"]】
| **22:23:29** | 首次检查点同步,标记脏资源 3 项。【source_ids: ["memory:1e49f29e-51cc-40fc-854b-09b5ac845b95"]】
| **22:25:35** | 字典同步完成,SHA‑256 校验,加入备份冲突处理逻辑。【source_ids: ["memory:1e49f29e-51cc-40fc-854b-09b5ac845b95"]】
| **22:27:48 – 22:28:00** | 创建 Gitea 仓库,首次提交并推送,仓库保持干净。【source_ids: ["memory:94c67caa-7405-4ea1-bb54-da89894f33b2"]】
| **2026‑08‑27 06:28 CST** | 项目状态快照(截至此时的全部实现、测试通过、已知限制)。【source_ids: ["memory:1e49f29e-51cc-40fc-854b-09b5ac845b95"]】
> 时间线依据 **Batch 1** 中的 “Timeline of key events” 条目编写,保持原始 UTC 时间并转写为中文描述。
**标签**:["timeline","VMZhCN","development"]
@@ -0,0 +1,61 @@
---
title: VMZhCN 项目术语表
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/vmzh-cn-项目术语表
stable_id: 2b4cee7a-4593-4746-b3b2-3d325811568c
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: glossary
revision: 1
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions: {}
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids: []
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-27T18:35:51.015683+00:00'
updated_at: '2026-08-27T18:35:51.016144+00:00'
tags:
- 术语
- 定义
---
## 关键术语解释
| 术语 | 中文解释 | 关联来源 |
|------|----------|----------|
| **覆盖(overrides)** | 为特定语言或平台提供的替代 UI 文本文件,覆盖原始二进制中嵌入的英文字符串。对应 `linux‑overrides‑zh_CN.vmsg`(source: `git:data/source/26H1-build-25388281-en.vmsg`)。 | `memory:git:data/source/26H1-build-25388281-en.vmsg` |
| **备份目录** | 安装或恢复前将现有字典保存到 `/var/backups/vmzhcn/<timestamp>`,冲突时追加 `-1`, `-2` 后缀(source: `git:vmzhcn.py`)。 | `memory:git:vmzhcn.py` |
| **Locale 切换** | 修改用户偏好文件 `~/.vmware/preferences` 中的 `pref.locale`,并生成对应的 `.desktop` 启动器以便在 GUI 中启动中文或英文版 VMware(source: `git:vmzhcn.py`)。 | `memory:git:vmzhcn.py` |
| **占位符(placeholder)** | 消息中形如 `%1$s`、`%2$d` 的格式化标记。系统在 `validate_overrides` 时比较占位符签名,若不匹配生成 **警告**(source: `git:tests/test_vmzhcn.py`)。 | `memory:git:tests/test_vmzhcn.py` |
| **KISS & YAGNI** | 开发原则:保持实现最简且仅实现当前需求,不引入未使用的依赖(source: `bf88c265-4749-4c50-85bc-4bae25298cd5`)。 | `memory:bf88c265-4749-4c50-85bc-4bae25298cd5` |
| **AI & Git 自动化** | 默认禁用 AI 驱动的代码生成与自动 Git 操作,除非用户显式开启(source: `3f91189b-11a1-45bb-8357-4f413dc1609d`)。 | `memory:3f91189b-11a1-45bb-8357-4f413dc1609d` |
| **凭证检索规则** | 在任何登录、SSH、API 调用前先在 Vaultwarden 搜索,若唯一匹配则自动使用;新凭证立即写入密码库,仅存储名称、用途、使用说明(source: `105b328f-4bda-4641-90a7-7282ef156316`)。 | `memory:105b328f-4bda-4641-90a7-7282ef156316` |
| **MemRelay 记忆管理** | 项目层面的笔记仅保存在 MemRelay,不在本地 `aidocs/` 或 `project_context.md` 中创建,除非用户请求导出(source: `1194be51-ee29-47e1-8957-ec2888007db6`)。 | `memory:1194be51-ee29-47e1-8957-ec2888007db6` |
| **提交规范** | 提交信息使用中文一句话描述,如 `feat: 添加用户登录`,并确保 `aidocs/` 被列入 `.gitignore`(source: `5ed86f53-b53e-4534-8e51-d3a010069d5e`)。 | `memory:5ed86f53-b53e-4534-8e51-d3a010069d5e` |
| **默认沟通语言** | 除非用户另有要求,所有日常沟通必须使用中文(source: `7429c22e-50ff-458a-97c0-423c679904c7`)。 | `memory:7429c22e-50ff-458a-97c0-423c679904c7` |
**标签**: [术语], [定义]
@@ -0,0 +1,86 @@
---
title: VMZhCN 项目概览
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/vmzh-cn-项目概览
stable_id: 7aa36dd8-e492-443e-a799-782af7babb9f
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: overview
revision: 2
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions:
memory:aac1929b-26fa-4bbc-8b95-d5cce2bd46a0: '1'
memory:8e4d8070-44cb-4c5c-bdf5-2a241cf127dc: '1'
memory:580584b3-22e9-419b-a989-e4fe26081a2b: '1'
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- memory:aac1929b-26fa-4bbc-8b95-d5cce2bd46a0
- memory:8e4d8070-44cb-4c5c-bdf5-2a241cf127dc
- memory:580584b3-22e9-419b-a989-e4fe26081a2b
- 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
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-26T19:00:57.411287+00:00'
updated_at: '2026-08-27T18:35:38.916252+00:00'
tags:
- overview
- VMZhCN
- development
---
# 项目概览
本项目 **VMZhCN** 的目标是为 **VMware Workstation Pro 26H1** Linux 版提供完整的简体中文本地化(`zh_CN`)。
- **核心功能**:扫描已安装的 VMware 二进制文件 → 生成英文 `.vmsg` → 合并 `linux-overrides-zh_CN.vmsg` → 生成完整的中文覆盖文件。支持 **备份/恢复**、**语言切换**(`switch zh_CN / en_US`)以及 **单元测试**。
- **已实现里程碑**(2026‑08‑26)
- 项目创建,完成 `vmzhcn.py` 脚手架以及 `linux-overrides-zh_CN.vmsg`。
- 翻译 **全部 1 394** 条 Linux‑specific 消息,覆盖率 100%。
- 实现备份冲突处理逻辑,字典 SHA‑256 校验。
- 创建 Gitea 仓库并完成首个提交。
- 通过 7 项单元测试。
- **已知限制**:
- 部分顶层 UI 标签(如 *My Computer*、*Open a Virtual Machine*)硬编码在二进制中,仍显示英文。
- `vmware‑netcfg` 底部 GTK 按钮仍为英文。
- **后续工作**:
- 对未来 VMware 版本进行增量扫描,补充新键。
- 将合法的 Windows 17.6.4 字典迁移至 Linux 覆盖(受版权限制,仅共享可合法使用的翻译)。
- 完成 `switch` 命令的完整实现并补足自动化测试。
> **关键全局规则**(已在项目中遵循)
> - 日常沟通使用中文(除非用户另有请求)【source_ids: ["memory:7429c22e-50ff-458a-97c0-423c679904c7"]】
> - 项目级笔记仅存于 MemRelay,不在本地 `aidocs/` 中维护【source_ids: ["memory:1194be51-ee29-47e1-8957-ec2888007db6"]】
> - 采用 **KISS & YAGNI** 原则,避免不必要的依赖【source_ids: ["memory:bf88c265-4749-4c50-85bc-4bae25298cd5"]】
> - 默认禁用 AI & Git 自动化(除非显式配置)【source_ids: ["memory:3f91189b-11a1-45bb-8357-4f413dc1609d"]】
> - 所有凭据在使用前先在 Vaultwarden 中检索,新增/修改的凭据立即写入密码库【source_ids: ["memory:105b328f-4bda-4641-90a7-7282ef156316"]】
**标签**:["overview","VMZhCN","development"]
@@ -0,0 +1,72 @@
---
title: VMZhCN 常见故障及排查指南
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/development/vmzh-cn-常见故障及排查指南
stable_id: f68be77d-5786-49bb-8079-7dad971a5ae7
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: troubleshooting
revision: 1
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions: {}
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids: []
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-27T18:35:55.011353+00:00'
updated_at: '2026-08-27T18:35:55.012016+00:00'
tags:
- 故障排查
- 错误码
- 解决方案
---
## 错误与解决方案集合
| 场景 | 典型错误信息 | 可能原因 | 推荐处理步骤 |
|------|--------------|----------|--------------|
| **文件缺失/锁定** | `msg.cui.vmdberror.fileNotFound` / `msg.cui.vmdberror.vmlocked` | 文件路径错误或被其他进程占用 | 检查路径、确保文件未被占用;必要时重启 VMware 服务(source: `Batch 3/4 – Localization & UI Message Summary`)。 |
| **权限不足** | `msg.cui.vmdberror.noPermission` / `msg.cui.host.noPermission` | 以非 root 用户执行需要管理员权限的操作 | 使用 `sudo` 重新运行命令;或在 Vaultwarden 中获取已保存的提升凭证(source: `105b328f-4bda-4641-90a7-7282ef156316`)。 |
| **VM 正在运行时修改磁盘** | `msg.cui.vm.disk.shrink.independentNonpersistent` | 试图在运行状态下压缩或改变磁盘模式 | 先 **停止** 虚拟机,再执行磁盘操作。 |
| **不受支持的硬件/控制器** | `msg.cui.wizard.vm.busLogicVista` | 选用了不兼容的 SCSI/IDE 控制器 | 在向导中提升硬件版本或更换为受支持的控制器。 |
| **加密冲突** | `msg.cui.vmCryptoVMDB.decryptionFailedValidation` | 存在快照、TPM、或链接克隆导致加密无法修改 | 删除相关快照或克隆,或先 **导出** 并重新导入为未加密的 VM。 |
| **网络配置错误** | `msg.netcfg.NAT.PrefixV6BadFormat` / `msg.vmnetcfg.linux.cantRead` | IPv6 前缀格式错误或缺少根权限读取配置文件 | 使用正确的 IPv6 前缀格式;以 root 重新运行 `vmware-netcfg` 并检查 `/etc/vmware/networking`。 |
| **更新服务器不可达** | `msg.cui.cdsResult.httpHostResolveError` / `msg.cui.cdsResult.proxyAuthenticationError` | DNS 问题或代理认证失败 | 检查网络连接、代理设置,必要时在 UI 中手动输入凭证。 |
| **VMware Tools 未安装** | `msg.cui.toolsInfoBar.txtNotInstalled` | 客户系统未挂载或未运行 Tools 安装程序 | 在虚拟机内挂载 Tools ISO,手动运行 `VMware-Tools-*.rpm` 或对应的安装脚本。 |
| **Easy‑Install 失效** | `msg.cui.wizard.vm.easyinstall.fail.scanIso` | 未提供有效的驱动 ISO 路径 | 在向导中手动指定驱动位置或改为手动安装。 |
| **VNC 端口冲突** | `msg.vnc.portChanged` | 已有用户连接到 VNC 服务器 | 断开当前连接后再修改端口,或重启 VMware 服务。 |
| **备份恢复错误** | `msg.cui.vmBackendVMDB.overrideLock` | 备份目录已被占用或权限不足 | 确认 `/var/backups/vmzhcn` 存在且可写,必要时手动清理冲突的子目录。 |
### 诊断工具
- 使用 `vmzhcn.py status` 查看当前字典路径、已安装消息数以及用户 locale(source: `git:vmzhcn.py`)。
- `vmzhcn.py coverage` 能快速定位仍缺失的 Linux 键,输出为 `missing-linux-en.vmsg`,供翻译人员补全(source: `git:README.md`)。
- `vmzhcn.py scan` 重新抓取最新二进制中的英文键,以便在新版本发布后生成增量更新(source: `git:README.md`)。
### 参考来源
- 错误信息与对应解释均摘自 **Batch 3/4 – Localization & UI Message Summary**(source: `Batch 3/4 – Localization & UI Message Summary`)。
- 工作流与命令实现细节来源于 `vmzhcn.py`(source: `git:vmzhcn.py`)以及单元测试文件 `tests/test_vmzhcn.py`(source: `git:tests/test_vmzhcn.py`)。
**标签**: [故障排查], [错误码], [解决方案]
@@ -0,0 +1,74 @@
---
title: VMZhCN 系统架构与工作流概览
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/development/vmzh-cn-系统架构与工作流概览
stable_id: 7370b9b5-c94f-40a2-a98c-5bd36be07b2f
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: architecture
revision: 1
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions: {}
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids: []
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-27T18:35:52.911964+00:00'
updated_at: '2026-08-27T18:35:52.912485+00:00'
tags:
- 架构
- 工作流
- 实现
---
## 架构概览
项目核心由 **Python CLI (`vmzhcn.py`)** 组成,提供以下高层子命令:
| 子命令 | 功能描述 | 关键实现点 |
|--------|----------|-----------|
| `scan` | 使用 `strings` 从本地已安装的 **VMware Workstation Pro 26H1** Linux 二进制中提取全部嵌入的英文消息,生成 `*.en.vmsg` 基准文件。 | `command_scan`(source: `git:vmzhcn.py`)。 |
| `build` | 读取基准文件与 `linux‑overrides‑zh_CN.vmsg`,解析、校验占位符、合并,输出完整的中文覆盖字典。 | `command_build` 包括 `parse_vmsg`、`validate_overrides`、`merge_dictionaries`(source: `git:vmzhcn.py`)。 |
| `install` | 以 **root** 权限备份现有字典至 `/var/backups/vmzhcn/<timestamp>`,然后原子替换为新字典,确保文件所有权/权限正确。 | `command_install`(source: `git:vmzhcn.py`)。 |
| `restore` | 从备份目录恢复先前的字典,同样需要 root。 | `command_restore`(source: `git:vmzhcn.py`)。 |
| `switch` | 正常化目标 locale(仅支持 `zh_CN`、`en_US`),写入 `~/.vmware/preferences`,生成对应的桌面启动器 `.desktop`,可选调用 `update-desktop-database`。 | `command_switch`(source: `git:vmzhcn.py`)。 |
| `coverage` | 对比基准与覆盖字典,统计整体与 Linux‑specific 翻译覆盖率,按启发式分组(`translation_group`),可输出缺失键模板。 | `command_coverage`(source: `git:vmzhcn.py`)。 |
| `status` | 展示当前 VMware 根路径、字典路径、已安装消息数、VM 版本以及用户 locale 设置。 | `command_status`(source: `git:vmzhcn.py`)。 |
### 数据流顺序(典型使用场景)
1. **初次部署** → `scan` → 生成 `base-en.vmsg` → `build`(合并本地覆盖) → `install`(备份+替换) → `switch zh_CN`(用户层切换)。
2. **版本升级** → 再次 `scan` → `build`(可能出现新键) → `coverage` 检查缺口 → 翻译缺失键 → `install` → `switch`。
3. **故障恢复** → `restore` → `status` 验证。
### 关键约束(来自全局/项目偏好)
- **语言沟通**:所有交流使用中文(source: `7429c22e-50ff-458a-97c0-423c679904c7`)。
- **KISS & YAGNI**:仅实现当下需求,避免投机性依赖(source: `bf88c265-4749-4c50-85bc-4bae25298cd5`)。
- **AI 与 Git 自动化**:默认关闭(source: `3f91189b-11a1-45bb-8357-4f413dc1609d`)。
- **凭证自动获取**:所有网络/SSH/API 调用前先查询 Vaultwarden(source: `105b328f-4bda-4641-90a7-7282ef156316`)。
- **记忆管理**:项目笔记仅保存在 MemRelay(source: `1194be51-ee29-47e1-8957-ec2888007db6`)。
- **提交规范**:使用中文单句描述,`aidocs/` 永远 `.gitignore`(source: `5ed86f53-b53e-4534-8e51-d3a010069d5e`)。
**标签**: [架构], [工作流], [实现]
@@ -0,0 +1,88 @@
---
title: 维护计划 – VMZhCN 本地化持续支持
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/development/维护计划-vmzh-cn-本地化持续支持
stable_id: 9a31c8ad-ae68-46bf-9a07-5613d6a12504
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: maintenance
revision: 1
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions: {}
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- git:vmzhcn.py
- git:README.md
- git:tests/test_vmzhcn.py
- git:data/linux-overrides-zh_CN.vmsg
job_cited_source_ids:
- git:vmzhcn.py
- git:README.md
- git:tests/test_vmzhcn.py
- git:data/linux-overrides-zh_CN.vmsg
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-27T18:36:00.185271+00:00'
updated_at: '2026-08-27T18:36:00.185865+00:00'
tags:
- 维护
- 本地化
- 持续集成
- VMware
---
# 维护计划 – VMZhCN 本地化持续支持
## 维护目标
确保 **VMware Workstation Pro 26H1** 以及未来发布的版本持续拥有完整、准确的简体中文本地化,且在系统更新或二进制变动后能够快速重新生成、验证并部署新版字典。
## 日常维护任务
| 周期 | 任务 | 说明 | 关键来源 |
|------|------|------|----------|
| **每日** | 检查 Vaultwarden 中的凭证是否仍唯一;如有变更,更新自动登录脚本。 | `105b328f-4bda-4641-90a7-7282ef156316` |
| **每次 VMware 版本升级** | 1️⃣ 运行 `vmzhcn.py scan` 重新生成英文基准。<br>2️⃣ 通过 `vmzhcn.py build` 合并最新中文覆盖。<br>3️⃣ 使用 `vmzhcn.py coverage` 生成缺失键报告并指派翻译。 | `git:vmzhcn.py`, `git:data/source/README.md` |
| **每周** | 执行 CI 测试套件(7 项单元测试),确保没有重复键或占位符不匹配。 | `git:tests/test_vmzhcn.py` |
| **每月** | 人工检查已知硬编码英文 UI(如 *My Computer*、*Open a Virtual Machine*),记录在 MemRelay 中的待办事项。 | `1e49f29e-51cc-40fc-854b-09b5ac845b95` |
| **每季度** | 对 `linux‑overrides‑zh_CN.vmsg` 进行审计,移除已废弃或临时键,保持 KISS 原则。 | `bf88c265-4749-4c50-85bc-4bae25298cd5` |
## 关键维护流程
1. **备份验证**:`install` 前的备份目录 `/var/backups/vmzhcn` 必须保持可读,且每次备份后执行 `sha256sum` 与原文件比对(`git:vmzhcn.py`)。
2. **字典恢复**:若新字典导致 UI 异常,立即执行 `vmzhcn.py restore <timestamp>` 回滚至最近备份。
3. **Locale 切换回滚**:用户若误切换至英文,可运行 `vmzhcn.py switch en_US` 恢复默认语言。
4. **密码库同步**:任何新增的 API Token(如用于自动化 CI)必须先写入 Vaultwarden,记得在 MemRelay 记录条目名称与用途(`105b328f-4bda-4641-90a7-7282ef156316`)。
5. **文档更新**:完成新键翻译后,在 `README.md` 中更新 **翻译覆盖率** 表格,并在 MemRelay 中添加对应里程碑(`7aa36dd8-e492-443e-a799-782af7babb9f`)。
## 未决工作与改进方向
- 完成 `switch` 命令的完整实现以及对应的自动化测试(仍在 `a1c59b03-2509-4e4a-ad82-dc19ca906c30` 的任务列表中)。
- 解决 `vmware‑netcfg` 底部 GTK 按钮仍为英文的 UI(属于已知限制 `1e49f29e-51cc-40fc-854b-09b5ac845b95`)。
- 为 **占位符警告** 引入 CI 步骤,将警告升格为错误,以防止运行时格式崩溃(`Unresolved / Open Issues`)。
- 探索在 **VMware Windows 17.6.4** 字典合法迁移到 Linux 覆盖的自动化流程(`f89fd472-41f6-4af1-9290-657982cabbbb`)。
## 质量保证
- 所有维护脚本均使用 **Python 3.9+** 编写,遵循 **PEP 8** 并通过 **flake8** 检查。
- CI 通过 **GitHub Actions**(或等价的 Gitea CI)执行 `pytest`、`vmzhcn.py coverage` 与 `sha256` 验证,确保每次提交都保持 100% 翻译覆盖率。
- 任何涉及系统文件(如 `/usr/lib/vmware`)的改动均要求 **root** 权限,防止普通用户误操作(`git:vmzhcn.py`)。
> 本维护计划依据已标记的证据编写,未引入外部假设。
@@ -0,0 +1,95 @@
---
title: 部署计划 – VMZhCN 本地化项目
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/development/部署计划-vmzh-cn-本地化项目
stable_id: ea031222-b29f-4767-b63a-ea2bb64fe2a7
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: deployment
revision: 1
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions: {}
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- git:data/linux-overrides-zh_CN.vmsg
- git:README.md
- git:tests/test_vmzhcn.py
- git:vmzhcn.py
job_cited_source_ids:
- git:data/linux-overrides-zh_CN.vmsg
- git:README.md
- git:tests/test_vmzhcn.py
- git:vmzhcn.py
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-27T18:35:57.448609+00:00'
updated_at: '2026-08-27T18:35:57.449222+00:00'
tags:
- 部署
- 本地化
- VMware
- 中文
---
# 部署计划 – VMZhCN 本地化项目
## 目标概述
本项目面向 **VMware Workstation Pro 26H1** Linux 版,以简体中文(`zh_CN`)提供完整的 UI 本地化覆盖。部署的核心步骤包括:
1. **扫描现有二进制**,生成英文基准 `.vmsg`(`scan` 命令)。
2. **合并中文覆盖**(`linux‑overrides‑zh_CN.vmsg`)并执行占位符匹配验证(`build` 命令)。
3. **备份现有字典**,确保可回滚(`install` 前的备份策略)。
4. **安装新的中文字典** 到系统路径 `/usr/lib/vmware`(需要 `root` 权限)。
5. **切换用户语言**(`switch` 命令),写入 `~/.vmware/preferences` 并生成对应的桌面启动器。
6. **CI/CD 验证**:运行 7 项单元测试并确保翻译覆盖率 100%。
以上流程遵循 **KISS & YAGNI** 原则(`bf88c265-4749-4c50-85bc-4bae25298cd5`),不引入额外依赖,且 **AI‑驱动的自动 Git** 功能保持禁用(`3f91189b-11a1-45bb-8357-4f413dc1609d`)。
## 关键步骤细化
| 步骤 | 命令 | 说明 | 关键来源 |
|------|------|------|----------|
| **1. 扫描** | `python3 vmzhcn.py scan --output data/source/26H1-build-25388281-en.vmsg` | 从本机安装的 VMware 二进制抽取全部英文字符串。 | `git:vmzhcn.py`, `git:data/source/README.md` |
| **2. 构建** | `python3 vmzhcn.py build --base data/source/26H1-build-25388281-en.vmsg --override data/linux-overrides-zh_CN.vmsg --output zh_CN.vmsg` | 解析基准与覆盖文件,验证占位符匹配,合并后生成完整的中文字典。 | `git:tests/test_vmzhcn.py`, `git:vmzhcn.py` |
| **3. 备份** | 自动在 `/var/backups/vmzhcn/<timestamp>` 创建备份目录。若冲突则添加 `-1`, `-2` 后缀。 | 防止因意外覆盖导致本地化失效。 | `git:vmzhcn.py` |
| **4. 安装** | `sudo python3 vmzhcn.py install --dict zh_CN.vmsg` | 复制字典至 `/usr/lib/vmware` 并设置适当权限。 | `git:vmzhcn.py`, `5ed86f53-b53e-4534-8e51-d3a010069d5e` |
| **5. 切换语言** | `python3 vmzhcn.py switch zh_CN` | 更新用户偏好文件,生成 `vmzhcn-zh_CN.desktop`,提示用户重启 VMware。 | `git:vmzhcn.py`, `105b328f-4bda-4641-90a7-7282ef156316` |
| **6. CI 测试** | `pytest -q tests/` | 通过全部 7 项单元测试,确保无重复键、占位符匹配、正确的转义等。 | `git:tests/test_vmzhcn.py` |
## 部署前检查清单
- 已在 **Windows + WSL2 + Docker Desktop** 环境中配置 `python3 ≥3.9`(`f89fd472-41f6-4af1-9290-657982cabbbb`)。
- 确认 **Vaultwarden** 中存在唯一的 VMware 登录凭证(`105b328f-4bda-4641-90a7-7282ef156316`),如有则自动注入。
- 本地 `aidocs/` 目录不应被提交至 Git(`.gitignore` 已配置),除非用户明确要求(`1194be51-ee29-47e1-8957-ec2888007db6`)。
## 风险与缓解措施
- **占位符不匹配警告**:`validate_overrides` 只产生警告(`Unresolved / Open Issues`),如需强制阻止请在 CI 中将警告视为错误。**风险**:潜在的运行时格式错误。
- **硬编码英文 UI**:某些底层标签仍为英文(`1e49f29e-51cc-40fc-854b-09b5ac845b95`),此为已知局限,后续需通过二进制补丁或上游贡献解决。
- **AI/Git 自动化**:默认关闭,避免未经审查的自动提交(`3f91189b-11a1-45bb-8357-4f413dc1609d`)。
## 里程碑回顾(截至 2026‑08‑27)
- 🚀 **2026‑08‑26 22:10** 项目创建,首个 CLI `vmzhcn.py` 成形。
- ✅ **22:22** 完成 1 394 条 Linux‑specific 键的 100% 翻译。
- 📦 **22:27‑28** Gitea 仓库建立,首次提交推送完成。
> **注**:所有信息均基于已标记的证据来源,无外部推断。
@@ -0,0 +1,68 @@
---
title: 已作出关键决策
type: curated
permalink: main/projects/49564d35-91ae-430d-9d67-7bb8bec4c646/curated/已作出关键决策
stable_id: f89fd472-41f6-4af1-9290-657982cabbbb
scope: project
project_id: 49564d35-91ae-430d-9d67-7bb8bec4c646
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: decisions
revision: 2
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 3e0661c1216b285a039518ba6d810b8394657e1d
source_git_commits:
- 3e0661c1216b285a039518ba6d810b8394657e1d
source_agent_sync_ids: []
model_connection: Sub2API
model_name: openai/gpt-oss-120b
source_count: 24
source_revisions:
memory:580584b3-22e9-419b-a989-e4fe26081a2b: '1'
source_dispositions:
processed: 24
unchanged: 0
unsupported: 0
skipped: 0
cited_source_ids:
- memory:580584b3-22e9-419b-a989-e4fe26081a2b
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
- global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 196
source_hash: 0a84505c3e53c83a1d2f2e939a42b813a45b865e71febe7c7d488f60c0578b9b
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: c431b17f-7247-44bf-bb35-1eb6862bbace
created_at: '2026-08-26T19:01:02.310618+00:00'
updated_at: '2026-08-27T18:35:42.477686+00:00'
tags:
- decisions
- VMZhCN
- development
---
# 关键决策记录
| 决策 | 说明 | 参考来源 |
|------|------|----------|
| **翻译基线** | 以 VMware Workstation Pro 26H1 Linux 二进制为唯一可信来源;Windows 17.6.4 字典仅用于共享可合法使用的翻译片段。 | "memory:f89fd472-41f6-4af1-9290-657982cabbbb" |
| **提交信息格式** | Git 提交使用 `type: 中文一句话描述`(如 `feat: 添加用户登录`),保持中文一致性。 | "memory:f89fd472-41f6-4af1-9290-657982cabbbb" |
| **开发环境** | 采用 Windows + WSL2 + Docker Desktop,所有脚本和路径需兼容 Windows。 | "memory:f89fd472-41f6-4af1-9290-657982cabbbb" |
| **实现原则** | KISS & YAGNI:只实现最简可行方案,避免投机式依赖。 | "memory:bf88c265-4749-4c50-85bc-4bae25298cd5" |
| **AI 与 Git 自动化** | 默认禁用 AI 驱动的代码审查与自动 Git 操作,除非显式开启。 | "memory:3f91189b-11a1-45bb-8357-4f413dc1609d" |
| **凭据处理** | 所有登录、SSH、API 调用前先在 Vaultwarden 查询;新增或变更的凭据立即写入密码库,仅存储名称、用途、使用场景。 | "memory:105b328f-4bda-4641-90a7-7282ef156316" |
| **代码实现细节** | `vmzhcn.py` 的核心工作流包括 `scan`、`build`、`install`、`restore`、`switch`、`coverage`、`status`,并在根权限下执行系统路径修改。 | "memory:git:vmzhcn.py" |
| **单元测试规范** | `tests/test_vmzhcn.py` 检查重复键、占位符匹配、语言归一化等,确保字典合并的可靠性。 | "memory:git:tests/test_vmzhcn.py" |
| **README 指南** | `README.md` 记录生成、覆盖率报告、备份恢复的完整命令示例。 | "memory:git:data/source/README.md" |
> 所有决策均遵循项目级别的 **MemRelay‑only** 工作流(见 `5ed86f53-b53e-4534-8e51-d3a010069d5e`)以及 **全局语言首选**(中文)
**标签**:["decisions","VMZhCN","development"]