Skip to content

docs(brainstorm): 视觉伴侣补充 Copilot CLI 服务器启动说明#91

Open
qicesun wants to merge 1 commit into
jnMetaCode:mainfrom
qicesun:docs/brainstorm-copilot-cli-launch
Open

docs(brainstorm): 视觉伴侣补充 Copilot CLI 服务器启动说明#91
qicesun wants to merge 1 commit into
jnMetaCode:mainfrom
qicesun:docs/brainstorm-copilot-cli-launch

Conversation

@qicesun

@qicesun qicesun commented Jul 5, 2026

Copy link
Copy Markdown

你要解决什么问题?

在 Copilot CLI(Windows,版本 1.0.69-1)上使用 brainstorming 的视觉伴侣时,skills/brainstorming/visual-companion.md 的"按平台启动服务器"一节列出了 Claude Code / Codex / Gemini CLI / 其他环境,但没有 Copilot CLI 条目(上游 obra/superpowers 是有的)。

缺少专属指引时,agent 即兴用阻塞式(attached / 前台)命令启动了常驻的 node server.cjs。由于该 web server 永不返回,Copilot CLI 的状态栏跨多个对话轮次一直停在 "working"、对话不回到 idle(用户仍能插话,但状态永不结束)。同时留下 2 个孤儿 server 进程运行了约 3 小时。

这个 PR 做了什么改变?

visual-companion.md 的分平台启动一节补充 "Copilot CLI" 段:指导 agent 用 --foreground + Copilot CLI 的后台/异步 shell 模式启动,使 server 常驻后台、跨轮次存活,同时工具调用立即返回(CLI 回到 idle);收尾用 scripts/stop-server.sh 停止。单文件、单段落。

这个改变适合放在核心库中吗?

适合。本项目 README/描述均声明支持 Copilot CLI,且 visual-companion.md 本就按平台给出启动指引——独缺 Copilot CLI。这是核心 brainstorming skill 的基础设施,惠及所有使用 Copilot CLI 视觉伴侣的用户;无第三方依赖、非项目/领域专属。

你考虑了哪些替代方案?

  • server.cjs / start-server.sh 生命周期:否决——server 后台常驻是期望行为(用户需要随时查看看板),本问题纯粹是缺启动指引。
  • 只写泛化描述、不点名后台机制:否决——本文件其他平台段都点名了各自的后台标志(Claude Code 的 run_in_background: true、Gemini 的 is_background: true),点名更利于 agent 正确执行、也与本文件风格一致。故本段同样点名 bash 工具 async: true、powershell 工具 detach: true,并说明 .sh 经 bash 运行(PowerShell 下走 Git Bash);清理指向 stop-server.sh
  • 逐字镜像上游(含 --open、英文 mode:"async":否决——本 fork 全局省略 --open,且 copilot-tools.mdasync: true;逐字镜像反而与 fork 约定冲突。

这个 PR 是否包含多个不相关的改变?

否。单文件、单段落新增。两个相关但独立的发现(Windows 孤儿 server bug、Copilot CLI powershell/bash 工具不匹配)已另行开 issue,不捆绑进本 PR。

已有的 PR

测试环境

工具 工具版本 模型 模型版本/ID
GitHub Copilot CLI 1.0.69-1 Claude Opus 4.8 claude-opus-4.8

(Windows;Node v24.17.0;Git bash 存在)

评估

  • 触发本次改动的初始 session:在 Copilot CLI / Windows 上用 brainstorming 视觉伴侣(一次决策头脑风暴),观察到 CLI 长时间卡在 "working",并遗留 2 个孤儿 server(其一端口 51796,运行约 3h)。
  • 实测 before/after(真机 Windows)
    • attached(复现 bug):前台启动 node server.cjs ≥15s 不返回(会一直占住整轮 → 卡 working)。
    • background(修复):detached 启动约 0.04s 返回,server 存活至新开的 shell(跨轮次),带 key 的 URL 返回 200、无 key 返回 403
    • 完整看板闭环:写入 HTML 片段 → 服务端 200 且被 frame 模板包裹 → 用 Playwright 真实点击 → 事件写入 state/events,全部通过。
  • 指令跟随验证(定稿文案):让全新 agent(Claude Opus 4.8、GPT-5.5)在仅阅读本段、不予提示的情况下执行启动,两者均正确地以后台方式(powershell 工具 detach: true,经 Git Bash 跑 --foreground)启动、调用立即返回、200/403 符合预期并自行清理。
  • 说明:本改动是分平台启动指引(程序性文档),未改动行为塑造类内容(未动 Red Flags 表 / 合理化列表 / "human partner" 措辞)。

严格性

  • (不适用)本改动非行为塑造类 skill 措辞改动,故未使用 superpowers:writing-skills 跑对抗压测;改以上述真机 before/after 实测作为证据。
  • 这个改变经过了对抗性测试(多模型对抗审查 + 4 项真机 E2E),而不仅仅是正常路径
  • 我没有在未经大量评估证明改变是改进的情况下修改精心调整的内容

人工审核

  • 提交前已有人工审核过完整的 diff

@qicesun

qicesun commented Jul 5, 2026

Copy link
Copy Markdown
Author

补充:本次调查还发现两个独立问题,为遵守「一 PR 一问题」已单独开 issue,未捆绑进本 PR:

本 PR 仅解决「缺 Copilot CLI 启动指引 → CLI 卡在 working」这一个症状。

Copilot CLI 上视觉伴侣缺少专属启动指引,导致 agent 用阻塞式前台调用启动
server,使 CLI 一直卡在 working。补充 Copilot CLI 段:用后台/异步 shell
模式启动使 server 常驻且工具调用立即返回,收尾用 stop-server.sh。

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@qicesun qicesun force-pushed the docs/brainstorm-copilot-cli-launch branch from 9d8eb36 to e72b836 Compare July 5, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant