Devotd Github
新发现安全

electric-capital/quest — 用单个 write_doc 卡片打包编辑

Quest 现在把一个文档中的多处编辑打包进同一张 write_doc 卡片,一次性获得批准,并且可以只应用其中一部分。

仓库信息electric-capital/quest ↗

Quest 现在把一个文档中的多处编辑打包进同一张 write_doc 卡片,一次性获得批准,并且可以只应用其中一部分。

GitHub 项目说明: An open source, self-hosted, safety-focused AI workbench

星标
★ 73
复刻
5
语言
Python
许可证
Apache-2.0
最新版本
v0.3.0
查看原始来源 ↗在 GitHub 查看 ↗

electric-capital/quest 是一个开源、可自行托管的、以安全为中心的 AI 工作台。2026 年 10 月 30 日的提交 6fc317df(PR #199)调整了 Quest Docs 的编辑审批流程。此前,每次修复同一文档中分散的多处内容,都必须为每个编辑单独开一张 write_doc 卡片;现在多个编辑被打包成一组,只需一张卡片即可完成批准。

模型所使用的工具 edit_doc(doc_id, edits=[...]) 现在一次最多可接受 DOC_MAX_EDITS_PER_CALL(10)个 {old_string, new_string, replace_all?, note?} 条目。每个 old_string 只以编辑前一刻的正文为基准进行匹配,因此各编辑之间彼此独立、与应用顺序无关,而对同一区段的重叠修改会被拒绝。失败的编辑会一次性全部报告出来,让人看得出具体是第几项没有匹配上。整组编辑通过一次写入生效,只会产生一个 History 版本、一次 updated_at 更新,以及一对实时事件。

审批卡片对 write_doc 使用 multi_edit 动作,从而容纳整组编辑;卡片内按编号顺序显示每个编辑的预览 diff、应用位置以及模型附上的 note。新组件 DocEditGroupPreview 负责这一渲染。每个条目都有一个 Apply 复选框,可以只应用其中一部分;被排除的条目可以填写一行理由,按钮文案会变成 Apply 4 of 5 这样。排除的条目会作为 skipped_items 传给路由,出现越界编号、重复或全部排除之类的选择时,会以 400 invalid_selection 拒绝。在实际应用结果中,未采用的条目会保留为 skipped,模型看到之后就不会再提出同样的更改。

不过有一个需要注意的地方:预览是基于批准前一刻的正文生成的,而在批准时会重新读取正文并应用整组编辑。在这期间如果文档发生变化,就会有一个过期编辑失败,卡片保持打开并告知是哪一项出现了偏差。该提交包含了 571 行的打包编辑专用后端测试文件以及 223 行的前端卡片测试,单条编辑路径 edit 以及 append、add_image 均保持原样,因此现有卡片仍能正常打开。许可证和星标数之类的仓库指标在所给资料中没有。