docs: log v0.3 H3 remote approve/reject
This commit is contained in:
@@ -121,6 +121,15 @@
|
|||||||
- **遗留 / 待办**: 无(原前端打包待决项已解决,见下补记)。
|
- **遗留 / 待办**: 无(原前端打包待决项已解决,见下补记)。
|
||||||
- **commit**: `b126cf0`
|
- **commit**: `b126cf0`
|
||||||
|
|
||||||
|
### 2026-06-17 · v0.3 Step 3 — H3 远程批准/拒绝(不打字)
|
||||||
|
|
||||||
|
- **状态**: `[x]` DONE。**端到端真浏览器验证通过**(commit `9a6150c`)。
|
||||||
|
- **机制**: `PermissionRequest` hook 用 curl POST 到 `/hook/permission` 并**阻塞等响应**;服务端长挂该 HTTP 响应,推 `status{waiting,pending:true}` 给前端 → 前端显示 **[✓Approve][✗Reject]** 横幅 → 点按发 ws `approve`/`reject` → 服务端用 `{hookSpecificOutput.decision.behavior:allow|deny}` 回应被挂的请求 → curl stdout 把决定交给 Claude。**全程不打字**。
|
||||||
|
- **兜底**: 5 分钟超时 / 断开即释放 → 回空 `{}`,Claude 回退到自己的交互提示;web-terminal 外 curl 无 URL → no-op。
|
||||||
|
- **改动**: types(ClientMessage approve/reject、status.pending)、protocol(白名单+解析)、manager(pending 透传)、server(`/hook/permission` 长挂 + approve/reject 路由 + resolvePending)、setup-hooks(PermissionRequest 用 held 命令)、FE(terminal-session approve()/reject()+pending、tabs 批准横幅)。
|
||||||
|
- **验证**: 207 测试全绿(协议 approve/reject 单测 + 集成 ⑧ held→approve→allow);浏览器实测横幅"Claude wants to use Bash"→Approve→held 请求得到 allow→横幅消失(截图 /tmp/v03-approve.png)。
|
||||||
|
- **commit**: `9a6150c`
|
||||||
|
|
||||||
### 2026-06-17 · v0.3 Step 2 — H2/H4 Claude 状态感知(headline)
|
### 2026-06-17 · v0.3 Step 2 — H2/H4 Claude 状态感知(headline)
|
||||||
|
|
||||||
- **状态**: `[x]` DONE(分支 `v0.3-cockpit`)。**端到端真浏览器验证通过**。
|
- **状态**: `[x]` DONE(分支 `v0.3-cockpit`)。**端到端真浏览器验证通过**。
|
||||||
|
|||||||
Reference in New Issue
Block a user