4.6 KiB
4.6 KiB
实施进度
配合
DESIGN.md阅读。本文件只记录 phase 状态、决策偏差、文件量、下一步。
最后更新:2026-05-07(TUI 打磨 + task_dir 概念真正落地)
状态
| Phase | 标题 | 状态 | 备注 |
|---|---|---|---|
| 1 | 最小可用骨架 | ✅ | 全部验收点过 |
| 2 | Skill 系统 + 三个 skill | ✅ | Anthropic 格式;coding/ppt/proposal |
| 3 | Hybrid 范式 (run_python) | ✅ | subprocess + 敏感 env 过滤 |
| 4 | 演化性能力 | 🟡 | Model Profile + Capability Probing ✅;版本化 prompts 未做 |
| 5 | Eval Suite | ⏸ 不做 | 个人工具用 dogfooding 替代,probe 覆盖健康检查 |
| 6 | 长任务工程化 | 🟡 | task + state.json + 中断恢复 ✅;context 压缩、双层记忆未做 |
| 7 | 打磨 | ❌ | Docker 沙盒 / 更多 skill / Web UI |
已完成关键能力
Phase 1-3(2026 早期):骨架 + skill 系统 + run_python。所有工具基目录是用户当前 cwd(不是 zcbot 仓库本身),agent 操作的是用户项目。tools/fs.py 的 edit 用 CoreCoder 风格唯一匹配。tools/run_python.py 过滤 *API_KEY *TOKEN *SECRET *PASSWORD *PRIVATE_KEY 环境变量。三个 skill 中 ppt/ 最完整(v3:商务红硬约束 + apply_brand 品牌条 + Iconify 图标库 + scripts:fetch_icon / quality_check / source_to_md / render_icon)。
Phase 4(2026-05-06):
core/probe.py+cli.py probe—— basic_chat / parallel_tools / thinking_mode / long_context 四项探测- 真实 probe 跑通,flash mismatch 发现:yaml
parallel_tools: false但实测能并发(暂不自动改 yaml,需更多场景观察) - pro 全 ok
Phase 6 部分(2026-05-06):
core/task.py+workspace/tasks/<id>/{state.json, messages.json}—— TaskState 跟 mode/desc/status/tokens/timestamps;build_agent返 5 元组;sync_task_tokens每轮后写回- CLI 新增
tasks子命令 + REPL/status /done /abandon /desc;chat加--mode --desc选项 - 移除 legacy
workspace/sessions/兼容(单一布局)
TUI 打磨 + task_dir 落地(2026-05-07):
- assistant 文字走
rich.markdown.Markdown,粗体/列表/表格/代码块正常渲染(非流式) - thinking spinner 由 daemon 线程每 100ms 刷文案,显示实时耗时 + 累计 token;每轮 LLM 返回追加 dim 一行
[in N out N t Xs]留痕 - system prompt 显式注入
task_dir绝对路径,SKILL.md 里<task_dir>占位符真正落地;spec_lock.md/sections//slides// 最终 docx/pptx 全收敛到workspace/tasks/<id>/ .gitignore删sections/slides/spec_lock.md三条无锚 bandaid —— 现在写错位置 git status 立刻报红,不再靠 ignore 兜底
关键决策与偏差
| 项 | 决策 | 与设计差异 |
|---|---|---|
| 工具基目录 | 用户当前 cwd(读)+ task_dir(写) | system prompt 同时给 cwd 与 task_dir 绝对路径,SKILL.md <task_dir> 占位符指向 task_dir |
| Workspace 用途 | tasks/<id>/{state.json, messages.json} |
memory/ 待 Phase 6 双层记忆 |
| Eval Suite | 不做 | 设计为团队场景;个人工具 dogfooding 替代 |
| 版本化 prompt | 直接 general_v1.md,无 active.md 软链接 |
Windows 软链接麻烦,真要切版本时再做 |
| run_python 沙盒 | subprocess + env 过滤 | 阶段 1 设计如此;Docker 待 Phase 7 |
文件清单(代码量)
core/capabilities.py 71
core/llm.py 89
core/loop.py 157 ← +markdown 渲染 / spinner 显时长+token
core/probe.py 243 ← Phase 4
core/session.py 77
core/skills.py 81
core/task.py 63 ← Phase 6
tools/base.py 34
tools/fs.py 182
tools/shell.py 94
tools/run_python.py 84
tools/skill_tool.py 45
main.py 185 ← Phase 6 task 装配 / +task_dir 注入
cli.py 264 ← +probe / +tasks 子命令
─────────────────────────────────
Python 合计 ~1669 行
加上 skills/ppt 下的脚本(~600 行)、SKILL.md / references / config / prompts,总仓库约 2500 行可读源码。
下一步候选(性价比排序)
- Phase 6 双层记忆(~半天)——
workspace/memory/core.md注 prompt,extended/<topic>.md按需读 - Phase 6 context 三层压缩(~1 天)—— 兜底用,V4 长上下文一般用不到
- 小修打磨(~半小时)——
Session.save()改原子写(tmp + rename),防 surrogate 等异常 truncate - Phase 7 Docker 沙盒(~1 天)—— 替换 subprocess,run_python 安全升级
- Phase 7 更多 skill / 模型档案(持续)