返回资讯中心
外部精选
软件工程
#开发者实时流

工具 fcc 为 Claude Code 任务生成变更说明页面和流程图

来源标题:Flowchart for Claude Code

fcc 会在 Claude Code 每次改动文件后,生成一个本地页面,用自然语言解释改了什么、行为前后有何不同,并把记录留在仓库里作为开发历史。每个任务还附带运行时流程图,高亮新增、变更和删除的步骤。目前版本为 0.3.0,在 macOS 上开发和日常使用,Linux 应该可用,Windows 未测试。

Hacker News 最新alexabbi2026/11/3 · 今天20 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

读更少的代码,依然知道改了什么。在每次涉及文件的 Claude Code 任务结束后,fcc 会打印一个链接,指向一个本地页面:它用平实的语言解释这次工作,展示它改变了什么行为,并把这份解释作为项目的开发历史保存在你的仓库里。

早期阶段:版本 0.3.0,为作者的日常使用而写,在 macOS 上开发。它应该能在 Linux 上运行;Windows 未经测试。

变更内容与需要检查的事项

一个标题、任务背后的原因(目标、决策、被放弃的备选方案)、变更前后的行为、你提出的每一项需求被标记为已完成 / 部分完成 / 缺失,以及一份需要验证的简短清单:未处理的错误、没人要求过的改动、在 Claude 编辑工具之外被修改的文件、缺失的测试。在截图中,它发现折扣码在后端实现了,却从未接入结账 UI。

文字会跟随你书写时使用的语言。

每个任务还会得到一张运行时流程图的领域语言版本,新增、变更和删除的步骤会高亮显示。下面这张是真实的流程图,由 GitHub 根据 fcc 写入的记录渲染而成:

flowchart TD s1(["Utente apre il checkout"]) s2["Utente digita codice sconto"]:::added s3["Calcolo totale scontato"]:::added s4[("Mostra subtotale e totale scontato")]:::added s5["Utente clicca Paga"] s6["Invio ordine con codice sconto"]:::modified s7{"Ordine creato con successo?"}:::added s8(["Ordine completato"]) s9(["Errore codice non valido mostrato"]):::added s1 --> s2 s2 --> s3 s3 --> s4 s4 --> s5 s5 --> s6 s6 --> s7 s7 -->|"successo"| s8 s7 -->|"codice non valido"| s9 classDef added fill:#e3f3e7,stroke:#2f8a4c,color:#1f1e1c classDef modified fill:#fbf0dc,stroke:#b7791f,color:#1f1e1c classDef removed fill:#fbe4e2,stroke:#c2413a,color:#1f1e1c,stroke-dasharray:5 3 加载中

每一步都锚定到实现它的函数:在页面里点击其中一步,就能看到它们的 diff。调用图无法支撑的链接会画成虚线并标注「inferred」,这样你始终清楚哪些是有依据的、哪些是模型在说。

新增、修改或删除的函数、方法和类,它们之间的调用关系,以及作为灰色上下文展示的未变更调用方——按文件和包分组。再点一下,就能看到单个符号的 diff 和一个在你的编辑器中打开它的链接。

每个任务也会写入你仓库里的 docs/flow/。History 标签页把它们按功能或按 commit 分组显示为时间线,告诉你哪些任务已被提交、部分提交或丢弃,并可搜索故事、决策和文件名。

每个任务一个 Markdown 文件(外加一个供 fcc 读取的 JSON sidecar),你把它和它解释的代码一起提交:


fcc: 1 task: "20260922-190815-6478" date: "2026-09-22T17:08:15.759Z" feature: "Codici sconto" model: "sonnet"

Il checkout mostra ora il totale scontato accanto al subtotale…

Why

Nel checkout, far vedere all'utente quanto sconto ottiene con il codice inserito e informarlo chiaramente se il codice non è valido… Decisions

  • Mostrare sia il totale scontato che il subtotale originale nel checkout
  • Gli errori di codice non valido vengono mostrati con role="alert" invece di fallire silenziosamente

Asks

  • ✓ Mostrare l'importo scontato nel checkout — Il componente calcola e mostra 'Totale: X (invece di Y)' usando Cart.total() e Cart.subtotal()…

那段「why」来自促成该任务的整段对话,而不是最后一条消息:在一段以「ok, go」结束的长讨论之后,你们商定的决策依然在那里。

不想要某一个?用 /flow drop,或者页面里的 Remove from repo 按钮。全都不想要?用 /flow private 让本次会话不写入仓库,或者把 FCC_HISTORY_DIR 指向一个被 gitignore 的目录。

fcc 是一个本地工具,只有一条对外路径:写入故事。

需要 Claude Code、git 和 Node ≥ 18。无需 npm install:插件自带打包产物。

claude plugin marketplace add alexabbi/fcc claude plugin install fcc@fcc

选择 user 作用域可以让它在所有地方可用,或者选择 local 只用于一个项目。想不安装就试用:claude --plugin-dir /path/to/fcc。之后:claude plugin update fcc@fcc、claude plugin uninstall fcc@fcc。

安装它并不会启动它。fcc 会一直休眠,直到你在某个项目里把它打开,并且它会在你第一次于新项目中工作时提示一次:

/flow on

从那时起,仅在那个项目中,每个涉及文件变更的任务都会得到一个故事。如果你更愿意逐个任务决定,/flow mode manual 会保留快照(它们免费且静默),但不做任何分析、不调用任何模型,直到你主动要求——用 /flow last 或页面里的 Explain this task 按钮。这样你是在看到结果之后再做选择,而不是之前。

/flow on project 则把这个选择写入仓库,对拥有它的所有人开启。/flow off 停止,/flow forget 还会删除 fcc 保留的关于该项目的所有内容。

命令 效果
/flow on · /flow off 开始或停止在此项目中记录任务(加 project 为所有人决定)
/flow mode manual 捕获任务,但仅在询问时解释(auto 是默认值)
/flow last 解释上一个任务
/flow skip 完全丢弃上一个任务
/flow forget 停止记录并删除 fcc 保留的关于此项目的内容
/flow 打开当前项目的历史
/flow model haiku 选择撰写故事的模型(默认 sonnet,也可以是 opus、某个 claude-… id,或 off);加 project 仅限此仓库
/flow start "Discount codes" 把接下来的任务归入一个功能
/flow end 停止分组
/flow drop 删除上一个任务的报告,使其永远不会被提交
/flow private · /flow public 让本次会话的任务不进入仓库,或放回去

成本与速度

这些 hook 每轮大约增加 0.1 秒。结构在几秒内就绪,故事大约一分钟,两者都在后台进行:Claude Code 永远不会被阻塞。使用默认的 Sonnet,在我们的测试中一个任务约花费 $0.06,计入你已有的 Claude Code 套餐。Haiku 更便宜,但在同样的

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →