Claude Code 插件

每个待定决策,皆可点选。

qna 盯着你的会话,把悄悄溜过去的选择先停泊下来,回头以分批、按依赖排序的问题交还给你——每题都给真实备选,绝不做是非题。

安装
$ curl -fsSL https://raw.githubusercontent.com/jinhuang712/claude-code-qna/main/reinstall.sh | bash

然后照常干活。想敲"所以我到底要拍什么?"的时候,改敲 /qna:ask 就行。

它解决的问题

一墙文字,不叫提问。

问 Claude Code 还有什么待定,你会收到一条塞了十条编号问题的消息。作答意味着来回滚动、手打 Q1: … Q2: …,然后看着它们滚出视野。

claude · ~/projects/cache-service 没有 qna
用户
>所以我还需要定什么?
claude
1.这是我缓存的方案——看着行吗?
2.用 SQLite 还是文件?
3.TTL 定多少合适?
4.要不要 --no-cache 参数?
5.命中日志用哪个级别?
还有五条你已经滚过去了
你的回复
>Q9: 这到底是啥都不知道
>Q1: 太单薄——得有结构
>Q3: 300秒
claude · ~/projects/cache-service 装了 qna
qna — 扫到 11 条,7 条要问。 2 条已定,1 条失效。
总览 缓存键 写入失败 并发 提交 ↵
缓存键要不要纳入认证身份?
同机多 token 时,A 的响应会被 B 命中——这是数据串号,不只是性能问题。
纳入 token 指纹 推荐
把 token 哈希进键。防串号最稳。
预览key = sha256(url + sorted(query) + tokenhash[:8])
# 切 profile 冷启动 +200ms · 3 处调用
纳入 profile 名
按 profile 隔离,键更轻。同 profile 内跨 token 仍会串。
维持现状,不纳入
最简单。完全接受串号风险。
其他…(自己输入)
回车选择Tab / 方向键切换Esc 取消
它做什么

三件事,且是动真格的。

有意思的不是 prompt——是哪些部分根本不是 prompt。

可点选,不用打字

每道题都渲染成真实选项,带预览面板。自由文本只是"其他"的兜底——你用点选作答,一次四题分批发。

发生时就记下

Claude 未经你点头就做的选择,会被停泊进按会话隔离的日志。所以后来给你的选项,是当时真权衡过的——不是临场编三个凑数。

用代码强制

"给三个选项"和"必带预览"不是客气话。脚本和 hook 会拒绝一切不达标的——记录侧和提问侧都一样。

工作原理

干活时停泊,你发问时了结。

不打断你的节奏。决策静默累积,由你挑时候来收。

1

会话开始时注入记录协议

三条规则:Claude 做了你没点头的决定时、你搁置了某事时、停泊项被了结时。各自跑 qna-addqna-resolve——它们会拒绝不合格的条目。

2

扛得住上下文压缩

决策存在 .qna/<session>.md 里,不在上下文里。压缩后协议和积压清单自动重新注入。什么都不会蒸发。

3

你敲 /qna:ask 来收

它扫对话和日志,对账已了结的项,按依赖排序,然后发问——分批、带预览。一个 hook 校验每道题:没有是非题陷阱,没有不带预览的选项。

开始使用

一行命令。全局零副作用。

不改 settings.json,不动 PATH,不写 CLAUDE.md

1 · 安装

在终端里一行搞定:

$ curl -fsSL https://raw.githubusercontent.com/jinhuang712/claude-code-qna/main/reinstall.sh | bash

2 · 随时发问

在 Claude Code 里照常干活,然后:

> /qna:ask
# 或限定某个话题:
> /qna:ask 架构