86 lines
3.7 KiB
Markdown
86 lines
3.7 KiB
Markdown
# 标准 JavaScript 会话编排进度
|
||
|
||
## Session: 2026-08-26
|
||
|
||
### Phase 1:需求与代码链路确认
|
||
|
||
- **Status:** complete
|
||
- **Started:** 2026-08-26
|
||
- Actions taken:
|
||
- 完成 grilling 需求对齐,共确认 23 项决策。
|
||
- 读取项目 AGENTS.md 和相关技能说明。
|
||
- 使用 codebase-memory 确认索引 ready,并核对 MCP/会话/steer 入口。
|
||
- 创建本任务 scoped planning 文件。
|
||
- Files created/modified:
|
||
- `.planning/2026-08-26-standard-javascript-session/task_plan.md`
|
||
- `.planning/2026-08-26-standard-javascript-session/findings.md`
|
||
- `.planning/2026-08-26-standard-javascript-session/progress.md`
|
||
|
||
### Phase 2:MCP 契约与脚本运行基础
|
||
|
||
- **Status:** complete
|
||
- Actions taken:
|
||
- 新增 6 个脚本 MCP 工具定义,并接入 stdio/HTTP `tools/list`。
|
||
- 在来源对话 cwd 下创建 `.ccweb/scripts/`,注入根 `package.json` 和 `node_modules/@ccweb/session` ESM 包。
|
||
- 增加脚本名、符号链接、脚本源代码大小校验和原子写入。
|
||
- 增加独立 Node 子进程、run.json、stdout/stderr 完整落盘、尾部/范围读取、重复启动拒绝、优雅停止/强制终止和重启恢复。
|
||
- Files created/modified:
|
||
- `lib/javascript-session-runtime.js`
|
||
- `lib/ccweb-mcp-server.js`
|
||
- `server.js`
|
||
|
||
### Phase 3:会话标准包与服务端编排
|
||
|
||
- **Status:** complete
|
||
- Actions taken:
|
||
- 标准包 5 个函数通过短期 run token 调用现有 ccweb `/api/internal/mcp`,不重复实现会话。
|
||
- 创建/发送服务端等待目标助手消息完成;当前 Codex App 对话复用 steer。
|
||
- 语义分支使用一次性只读 Codex App 判断 turn,严格候选匹配,最多重试 3 次。
|
||
- 脚本异常结束/服务重启向来源对话插入带 runId、状态、原因和 stderr 尾部的通知;主动 stop 不插入。
|
||
- Files created/modified:
|
||
- `lib/javascript-session-runtime.js`
|
||
- `server.js`
|
||
|
||
### Phase 4:测试与回归
|
||
|
||
- **Status:** complete
|
||
- Actions taken:
|
||
- 新增 `scripts/javascript-session-runtime-unit.js`,覆盖 ESM 裸包导入、目录边界、重复启动、状态查询、异常通知、主动停止和重启恢复。
|
||
- 真实服务验证 `tools/list`、API manifest、脚本执行和 `getCurrentConversationId()`。
|
||
- 修复 Node 18 对 node_modules ESM 包边界的解析问题。
|
||
- Test results:
|
||
- `node scripts/javascript-session-runtime-unit.js`:通过
|
||
- `node scripts/regression.js`:通过
|
||
- `node --check server.js`:通过
|
||
- `node --check lib/javascript-session-runtime.js`:通过
|
||
- `node --check lib/ccweb-mcp-server.js`:通过
|
||
- `git diff --check`:通过
|
||
- 项目回归首次运行遇到既有 Codex App steer 模拟的时序抖动,立即重跑通过;未产生源码或运行态残留。
|
||
|
||
### Phase 5:交付
|
||
|
||
- **Status:** complete
|
||
- 已清理根目录临时脚本测试产物和 TODO CSV;保留源码、单测与 scoped planning 记录。
|
||
|
||
## Test Results
|
||
|
||
| Test | Input | Expected | Actual | Status |
|
||
|------|-------|----------|--------|--------|
|
||
| 代码索引状态 | `home-cc-web` | ready | ready | ✓ |
|
||
|
||
## Error Log
|
||
|
||
| Timestamp | Error | Attempt | Resolution |
|
||
|-----------|-------|---------|------------|
|
||
| 2026-08-26 | 用户级 planning-with-files 路径不存在 | 1 | 改用项目内技能路径 |
|
||
|
||
## 5-Question Reboot Check
|
||
|
||
| Question | Answer |
|
||
|----------|--------|
|
||
| Where am I? | Phase 2:MCP 契约与脚本运行基础 |
|
||
| Where am I going? | 完成脚本工具、运行注册表、标准包和回归 |
|
||
| What's the goal? | 为 cc-web 提供标准 JavaScript 会话编排能力 |
|
||
| What have I learned? | 现有 MCP/会话/steer 入口可复用,完成点需接入服务端等待 |
|
||
| What have I done? | 完成需求收敛、代码索引核验和 scoped planning 文件 |
|