--- title: Age of Empires III 编辑工具 项目概览 type: curated permalink: main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/curated/age-of-empires-iii-编辑工具-项目概览 stable_id: 4facff1f-7c02-4be7-96b3-8d2b606fed9c scope: project project_id: 4111f53b-afa5-48e1-aaf8-d70a7edc0638 workspace_type: development usage_profile_id: null preference_context: development document_type: overview revision: 1 source_memory_ids: - 107d242e-c3ce-4a10-922a-729bee65f3a6 - 43cbe36a-796b-4e5b-8bde-647f751f2a0f - b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250 - b0969eb6-5402-4fb1-8419-d349d2579e2e - d43a3e2b-207e-410a-ae0f-c12e433dec4d - d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa - f901d77a-2e88-4c44-a989-e42a17a4e057 source_checkpoint_ids: - 04dc843d-8bfe-4dd6-b5ab-09d2efa10d21 - 3c6217f5-07df-4a9d-b174-e77d114006ce - 4764ab1e-2b3e-477b-937c-1dd60ebf7ecc - 4995165e-24be-45ca-a243-c8cdd97b7804 - 540030dc-d7ee-4e6e-a202-c0648ceca8f9 - a09b7e4f-5f03-4243-81c7-84fdebc412d5 source_file_ids: [] source_git_commit: null source_git_commits: [] source_agent_sync_ids: [] model_connection: Sub2API model_name: git-restore source_count: 26 source_revisions: memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9: '1' memory:b0969eb6-5402-4fb1-8419-d349d2579e2e: '1' memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f: '1' memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21: '1' memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250: '1' memory:3c6217f5-07df-4a9d-b174-e77d114006ce: '1' memory:f901d77a-2e88-4c44-a989-e42a17a4e057: '1' memory:4995165e-24be-45ca-a243-c8cdd97b7804: '1' memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d: '1' memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc: '1' memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5: '1' memory:107d242e-c3ce-4a10-922a-729bee65f3a6: '1' memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa: '1' source_dispositions: processed: 26 unchanged: 0 unsupported: 0 skipped: 0 cited_source_ids: - memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9 - memory:b0969eb6-5402-4fb1-8419-d349d2579e2e - memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f - memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21 - memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250 - memory:3c6217f5-07df-4a9d-b174-e77d114006ce - memory:f901d77a-2e88-4c44-a989-e42a17a4e057 - memory:4995165e-24be-45ca-a243-c8cdd97b7804 - memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d - memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc - memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5 - memory:107d242e-c3ce-4a10-922a-729bee65f3a6 - memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa - 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:ff34c6eb-6bba-41e5-9e43-ff80941fa823 job_cited_source_ids: - memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9 - memory:b0969eb6-5402-4fb1-8419-d349d2579e2e - memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f - memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21 - memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250 - memory:3c6217f5-07df-4a9d-b174-e77d114006ce - memory:f901d77a-2e88-4c44-a989-e42a17a4e057 - memory:4995165e-24be-45ca-a243-c8cdd97b7804 - memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d - memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc - memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5 - memory:107d242e-c3ce-4a10-922a-729bee65f3a6 - memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa - 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:ff34c6eb-6bba-41e5-9e43-ff80941fa823 conflicts: [] supersedes: [] preferences: - 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: 不添加仅为假设未来需求而设计的依赖或抽象层 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: 新增或修改的凭证必须立即写入密码库,记忆仅记录名称、用途、使用方式,绝不保存密文 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: AI 与 Git 集成默认关闭;系统不会主动探测模型或创建 `.git` 目录 level: scenario workspace_types: - development workspace_ids: [] source_ids: - global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d 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:7429c22e-50ff-458a-97c0-423c679904c7 - global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823 counterexample_source_ids: [] occurrence_count: 1 explicit: true confidence: 1.0 status: current - statement: 所有开发记忆统一由 MemRelay 持久管理,除非明确要求,不创建本地 aidocs/项目上下文文件 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 - statement: 所有路径、命令需兼容 Windows 环境(WSL2、Docker Desktop) level: scenario workspace_types: - development workspace_ids: [] source_ids: - global_guidance_memory:ff34c6eb-6bba-41e5-9e43-ff80941fa823 counterexample_source_ids: [] occurrence_count: 1 explicit: true confidence: 1.0 status: current - statement: Web 表单采用标题左、控件右的紧凑横向布局;长内容内部滚动,标题区域固定可见 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 source_cursor: 241 source_hash: bcfbba67a08c521a7e0b795935c39556cfb40f8a2afd7d276860865a68cc2137 prompt_version: 2026-08-12.3 schema_version: '3' curation_job_id: null created_at: '2026-08-31T15:07:17.067972+00:00' updated_at: '2026-09-23T14:52:52.873598+00:00' tags: - Age of Empires III - EditTools - development restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- # 项目概览 – Age of Empires III EditTools ## 项目概况 - **项目 ID**: `4111f53b-afa5-48e1-aaf8-d70a7edc0638`(创建于 2026‑08‑31)【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】 - **工作空间类型**: development(共享使用配置) - **目标游戏**: Age of Empires III: Definitive Edition(版本 `100.19.17293.0`)【memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5】 - **核心数据文件**: `Game\\Data\\Data.bar` - **编辑器安装目录**: 位于用户选择的目录,所有编辑器生成的配置、日志、缓存、临时文件、备份及导出结果均放在可执行文件所在目录下【memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250】 ## 关键技术栈与部署约束 - **技术栈**: Tauri 2 + Rust + Vue 3 + TypeScript【memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21】 - **WebView2**: 项目内固定的 Fixed Runtime,存于 `vendor/webview2`,构建阶段仅检查本地是否存在,不自动下载【memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250】 - **安装目录**: 允许用户自行选择非 C 盘路径(采用 NSIS/Portable 方案),避免写入需要管理员权限的 `Program Files`【memory:b0479fa6-96a6-4bdf-a6a5-6e8aceeb0250】 - **系统缓存**: 接受 Windows 系统临时目录、显卡驱动缓存、杀毒软件缓存、崩溃转储等不受应用完全控制的全局缓存【memory:43cbe36a-796b-4e5b-8bde-647f751f2a0f】 ## 功能范围与边界 ### 目标与限制 - **主要修改对象**: 现有国家、建筑、单位、科技、人口、资源及跨文明解锁关系,服务于“圈城、防守、发展、长时间单机对战”场景【memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5】 - **不实现的功能**: 新单位模型/动画、新资源类型、新国家、AI 重写、全新 UI、局域网分发、多机同步、在线版本校验【memory:f901d77a-2e88-4c44-a989-e42a17a4e057】【memory:4995165e-24be-45ca-a243-c8cdd97b7804】 - **对战方式**: 离线单机与局域网好友对战,所有玩家使用完全相同的 Mod/补丁,且不依赖官方在线服务【memory:107d242e-c3ce-4a10-922a-729bee65f3a6】 - **AI 影响**: 允许基础数据改动影响 AI,通常不让 AI 使用被新增的国家/科技【memory:d94d6d5e-85ab-4ea1-b4f6-33ae4a01eeaa】 ### 备份与回退管理 - **备份策略**: 在每次应用修改前(默认建议开启)生成仅包含实际覆盖文件的快照,记录 ID、时间、游戏路径/版本、文件清单、文件状态、大小、SHA‑256、备注与结果【memory:b0969eb6-5402-4fb1-8419-d349d2579e2e】【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】 - **备份存储**: 位于编辑器安装目录下的 `snapshot/backup`(待实现) - **回退流程**: 回退前自动创建当前状态的安全快照,使用临时文件与原子替换,若失败可恢复且不触碰未列入变更清单的文件【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】 - **用户界面**: 提供 GUI 查看、加载检查、回退、删除快照的功能页面【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】 ### 图形化编辑器定位 - **需求**: 以图形化方式统一查看与编辑国家、单位、建筑、科技、资源及解锁关系,避免手工编辑 XML【memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d】 - **实现路径**: 首先实现只读数据浏览器,从本机 `Data.bar` 提取真实版本数据;随后加入搜索、表单化编辑、差异预览、生成可回滚的 Mod/补丁【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】 ## 已完成的准备工作 - 收集参考工具:Resource‑Manager(MIT)与 AOE3NativeED(GPL‑3.0),已放入 `references/` 并添加说明文档【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】 - 初始化 Git 仓库并提交资源收集记录【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】 - 完成技术与部署约束确认,准备搭建 Tauri 项目骨架【memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21】 ## 待办事项与未决问题 1. **实现 Snapshot/Backup Service**:定义 manifest schema、持久化路径、UI 页面【memory:540030dc-d7ee-4e6e-a202-c0648ceca8f9】 2. **搭建 Tauri 工程骨架**:检查 Fixed Runtime、实现安装根目录服务【memory:04dc843d-8bfe-4dd6-b5ab-09d2efa10d21】 3. **读取并解析 BAR/XML**:使用 Resource‑Manager 或等价工具提取当前版本的 `proto/techtree/civs` 等数据【memory:4764ab1e-2b3e-477b-937c-1dd60ebf7ecc】 4. **设计并实现配置驱动的编辑器**:基于提取的目录创建搜索、表单编辑、差异预览功能【memory:d43a3e2b-207e-410a-ae0f-c12e433dec4d】 5. **确定首批具体修改项**:收集需要调整的单位/科技名称、数值范围、适用文明等【memory:a09b7e4f-5f03-4243-81c7-84fdebc412d5】 6. **验证跨机器手动复制流程**:确保导出的 Mod 在不同机器可直接加载,无需额外同步机制【memory:f901d77a-2e88-4c44-a989-e42a17a4e057】 ## 开发习惯与流程(引用全局指导) - **沟通语言**:日常交流、代码注释均使用中文【global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7】 - **记忆管理**:所有开发笔记由 MemRelay 持久化,除非用户明确要求,不创建本地 `aidocs/` 文件【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】 - **UI 规范**:表单采用“标题左、控件右”布局,长内容内部滚动,标题区域固定可见【global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5】 --- *本概览基于截至 2026‑08‑31 的所有已记录检查点、决策与全局指导编写。*