83 lines
3.9 KiB
Markdown
83 lines
3.9 KiB
Markdown
# 实施进度
|
|
|
|
> 配合 `DESIGN.md` 阅读。本文件只记录 phase 状态、决策偏差、文件量、下一步。
|
|
|
|
最后更新:2026-05-06(Phase 4 + Phase 6 task/state.json 落地;Phase 5 evals 决定不做)
|
|
|
|
---
|
|
|
|
## 状态
|
|
|
|
| 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/` 兼容(单一布局)
|
|
|
|
---
|
|
|
|
## 关键决策与偏差
|
|
|
|
| 项 | 决策 | 与设计差异 |
|
|
|---|------|-----------|
|
|
| 工具基目录 | 用户当前 cwd | 设计未明说;agent 该操作用户项目 |
|
|
| 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 99
|
|
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 63
|
|
tools/run_python.py 84
|
|
tools/skill_tool.py 45
|
|
main.py 175 ← Phase 6 task 装配
|
|
cli.py 265 ← +probe / +tasks 子命令
|
|
─────────────────────────────────
|
|
Python 合计 ~1571 行
|
|
```
|
|
|
|
加上 skills/ppt 下的脚本(~600 行)、SKILL.md / references / config / prompts,总仓库约 2500 行可读源码。
|
|
|
|
---
|
|
|
|
## 下一步候选(性价比排序)
|
|
|
|
1. **Phase 6 双层记忆**(~半天)—— `workspace/memory/core.md` 注 prompt,`extended/<topic>.md` 按需读
|
|
2. **Phase 6 context 三层压缩**(~1 天)—— 兜底用,V4 长上下文一般用不到
|
|
3. **小修打磨**(~半小时)—— `Session.save()` 改原子写(tmp + rename),防 surrogate 等异常 truncate
|
|
4. **Phase 7 Docker 沙盒**(~1 天)—— 替换 subprocess,run_python 安全升级
|
|
5. **Phase 7 更多 skill / 模型档案**(持续)
|