# 小镇工作闭环施工记录

本文是项目交付状态总索引。专项施工文档维护详细验收证据；下述历史验证记录不代表本次文档同步重新执行了验收。

## 产品目标

高清加载封面（2026-09-13，已实现待验收）：从三岛场景重新渲染 3840×1564 源图，8× MSAA，生成 1920/2560/3840 三档高质量 WebP，页面按屏幕宽度与像素密度选择，更新旧图缓存 URL。已检查高清成图的细节与完整构图；Godot 渲染、编码和世界导出通过。3840 档约 469 KiB；浏览器实际选图与安装包待验收，未重新打包。再生成方法见 [世界说明](../games/mosslight/README.md)。

隐藏开发者面板（2026-09-13，已实现待验收）：右下角五连击打开，可直接触发 Q 剧情对白。Node 交互逻辑、Godot 暂停测试及世界导出通过，浏览器实测待验收。详见 [居民对话系统](dialogue-system.md)。

Q 抓取前注视（2026-09-13，已实现待验收）：显示器先看向玩家再伸臂，接送结束回正，详见 [居民对话系统](dialogue-system.md)。浏览器视觉待验收。

召回验收对白（2026-09-13，已实现待验收）：Q 自动完成召回落地后显示双角色剧情对话，E / 点击推进到原生成果对话，Esc 返回探索；手动召回不触发。3D 世界模型保持不变，对话使用主角与 Q 的透明二维立绘，Web 居民头像同步使用 Q 立绘；连续渐变、跨区人物构图、主讲层级、独立信息字段和横竖屏响应式布局已完成。Godot 计算机测试与完整 `build:world` 通过，已检查 1468×1308、1920×1040 生产渲染及 656×898 浏览器角色画面；真实模型完成到成果面板的端到端仍待验收。详见 [居民对话系统](dialogue-system.md)。

统一居民剧情对白（2026-09-13，已实现待验收）：Q 的双角色对白演出改为岛屿级可配置组件，芽芽、阿澜、苔伯和向导统一使用相同的渐变、立绘、逐字及翻页表现；带功能的居民在介绍结束后进入原 Host 面板。四位居民的透明立绘由现有模型离线生成。居民、嵌入 HUD、计算机回归和完整世界构建通过，浏览器视觉待验收。详见 [居民对话系统](dialogue-system.md#统一居民剧情对白--2026-09-13已实现待验收)。

项目进入全屏（2026-09-13，已验收）：自由创作或教程进入时通过浏览器 Fullscreen API 请求整页全屏；自动恢复项目时在下一次用户点击补发请求。浏览器不支持或拒绝全屏不会阻断进入，Esc 可退出。类型检查、Web 构建及 2 项全屏行为测试通过，用户已确认真实浏览器进入后成功全屏。

让用户走进小镇，找到合适的居民，把事情真正做完。

世界画面负责让人愿意走进来，居民与工作流程负责让人获得实际成果。每项功能都应帮助用户明确下一步、知道居民正在做什么、检查工作结果，并在下次回来时接着做。

核心路径：进入小镇 → 找苔伯选择项目与配置模型 → 找 Q 提出需求 → 查看执行、处理确认 → 检查成果与验证结果 → 继续修改或下次回来续接。

## 第一版 · 2026-09-11

状态：已实现并完成下述验证。

- 向导展示项目、模型、开始制作三步；选好项目后折叠文件夹操作。
- 缺少模型配置时引导填写 Key，保留未发送的需求；配置状态与连接测试结果不混淆。
- 草稿按项目和居民保存到当前浏览器；发送成功后才清除对应草稿。
- 已有对话或草稿的居民显示继续入口，恢复时复用原 Session。
- 居民面板优先展示审批和本轮进展，呈现用户请求、居民回复和真实工具返回结果；之前的对话可展开。
- 运行中补充消息会排队，关闭面板不取消任务；“本轮结束”不表示验证通过。

实现与存储边界见 [居民工作闭环](resident-work-loop.md)。

实际验证：Web 构建、类型检查、15 项居民事件与模型配置测试、diff 空白检查通过。隔离浏览器验收使用本机模拟模型和真实 DSH 运行时，覆盖缺 Key、草稿恢复、用户 Key 接入、同一会话续接、关闭面板后完成，以及项目文件 write/read 工具往返；检查了桌面与 390px 宽面板。

验证边界：上述浏览器验收替换了世界 iframe，未覆盖真实地图中的完整操作；模拟模型不证明真实模型能正确完成开发需求。草稿与居民映射不提供跨浏览器同步，Teacher / File Keeper 的只读约束目前仍是提示词约束。

## 专项交付进展

### 中英文切换 · 2026-09-15（已实现待验收）

三阶段代码施工与自动化验证已完成：Web 主流程、教程、模型语义、通知持久化、Godot 世界及加载 shell 均支持动态中英文；新通知保存消息键并兼容旧文本。Web 构建、42 项相关 Node 测试、Godot 资源与六组世界测试、世界导出通过。桌面和窄屏的真实浏览器双语视觉验收尚未完成，详见 [中英文切换施工方案](i18n-plan.md)。

2026-09-15 第一阶段记录：Web 插件注册中英类型安全字典，小岛右上角加入语言菜单，设置页选择仍是唯一持久化入口；项目选择、居民入口、主要任务状态、确认面板和 Godot 居民 / 对白 / 交互提示首先接入翻译。该阶段的剩余范围已在上方三阶段交付中完成。修正锁文件后，Yarn immutable 的 skip-build 校验通过并保留既有 peer warning；普通安装仍在既有 `fs-ext` 原生构建处失败。本机 Computer Use 浏览器连接因 `unsupported Codex auth method: apikey` 未能执行真实双语视觉验收。

### 中央计算机远程召回 · 2026-09-12（已实现待验收）

	玩家离开中央计算机较远时，可主动按 `U` 召回；机械臂末端沿玩家世界坐标跨越已加载区域追踪，抓住后复用近距离机械臂的抬升、返回和安全落点流程，不直接瞬移玩家。近距离仍使用机械臂 `E` 抓取；召回会复用落点占用检查，并在游戏暂停、网页面板或花园界面打开时停用。Godot 计算机测试待重新完成；真实跨图视觉、浏览器输入和安装包待验收。

### 浅色暂停菜单 · 2026-09-12（已实现待验收）

网页暂停菜单沿用操作指南样式，提供继续探索、声音与画面、指南返回；背景点击不恢复，Esc 从子页返回再继续。Godot 暂停测试、字体校验、世界导出及真实 Web 桌面 / 窄屏交互检查通过。独立 Godot 保留浅色继续按钮，完整设置在网页端；安装包未重建。详见 [居民对话系统](dialogue-system.md)。

### 创作手册双路径入口 · 2026-09-12（已实现待验收）

书本入口替换旧居民记录列表，介绍“跟着学 / 自由创作”；学习支持开始与续接，自由创作暂停当前引导并保留项目，关闭手册返回小岛，不自动打开旧会话。移除手册通知标记，历史会话交给苔伯。Web 构建及模拟教程 / 世界的桌面、390px 浏览器检查通过，真实模型与完整课程待验收，见 [居民对话系统](dialogue-system.md#创作手册双路径入口)。

状态同步修复（2026-09-12）：自由创作后进入 Q，暂停教程的旧进度不再注入居民面板；教程状态只在创作手册的“跟着学”入口恢复和展示。

顶部工具栏调整（2026-09-12）：Q 工作区的居民标题、项目名、作品选项和返回小岛入口统一收进同一行；窄屏使用紧凑宽度，保持对话内容区域不变。

### Q 待机行为 · 2026-09-12（已实现待验收）

新增交替整理机械臂、无人一分钟后打盹、玩家靠近唤醒与招呼；招呼有距离回差及 35 秒冷却，工作、审批和错误状态优先。抓取从当前手部姿势连续接入，暂停、网页面板及减少动态设置沿用原控制。Blender 将波形拆为独立 GLB，睡眠时收平波形并降低发光。操作与资产来源见 [高台计算机](../games/mosslight/README.md#高台计算机)。

本次验证：30 项待机检查、原计算机抓取回归、资源导入、字体检查和 Web 导出通过。真实 Godot 渲染检查招呼、整理、睡眠与唤醒序列并生成预览视频；Playwright 检查真实 Web 导出在 1440×900 / 390×844 的画面、非空像素、视角与移动输入，无脚本错误。工作状态在 Godot 测试中注入，未执行真实模型任务或安装包验收；浏览器检查不替代主页面完整状态切换验收。当前不包含擦屏幕和点头，造型与节奏待用户确认。

穿模修正（2026-09-12）：用户指出整理时软管穿过机壳和支柱；回归复现连接根部已处于底壳内，手部顶点检查另发现挥手掌缘擦入屏幕角落。降低 Blender 连接座并同步 GLB，软管改为两段绕行，整理移到机身前方、挥手向外前方避让。本轮 34 项待机检查（含四套完整轨迹的软管半径、双臂间距及手部顶点检查）、原抓取回归、资源导入、字体检查与 Web 导出通过；重新录制左右视角实机预览。此前视觉验收漏掉穿模，不作为通过依据；本轮未重跑浏览器 / 真实模型 / 安装包验收，仍待用户确认。当前仅保证被检查的预设动作，不提供任意外部障碍或手指接触的物理求解。

### Q 计算机开发入口 · 2026-09-12（已实现待验收）

高台计算机命名 Q，台下 E 接上台、台前 E 打开原生开发对话；复用原 coder 会话关联，芽芽恢复普通园丁对白。教程、功能入口和头像同步迁移，计算机标牌接收真实任务状态。类型检查、客户端构建、13 项 Web 测试、Godot 计算机与嵌入 HUD 测试、字体检查及世界导出通过；替代世界浏览器验证 Q 原生对话与头像。真实模型任务、完整教程和安装包尚未验收，详见 [居民对话系统](dialogue-system.md)。

2026-09-13：面向玩家的显示名统一缩短为 Q，覆盖世界提示、状态标牌、剧情对白、Web 居民界面、教程、暂停菜单和介绍页；内部 `coder` ID、`Coder · 项目名` 会话标题和项目关联保持不变，旧对话继续复用。类型检查、Web 构建、16 项相关 Web 测试、Godot 计算机与嵌入 HUD 测试、字体检查和世界导出通过；真实浏览器视觉与安装包待验收。

2026-09-13：计算机独立资产的底座改为低矮浅色八边形月井 dock，嵌入青绿发光核心并以三枚黄铜卡扣固定；不改变立柱、抓取落点和机械臂轨迹。Godot 计算机抓取回归通过，近景与全景截图已重录；真实 Web 视觉和安装包尚待验收。

2026-09-14，Q「掌中星光」重做（已实现待验收）：独立 Blender 空心帽、托台、可动翼纸鸽与星光取代旧牌盒 / 三杯球组合；8.8 秒完成空手变星、投帽、疑惑等待、飞鸽接鸟和谢幕。完成先等观众或召回落地，演完再交接成果，魔术独占双臂。两套 Godot 计算机测试、完整动作间距检查、字体检查和 `build:world` 通过；已用实际渲染器录制全段并检查关键帧。浏览器、真实模型与安装包仍待验收，保留自由镜头。模型来源和操作见 [高台计算机](../games/mosslight/README.md#高台计算机)，交接边界见 [居民对白](dialogue-system.md#召回验收对白--2026-09-13已实现待验收)。

2026-09-14，Q 其他节目（已实现待验收）：新增「飞牌归一」和「杯中奇遇」两套独立 Blender 道具，完成状态按次轮换，开发者面板可分别预览。飞牌使用七张双面牌形成空中弧线，杯中节目使用三只空心杯、红球和大柠檬完成误导揭晓；两套均复用双臂独占、暂停冻结、减少动态收纳和间距回归。Godot 计算机测试、资源导入、字体检查和 `build:world` 通过；实际浏览器视觉与安装包仍待验收。

### 沙漠环境氛围 · 2026-09-14（已实现待验收）

环境时钟补充四片流沙薄痕、绿洲流光、三只蜻蜓和近距离五管风铃；均无额外碰撞，接入暂停、主音量静音和减少动态设置。移除沙漠动物后，氛围专项测试、沙漠通行回归均通过（`failures=0`），字体检查与 `build:world` 通过；已用实际 Compatibility 渲染器重录沙丘、绿洲和风铃近景。浏览器实测、风铃听感与安装包仍待验收。沙漠动物及其运行逻辑、模型、生成源和专项工具按用户决定移除；资源与操作见 [晴沙绿洲](../games/mosslight/README.md#晴沙绿洲--第二地块)。

### 苔伯项目与对话管理 · 2026-09-12（已实现待验收）

苔伯取消教学入口和模型会话创建，管理按钮在小岛右侧展开 DSH 原生项目与历史侧栏，保留地图；当前会话可在岛内展开原生聊天。旧角色 ID 和既有历史保留。实现和验收边界见 [居民对话系统](dialogue-system.md#当前边界与后续验收)。其他居民、独立手册入口和课程流程不在此变更范围。

2026-09-14（已实现待验收）：移除世界中与苔伯共用同一模型的独立向导，居民缩减为芽芽、阿澜和苔伯；苔伯接管项目选择、切换及原有项目与历史管理入口。内部 `coordinator` 路由继续作为项目管理页面的兼容标识，不再对应独立世界居民。阿澜与苔伯对话改用用户提供的透明二维立绘，源图归档到 `assets/brand/`，Godot 副本放在 `games/mosslight/assets/portraits/`。Godot 资源导入、居民、嵌入 HUD、教程飞入测试，Web 类型检查、8 项居民模型测试、Web 构建、字体检查和世界导出通过；Compatibility 实机全景确认只剩三位不同居民。邻区加载测试因当前场景已预载邻区而在既有前置断言失败，尚未执行真实浏览器中的苔伯项目切换和两张新立绘视觉验收。

### 高台计算机与机械臂 · 2026-09-12（已实现待验收）

图示月井高台已加入 Blender 制作的计算机与双机械臂；玩家在台前按 E 后被抬升并放到台上前侧，恢复自由移动。保留独立 `.blend`、生成脚本和三个 GLB，原岛模型无需重建；操作与来源见 [世界说明](../games/mosslight/README.md#高台计算机)。

本次验证：Godot 资源导入、37 项抓取集成断言、居民交互回归、中文字体检查与 Web 导出通过。抓取检查覆盖三种视角、真实 E 输入、重复触发、暂停、网页面板、台前占用、途中碰撞及释放后行走。已检查真实 Godot 近景与抓取截图；Playwright 在真实 Web 导出下检查 1440×900 / 390×844 截图、画布非空像素、视角切换与输入，无脚本错误。Web 检查使用独立世界入口，未走主页面内完整抓取流程；窄屏没有触屏摇杆，造型和手感仍待用户确认。当前不抓居民，不连接 AI 任务。

### 阿澜短对话与项目文件 · 2026-09-12（已实现待验收）

阿澜使用短对话加文件 / 修改选项，直接打开只读项目文件面板，不新建 AI 会话；保留选文件夹教程和历史会话入口。向导与芽芽沿用现有界面，苔伯不在本次范围。类型检查、客户端构建、6 项文件与教程测试及替代世界下 1440px / 390px 浏览器检查通过；真实地图、完整教程和安装包待验收。读取范围和容量限制见 [居民对话系统](dialogue-system.md#阿澜短对话与项目文件--2026-09-12已实现待验收)。

创作手册命名（2026-09-12）：原“工作记录”入口、面板标题、无障碍名称和教程续接提示统一改为“创作手册”，居民历史入口显示“继续聊”。沿用原项目与会话关联，不改变持久化结构。Web 构建和替代世界下的桌面 / 窄屏入口检查通过，真实地图和教程全流程未重跑。

### 居民后台通知 · 2026-09-12（已实现待验收）

已接入跨项目居民会话的回合结束、失败和待处理请求；当前已打开且页面可见的会话不弹后台完成提醒，探索或查看其他居民时显示短通知，点击校验原项目与会话关联后返回。通知列表和手册保留未读标记，审批处理后清除；流式片段不通知，刷新保留本地未读且不重弹历史。Web 构建、12 项通知决策 / 居民事件测试及 Chromium 组件交互检查通过，覆盖完成、当前对话、原目标、已读确认、审批解除、失败、刷新和 390px 布局。详细行为与限制见 [居民对话系统](dialogue-system.md#后台通知)。

### 居民通知会话状态修复 · 2026-09-12（已实现待验收）

当前会话识别使用 DSH 的 `openState === 'open'`，修正误用 `ready` 导致的类型检查失败。此次实际验证：类型检查、Web 构建、12 项通知决策与居民事件测试通过；未执行真实浏览器通知交互验收。细节见 [居民对话系统](dialogue-system.md)。

### 原生输入与默认权限 · 2026-09-12（已实现待验收）

居民会话恢复完整 DSH 输入区（附件、模型、权限和发送），隐藏自定义发送框；首课检查可按原生会话最近真实请求核对。Web/桌面共用启动默认完全权限，已保存的设置与会话权限优先。类型检查、客户端构建、5 项教程测试通过；隔离世界浏览器检查桌面/窄屏原生编辑器，并确认重启后的通用设置显示新会话默认“完全权限”。未发送模型任务，附件上传、真实作品及新安装包尚未验收。细节见 [居民对话系统](dialogue-system.md)。

### 小岛轻量 HUD · 2026-09-12（已实现待验收）

左上角改为项目徽记与名称、带状态标记的手册入口；教程提示使用居民头像和具体行动，暂停后隐藏，项目列表保留实际目录位置。Web 构建通过；Chromium 替代世界检查 1440px/390px 排版边界、Logo 加载、项目菜单、Escape 和工作记录入口通过，并检查窄屏截图。真实地图完整视觉及各教程阶段走查仍待验收。新增 Lucide 图标依赖时 `fs-ext` 原生构建失败，随后跳过构建脚本完成依赖安装；不将其记为完整原生依赖构建通过。

### 原生对话优先布局 · 2026-09-12（已实现待验收）

输入区补充：发送按钮与输入框并排，按钮短文案为“发送”，完整动作保留悬停提示。类型检查、客户端构建和 3 项教程展示测试通过；隔离世界浏览器验证 1440px/390px 同排、无横向越界，未发送真实任务。

原生完整对话默认展开并占据侧栏主体；状态压缩为一行，首课内容默认折叠，底部输入与审批保留。类型检查、客户端构建通过；隔离世界的 Chromium 验证 1440px/390px 原生区域分别占侧栏约 61%/52%，首课展开及输入可用。未重跑真实地图、模型和审批流程。详细证据见 [居民对话系统](dialogue-system.md)。

### 首次 Vibe Coding 教程（暂时隐藏）

教程后端和记录能力暂时保留，但入口已从 Q 流程中隐藏，当前优先跑通自由创作：选择项目、配置模型、进入原生对话并直接提交开发任务。后续重新开放教程入口时，再单独验收完整课程、真实模型和新手端到端体验。阶段方案见 [首课施工方案第 8 节](first-vibe-coding-tutorial-plan.md#8-本轮施工记录2026-09-11)。

### 统一居民对话 · 2026-09-11

- Web 中按 E 直接进入 React 居民面板，取消重复的 Godot 固定对白；关闭后可立即与同一居民再次交谈。
- 面板状态同步到世界，清理按键与鼠标捕获，阻止误移动；切到网页面板不会触发游戏暂停菜单。
- 入场静默恢复项目，不自动弹出向导；历史记录由独立入口打开。Godot 通过 JSON 传递居民信息，修复按 E 后面板未打开的问题。职责与交互规则见 [居民对话系统](dialogue-system.md)。
- 验证：Godot 居民与嵌入 HUD 测试、7 项 Web 桥接测试、Web 构建、世界导出与中文字体检查通过；用户确认当前可正常对话。首次使用完整流程、第一人称与窄屏仍需专项验收。

### 工作记录与恢复入口 · 2026-09-11

- 进入页面先恢复项目和会话目录；已有项目展示居民工作记录、最近需求 / 回复摘要和继续入口，关闭面板后仍可返回工作记录。
- 项目选择与居民关联保存到本地 Host，浏览器存储作为旧数据迁移来源；DSH 继续持有真实会话历史。
- 区分加载、超时、恢复失败和项目失效；会话已删除或旧标题存在歧义时，不自动创建替代会话。
- 实际验证：Web 构建及 14 项居民事件 / 恢复测试通过，其中恢复测试覆盖重新创建存储处理器、并发合并、无浏览器映射恢复、旧关联迁移、已删除会话和歧义会话。
- 限制：浏览器工具认证异常，本轮未完成真实浏览器与地图视觉验收；草稿仍在浏览器本地。可靠续接阶段尚未完成全部验收，不标为完成。

### 原生聊天与工作台切换（已实现待验收）

居民侧栏复用 DSH 原生聊天内容；切换原工作台使用页面内导航，保留小岛 iframe，返回时恢复居民上下文。localhost 入口统一转向 127.0.0.1，避免两个主机名的认证状态分离。历史验证包含 Web 构建、居民恢复测试和入口重定向检查；真实浏览器中的切换、焦点与当前侧栏视觉仍待验收，隐藏 iframe 不表示游戏引擎已暂停。

### 服务托管与断线恢复（已实现待验收）

已实现独立无窗口后台托管、同一数据目录单实例、崩溃日志与脱敏轮转、异常退出有限重启；客户端复用 DSH 重连和会话同步并提示断线，不自动重发用户任务。使用方式和运行边界见 [Web 服务说明](../apps/web/README.md)。

历史验证：5 项服务托管子进程测试、5 项居民恢复测试及 Web 构建通过；隔离实例完成后台启动、认证响应、重复启动复用和停止检查。2026-09-12 用户服务已切换到后台入口并保持 3080 端口，托管状态与图标 HTTP 请求检查通过；真实界面断线恢复仍待验收。无响应但未退出的服务、托管进程自身被终止及系统开机自启不在已实现范围内。

### Windows 分发（已实现待验收）

便携版补充验收（2026-09-15）：实际 ZIP 解压后通过认证页面、无外部链接、正常 / 强制退出清理、单实例和四个原生模块加载检查；GitHub Windows CI `34924896750` 成功。发行 ZIP 增补 VERSION、MIT LICENSE 和便携使用说明，只附 ZIP 与对应 SHA-256；不发布生成的安装 EXE。上述验证不替代真实模型和跨机器验收。

2026-09-15 便携预览 `v0.1.0-preview.1`（已实现待验收）：从包含中英文切换的当前源码重新构建，仅发布版本化 ZIP 和 SHA-256，不上传安装器。Web / 世界导出、字体、类型、上游与 runtime 校验及 56 项 Web 测试通过；恢复测试补齐 locale 夹具。immutable install 因环境缺 Python 未完成 fs-ext 源码构建，包内现有模块能加载；解压后完整启动验证结果另行补充。完整真实模型、长路径、干净系统仍待验收。使用和升级说明见 [Release](https://github.com/Qiuner/agent-isles/releases/tag/v0.1.0-preview.1) 与根 README。

2026-09-14 重新打包：当前 Web 构建、Godot 资源导出与字体检查通过，Inno Setup 生成安装 EXE（216,626,378 字节）和便携 ZIP（259,131,769 字节），产物位于本地 `dist/desktop-1789382691978/`，两者 SHA-256 复核通过。`apps/desktop/verify.ps1` 在独立目录静默安装耗时 63.9 秒，外部链接检查、认证页面、正常 / 强制退出清理、单实例和四个原生模块加载均通过；安装日志保存在产物目录。完整模型工作流、安装向导视觉、升级卸载及真实世界交互未在本轮验收，保持“已实现待验收”。

2026-09-13 安装加速：Inno Setup 使用 LZMA2 normal，安装包与便携包统一裁剪类型声明和 JS 调试映射，保留许可证及运行源码，取消构建中重复复制 payload。文件从 33,297 个降为 17,026 个，安装包 207,544,469 字节。本机仓库外短路径静默安装 77.8 秒，认证页面、原生模块、单实例、正常退出和强制终止清理均通过；无旧版同条件计时，不宣称加速比例。长安装路径下深层依赖曾触发 MoveFile code 3，长路径支持仍待修复；完整模型工作流、升级卸载与向导视觉仍待验收。验证不修改现有安装注册与快捷方式，操作见 [桌面说明](../apps/desktop/README.md)。

2026-09-13：小岛通过 onboarding slot 跳过上游内测声明，不写入用户确认记录；启动不再要求点击该声明，模型配置仍按首次使用引导触发。Web 构建通过；本机安装版已同步客户端文件，首次进入的浏览器视觉待验收。

已提供 Windows Launcher、本地预览版安装包构建与验证脚本，支持启动就绪检查、托盘入口和进程树清理；操作方式见 [桌面启动器说明](../apps/desktop/README.md)。2026-09-13 修复外部数据目录无法解析自有插件导致的安装启动失败：启动器从安装位置解析插件绝对 URL，验证数据目录迁至仓库外。本机已安装版本使用原数据目录通过启动冒烟检查，正常启动后 HTTP 返回 200；修复安装包已重新构建。安装、卸载界面与完整模型工作流仍待人工验收。预览版未签名，无自动更新。

本次修复包验证：仓库外全新数据目录启动、认证页面、安装器解压、单实例、正常退出和强制结束后的服务清理、原生模块加载全部通过。

## 剩余施工与验收

作品选项遮挡修复（2026-09-12）：菜单改用原生 Popover，仅菜单进入顶层，移除打开菜单时抬高整个小岛覆盖层的规则。Web 构建通过；使用生产样式的 Chromium 布局夹具在 1280px 和 390px 验证聊天区域位置不变且可点击、菜单可点击、Escape 与外部点击关闭。该检查不替代真实会话和地图的完整视觉验收。

优先使用真实模型与真实小岛跑通首课，再检查刷新、服务重启、取消目录选择和窄屏操作；记录卡点并修复，不以自动化通过替代新手体验验收。

| 阶段 | 要解决的问题 | 验收标准 | 状态 |
| --- | --- | --- | --- |
| 真实任务验收 | 能连通还不等于能完成事情 | 在真实小镇与真实模型中完成一个小功能，检查文件修改、运行结果和后续修正；模型调用需使用用户认可的配置 | 已实现待验收：首课闭环已落地，真实任务尚未走查 |
| 交付与异常反馈 | 用户能判断结果并知道失败后怎么继续 | 修改文件与验证依据便于查看；断网、模型失败、取消和拒绝工具请求后，能明确重试或继续 | 实施中：原生聊天、教程作品核对与断线提示已实现，完整异常路径仍待核对和验收 |
| 居民能力边界 | 各居民有实际职责与可执行的权限限制 | Coder 能实施和验证；Teacher 能结合项目解释；File Keeper 能查找与读取；只读角色有运行时限制 | 实施中：角色提示已存在，只读角色的运行时权限限制待实施 |
| 可靠续接 | 重启或恢复异常时不丢失工作关系 | 验证服务重启、项目失效、会话删除和存储不可用；提供明确恢复入口 | 已实现待验收：Host 关联恢复、页面内切换和服务托管已实现，完整故障与真实界面验收待做 |
| 易用分发 | 普通用户无需配置开发环境 | 提供启动方式、就绪与失败提示，让用户能进入小镇并完成首次任务 | 已实现待验收：Windows 预览版启动与打包已实现，更新后的安装包及首次任务待验收 |

## 项目更名

### 项目介绍站 · 2026-09-12（已实现待验收）

新增 `docs/` 静态介绍站，以产品定位、真实工作闭环、居民职责和架构边界为主线，复用现有项目截图并适配窄屏；新增 GitHub Pages 工作流，推送 `master` 后自动发布。当前未配置本地 Git remote，尚未完成实际 GitHub 发布与线上验收。

### 项目图标 · 2026-09-12（已实现待验收）

品牌图片集中到 `assets/brand/`；Web 构建复制图标与 manifest，浏览器全局使用项目图标；Windows 启动器、托盘与安装器嵌入同一 ICO。不修改 DeepSeek Harness 上游文件和工作台内部 Logo。资源使用方式见 [品牌资源说明](../assets/brand/README.md)。

本次验证：Web 构建、4 项品牌与浏览器入口测试通过；隔离 Host 的 7 个品牌资源 GET 和 ICO HEAD 均返回 200、类型正确；Launcher 与 Setup 编译通过并成功提取嵌入图标。完整安装包未重新打包，浏览器与 Windows 界面视觉待验收。

补充排查：3080 旧服务未加载新增图标路由，ICO 请求返回 404；重启并切换后台托管后返回 200，响应字节与品牌源 ICO 一致。浏览器刷新后的标签图标仍待视觉确认。

项目已更名为 `agent-isles`。仓库标题、产品品牌、包作用域、插件目录、状态存储、Host 路由和世界桥统一使用新名称。

## 更新规则

维护规则统一见 [仓库约束](../AGENTS.md#施工文档维护)。功能落地、验收结果或限制变化时同步本索引和相关专项文档；状态使用“待实施、实施中、已实现待验收、已验收”，部分完成写明范围。不要用界面完成、请求成功或任务结束代替功能正确性的验证。

### 介绍页与截图更新 · 2026-09-14（已实现待验收）

2026-09-15 线上部署补充：启用仓库 GitHub Pages（workflow 模式），部署运行 `34921798063` 成功；首页、CSS 与 Logo 的 HTTP HEAD 返回 200，仓库 About 的 Website 已设为 `https://qiuner.github.io/agent-isles/`。世界截图网络检查未取得完整结果，线上全页与窄屏视觉仍待验收；本次未发布 Release。

参考 Voyager 首屏，介绍页采用白底、绿色品牌名、左文右 Logo、圆角按钮及浅灰功能卡片，保留真实创作流程和双路径入口。README 与官网使用 2026-09-13 从当前源码渲染的世界及 Q 近景，移除旧网页及窄屏截图引用。截图脚本运行、图片目视检查、静态资源检查和差异检查通过；浏览器全页与窄屏验收、网页面板新截图及线上部署仍待完成，Release 下载附件可用性尚未核实。
