Skip to content

船长专注时只被必须立刻知道的事打断;⛵ 备注只留有新进展的;船长可直接在工人窗口聊方案 - #4

Merged
suyuan2022 merged 5 commits into
mainfrom
local/captain-attention
Sep 25, 2026
Merged

suyuan2022 merged 5 commits into
mainfrom
local/captain-attention

Conversation

@suyuan2022

Copy link
Copy Markdown
Owner

问题

船长的注意力是推动所有工作的瓶颈,现在有三处在浪费它:

  • 船长手测或聊方案时,监督分支的每条结果照样出现在他窗口里,大副还会接一句,把他拉去别的事。
  • ⛵ 例行备注里将近一半只是换个说法重复「还在等」:最近 345 条例行备注中,有 162 条跟同一任务上一条记录比,状态文件一个字节都没变。这些备注全部以 custom 消息进了大副的上下文,一个会话一天半就有 151 条、约 24KB。
  • 大副回复几乎都以英文「Captain」开头(当前会话 149 条回复里有 136 条),来源是手册里「每条聊天回复都要称呼 captain」和固定句 Captain, shipshape.。

改了什么,为什么

  1. 精简手册(bin/local/fm-agents-trim.sh 新增按原句替换,AGENTS.local.md 重新生成)
    • 称呼改成用中文「船长」,不必每条都称呼;固定句改成 船长,一切正常。,这句的使用限制原样保留;删掉「偶尔用 aye、shipshape 等航海词」一行。
    • 第 9 节「立刻告诉船长」清单六项全留,改成按 data/captain.md 的三档(立刻、攒着、不说)决定什么时候说,后面加四句专注规矩。
    • 替换的原句必须逐字匹配、恰好一次,上游改了原句就停下来报错,不会悄悄留下旧说法。
  2. 船长专注(.pi/extensions/local-captain-focus.ts,在 fm-branch-supervision.ts 里加两行钩子)
    • 大副在船长说要手测、聊方案时用 fm_focus on 打开专注,停下、换话题或问还有什么时用 fm_focus off 关掉,关掉时拿回攒着的全部内容,在一条回复里说完。
    • 专注开着时,只有监督分支标了「〔立刻〕」的 captain 结果照常进来,其余有内容的结果都存进 state/ 里的清单,重开会话、压缩上下文都不丢。专注期间界面上不显示任何计数。
    • 船长 45 分钟没说话,专注自动结束,攒着的交给大副整理成一条,他回来就能看到。离开模式下专注不生效。
  3. ⛵ 备注筛选(同一个扩展)
    • 例行备注改成只显示给船长的会话条目,不再进大副上下文;大副要看时用 fm_branch_outcomes 查结果记录。
    • 任务状态(最新状态行的种类加 pr=)变了一定显示;状态没变、分支又标了「〔无新进展〕」才不显示;拿不准就显示。所有结果照常写进结果记录。
    • 「没新进展」用摘要前缀而不是 silent 字段:结果存储在写入和读取校验里都只允许 fleet 用 silent(bin/fm-branch-outcome.sh、bin/fm-branch-report.sh),放开要改四处上游代码。
  4. 方案窗(bin/local/fm-worker-role-lib.sh,在 bin/fm-dod-lib.sh 里加钩子)
    • 工人角色说明里上游那句「不要对船长说话」原样保留,后面紧跟一句本机例外:除了 firstmate 收件箱的提示行,打进工人自己窗口的字就是船长在直接跟它说话,用中文在那里回答;状态和结果仍只报给 firstmate。

上游原来防的问题照样防住:

上游规矩 当初防什么 现在怎么防
第 9 节「立刻告诉船长」 船长漏看可审的 PR 和调查结论 六项照样告诉船长,只是在他专注时推到停下来那一刻;攒着的清单落盘,结束或超时一定交给大副
Pi 监督说明里 Regression example(a2216406,kunchenguid#4738) 大副对「实现完成、可以审了」只回一句 shipshape 交回来的 captain 结果仍走处理请求、用 fm_branch_processed 结案;专注时只是暂不列出攒着的那几条
工人不对船长说话(702004ed,kunchenguid#3797) 在 firstmate 仓库里干活的工人把自己当成大副 原句保留;例外只允许在自己窗口里回答船长,不改身份、不改汇报对象

每处本地改动都登记在 MODS.md:「精简版 AGENTS」「船长专注和 ⛵ 备注」「方案窗」三节,外加钩子表。

行为规则

  • 没有本机开关 config/captain-focus 时,专注和备注筛选都不生效,行为与上游相同。
  • 钩子函数出错时退回上游交付,扩展坏了也不会吞掉结果。
  • 「〔立刻〕」「〔无新进展〕」两个前缀由监督分支写,规则放在本机 config/branch-prompt-include.md,合并后由大副追加。

怎么验证

  • bin/fm-test-run.sh tests/fm-local-mods.test.sh:11 个本地测试全过,其中新增 tests/local/fm-captain-focus.test.sh(分流规则、攒着和交回、离开模式、超时、从临时目录载入真实扩展走一遍工具和钩子、钩子行还在)、tests/local/fm-worker-role.test.sh,tests/local/fm-agents-trim.test.sh 新增替换用例。
  • tests/fm-pi-branch-extension.test.sh、tests/fm-pi-primary-types.test.sh(用本机 Pi 0.87.1 类型严格检查)、tests/fm-dod-lib.test.sh、tests/fm-brief.test.sh、tests/fm-pr-check-security.test.sh、tests/fm-session-start.test.sh、tests/fm-documentation-audiences.test.sh 全过。
  • bin/fm-lint.sh 和 bin/fm-lint.sh bin/local/*.sh tests/local/*.sh 干净。
  • 合并后要在真实会话里验:专注期间只有「〔立刻〕」插进来;关掉时一次说完;⛵ 备注不再出现「仍在等」的重复;船长在方案窗连续聊几十轮,看监控日志有没有没被吸收的唤醒。

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-09-25T07:56:45.258791Z ecded72 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@suyuan2022
suyuan2022 merged commit 46758cf into main Sep 25, 2026
18 checks passed
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