子弹按钮 — 用完即抛

文档发表:2026-07-19 · 阅读:91 · 更新:2026-08-12

子弹按钮 — 用完即抛的上下文武器

问题

当你和 AI 协作时,有时会需要把一份大文件喂给 AI 分析——比如几十 MB 的日志、崩溃堆栈、API 响应。直接粘贴进编辑框会炸上下文(单次上限 16K chars)。你也不想这些一次性的大文本永久留在对话里,污染之后每一层楼的AI记忆。

qqqide 提供一种方式:这一层楼让 AI 看到这些数据,下一层楼这些数据自动消失,只留下 AI 的结论。

那就是子弹按钮。

比喻

子弹一般只会被发射一次,一个子弹大概不会被发射第二次。

我们用子弹象征 用完即抛。

好比一堆 log 就是那颗子弹。你把它发射给 AI,AI 分析完给你结论。这一层楼完结后,log 原文自动从上下文中剥离——只有结论留在对话里,进入下一层。

编辑框 vs 子弹按钮 — 两种键入,两种命运

这是理解子弹按钮最重要的一节。

编辑框(左边那个打字的地方)

  • 上限 16K 字符。编辑框下方有一条红色血条,实时显示剩余编辑容量。
  • 编辑框里的每一个字,都会永久留在 AI 的上下文里,跨楼层不消失。 - 这就是为什吗要有“编辑容量” 限制。
  • 如果你想把一段信息在本任务(quest)层面永久植入 AI 的大脑,请把它填进编辑框。

子弹按钮(右边那个子弹图标)

  • 这一层楼让 AI 看见,下一层楼自动消失,只留结论。 原文不进 AI 的长期记忆。
  • 上限 3MB(单文件),远超编辑框的 16K。
  • 如果你只想让 AI 看一次然后忘掉,就用子弹。

一句话总结

编辑框子弹按钮
上限~16K 字符3MB / 文件
生命周期永久留在 AI 上下文一层楼,用完即抛
用途核心指令、持久记忆一次性分析、大文本
容量指示红色血条无(自动 FIFO)

编辑框是你给 AI 的永恒记忆。子弹是你给 AI 的一次性情报。两者互补,缺一不可。

按钮在哪

编辑框右侧有一条 16px 宽的竖条,上面有个子弹图标。那就是子弹按钮。

操作步骤

第 1 步:复制内容到剪贴板

把你想要喂给 AI 的内容复制到系统剪贴板(Ctrl+C)。可以是:

  • 日志文件内容
  • 崩溃堆栈
  • API 响应 JSON
  • 任何你想让 AI 看一眼就扔的大文本

第 2 步:点击子弹按钮

点击编辑框右侧的子弹图标。你会看到子弹射出动画 + 音效反馈。

第 3 步:自动完成

点击后,底层自动完成以下操作:

步骤做什么
① 读剪贴板从系统剪贴板读取文本
② 3MB 硬帽超过 3MB 只保留首尾各 1.5MB
③ 写磁盘写入 {项目}/_qqq/bullet/bullet_时间戳_quest_f楼层.txt_qqq/ 目录结构见qqqide 滴工作空间
④ FIFO 轮转目录超过 20MB 自动删最老文件
⑤ 注入编辑框自动插入 📎"文件路径" 到编辑框光标处

第 4 步:发送消息

编辑框里已经有了 📎 附件标记,直接回车发送。AI 会读到子弹文件的完整内容。

第 5 步:自动消失

一层楼完结后,上下文压缩系统会自动剥离 [File: ...] 块——子弹原文不进下一层楼的上下文。AI 的分析结论保留,原文丢弃。

子弹 vs 从视口直接点文件 — 底层完全一样

无论你是点击子弹按钮,还是从 AI 视口文件列表单击文件注入链接——编辑框里出现的都是 📎"路径"。完全同一条管线:

📎"路径" 注入编辑框
    │
    ▼
ContentGateway.gate() — 统一 50K 截断(全文 or 首20K+尾20K)
    │
    ▼
喂给 AI
    │
    ▼
楼层封顶 → _buildCompressedBiscuit → 正则全局剥离 [File: ...] 块
    │
    ▼
原文消失,只留 AI 结论

两者在这一层楼的上下文表现完全一样——都是用完即抛。 区别仅在于文件来源:

子弹按钮从视口点文件
文件来源从剪贴板读取 → 新写入 _qqq/bullet/项目里已有的文件
磁盘生命周期目录 20MB FIFO 自动淘汰文件一直在项目里
适合场景剪贴板里有大段 log/JSON,不想手动创建文件文件已经在项目里,点一下就行

一句话:文件从哪来不一样,但进 AI 上下文后命运完全一样——楼层封顶即剥离。

底层原理

点击子弹按钮
    │
    ▼
① 读剪贴板 (bridge.clipboard.readText)
    │
    ▼
② 硬帽检查 (3MB,超则首尾各 1.5MB)
    │
    ▼
③ 写磁盘 ({项目}/_qqq/bullet/bullet_时间戳_quest_f楼层.txt)
    │
    ▼
④ FIFO 轮转 (目录 > 20MB → 删最老)
    │
    ▼
⑤ insertChipAtCursor → 📎"路径" 注入编辑框
    │
    ▼
⑥ 用户发送 → AI 读取 (经 ContentGateway 截断至 50K chars)
    │
    ▼
⑦ 楼层封顶 → 上下文压缩 → [File: ...] 块全局剥离
    │
    ▼
⑧ 子弹原文消失,只留 AI 结论

限制

  • 单文件 3MB 硬帽:超过取首尾各 1.5MB,中间截断
  • 目录 20MB FIFO:子弹目录总大小超 20MB 自动删最老文件
  • 文件名格式bullet_20260716_003042_q1_f3.txt(时间戳 + quest + 楼层号)

如果没有子弹按钮

你只能:

  • 把大段 log 直接粘贴进编辑框 → 污染上下文 → 降低 AI 能力
  • 手动创建临时文件 → 手动喂给 AI → 楼层完结后手动去删 → 忘了删占磁盘空间

子弹按钮把多个步骤合并成一次点击,最重要滴是明确滴建立了一条界限,界限以左?还是界限以右?