通过 @axhub/genie CLI 发现在线 frontend-page、读取 Genie 编辑器待处理节点、导出上下文图片或节点截图、设置节点编辑状态并完成网页或文本标注相关修改的完整闭环流程;当用户要求根据 Genie editor 待办修网页、批量处理 pending-dispatch 节点、处理文本/Markdown 标注待办时使用。
先读编辑器待办 → 改页面或文本 → 回写状态 → 复核剩余待办。
需要 @axhub/genie ≥ 0.2.2。如果用户尚未安装或启动,提示:
# 安装(首次)
npm install -g @axhub/genie
# 启动服务(指定项目目录)
npx @axhub/genie --cwd /path/to/project
# 确认服务在线
npx @axhub/genie status --json
如果 status --json 返回 running: false 或命令不存在,立即告诉用户当前阻塞点,不要假装继续。
references/cli-reference.mdnpx @axhub/genie status --json
确认 running: true 后,记录本次任务使用的 channel、targetClientId。
npx @axhub/genie editor clients list --channel <channel>
pageUrl、sessionId、用户给出的 targetClientId 缩小范围整个任务复用同一个 channel + targetClientId。
至少拿这两份数据:
npx @axhub/genie editor snapshot --channel <ch> --target-client-id <id>
npx @axhub/genie editor nodes list --channel <ch> --target-client-id <id> --status pending-dispatch,dirty
按此优先级处理节点:pending-dispatch → dirty → error → 疑似卡住的 editing。
扫描结果为空时,告诉用户当前没有可消费的 editor 待办,不要硬编待办。
开始处理某节点前:
npx @axhub/genie editor editing set \
--channel <ch> --target-client-id <id> \
--element-key <key> --state editing \
--provider codex --task-request-id <unique-id>
要求:
taskRequestIdprovider 固定用 codex--state idle(当作 finally 语义)每个节点至少看 elementKey、label、changeState、taskState、hasNote、hasImages、changeKinds。
按需补充:
editor context-images exporteditor node screenshotabsolutePath,直接用 view_file 查看注意 context-images 是页面级共享上下文,不一定能精确映射到单个节点。
拿到节点信息后,在当前项目里完成编辑。
原则:
至少做一轮回读:
npx @axhub/genie editor snapshot --channel <ch> --target-client-id <id>
npx @axhub/genie editor nodes list --channel <ch> --target-client-id <id> --status pending-dispatch,dirty,error,editing
如果节点代码已改但 backlog 仍显示 dirty/pending-dispatch,不要假装已完成。明确说明:
editing.set 只支持 editing/idle 两种状态值对每个已领取节点:
npx @axhub/genie editor editing set \
--channel <ch> --target-client-id <id> \
--element-key <key> --state idle \
--provider codex --task-request-id <unique-id>
任务未完成也要释放,同时在总结里写清未完成原因。
适合并行:不同页面区块、改动文件不重叠、上下文已足够清楚。
不适合并行:同一组件树深度耦合、依赖同一套重构、还没搞清各节点位置。
主代理保留:客户端选择、节点领取/释放、最终复核。
遇到服务离线、找不到客户端、节点不存在、截图失败、无法定位节点等情况,优先说明问题,不要伪造完成。
部分完成时,清楚列出已完成/未完成节点及原因。
最终回复至少包含:
channel + targetClientIdelementKeyreferences/cli-reference.md