前言¶
在 DeepSeek Harness(DSH)里做多智能体协作时,常见做法是分工执行、圆桌讨论或自动修代码。方案写到一定阶段,你真正需要的往往不是「再生成一版」,而是:这份成果在指定维度上能不能站得住。机器可以多角度挑刺,但认定与驳回应留在人手里,否则容易把流程门禁或模型汇总当成最终结论。
下面介绍社区插件 针锋 Crossfire(@y9931666/dsh-plugin-crossfire):只做对抗式评审,不产出方案、不改代码、不自动修复。维护者为 9931666,分类为工作流;代码与说明见 GitHub 仓库,目录页为 SkillHub 插件页。插件当前 npm 版本为 0.2.0,许可证 MIT。
这是什么¶
Crossfire 是 DSH 的一个插件,定位是验收器,不是执行器:把已经定稿的成果摆上评审台,按你选的维度拉起只读红队专家攻击,由你在卡片上逐条认定、驳回或待定。
与协作型团队(如 AgentTeams)、圆桌类插件相比,它的目标不是把活干完或开会聚合,而是判定一份成果是否站得住;机器侧只负责挑错,结论由你逐条下。界面形态是一张卡、四个状态(draft → attacking → judging → settled),而不是成员树、任务 DAG 或圆桌拓扑图。
四条设计边界(README 中写明,越界即破坏其用途):
- 缺陷的认定 / 驳回只能在卡片上由你操作;插件没有「代表用户认定缺陷」的工具。
- 不产出方案、不改代码、不自动修复。
- 红队专家只读:工具白名单为
read/read_image/glob/grep加crossfire_report,能取证不能动手。 - 你的历史表态只用于去重与复审递进,不作为「用户画像」喂给红队。
状态与 .roundtable 命名空间完全隔离,两个插件零代码耦合。
核心功能¶
状态机与工具¶
在对话里说「用针锋评审一下这个方案」,或在卡片上点按钮,驱动的是同一套状态机:
crossfire_plan_review ──▶ crossfire_open ──送红队上场──▶ attacking ──收集观点──▶ judging ──定稿──▶ settled
(设置确认卡,不落盘) (draft) ▲ │
└──── 开复审 ─────┘
Host 侧 crossfire_* 工具分工如下(摘自 README):
| 工具 | 作用 |
|---|---|
crossfire_plan_review |
开评第一步:弹设置确认卡(评审设置 + 红队阵容),等「确定开始 / 仍需修改」;确认前不落盘、不拉专家;确认后把完整配置(含 experts)原样传给 crossfire_open |
crossfire_open |
摆上待验证对象(标题、正文、维度、强度、确认过的 experts),状态 draft |
crossfire_stance |
写入用户立场与理由;缺失时可从对话提炼(distilled=true),不虚构 |
crossfire_attack |
按维度拉起只读红队,状态 attacking |
crossfire_collect |
把专家发言拆成逐条可裁决的缺陷,状态 judging |
crossfire_finish |
定稿并固化 known-flaws,状态 settled |
crossfire_recheck |
复审:只核对上一轮已认定缺陷是否修复 |
crossfire_export |
导出 Markdown |
crossfire_report |
红队提交发言的唯一通道 |
crossfire_plan_review(v0.2.0)会在轨迹里先占一张设置卡:两张 Markdown 表、按钮「确定开始 / 仍需修改」;确认卡只定「怎么开评」,认定 / 驳回仍在评审卡上由人完成。
卡片与裁决¶
对话轨迹里一张主卡(toolview,key = crossfire_open),每条缺陷一张子卡,可内联认定 / 驳回(必填理由)/ 待定,三态可互切;卡片每秒轮询快照。顶部影响条显示认定 / 驳回 / 待定与「打穿立场」条数。v0.1.3 起,缺陷左侧有 3px 状态色条(认定绿 / 驳回红 / 待定灰)。
数据落盘¶
工作区下路径(与圆桌 .roundtable 隔离):
<工作区>/.crossfire/crossfire/<reviewId>/
review.json 评审记录
transcript.jsonl 红队发言(append-only)
user-actions.jsonl 用户行为
export.md 导出物
README 明确不做:拓扑图、有向边、聚合网关、知识库中继、skill 中继、代理思考。
安装与启用¶
环境要求:DeepSeek Harness 0.2.2-rc.1+(package.json 中 crossfire.hostBaseline 同为 0.2.2-rc.1)、Node >= 22(作者开发环境为 24.x)。
官方安装命令(注意包名为作者 npm scope @y9931666,勿与 @huanlin 等历史文档混用):
dsh plugin --profile web add @y9931666/dsh-plugin-crossfire
安装后重启 Harness 进程并刷新浏览器;host 侧改动不热重载。
插件以当前 DSH 进程的权限运行,安装前宜阅读仓库源码与 MIT 许可证,确认红队只读工具与数据落盘路径符合你的安全预期。DSH 生态是「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。
典型用法¶
- 在 Web 配置里装好插件并重启 Harness。
- 在对话中触发评审(自然语言或工具链):通常先经
crossfire_plan_review确认维度与红队阵容,再crossfire_open摆上成果。 - 确认开始后进入
crossfire_attack→crossfire_collect,在 judging 阶段对每条缺陷表态。 crossfire_finish定稿;需要核对旧账时用crossfire_recheck;交付用crossfire_export。
若需从源码开发,README 要求克隆后自行 pnpm install 与 pnpm run build(main 指向 ./lib/index.js,未构建无法安装);浏览器验收需把 test/browser-acceptance.js 粘贴到 DSH Web GUI 控制台执行——插件 Web 路由依赖浏览器认证上下文,裸 Node 会得到 401 connection trust check failed(栅栏预期行为)。
适用场景与注意¶
适合谁:已有定稿稿本(方案、设计说明、关键结论等),希望在多维度上接受只读红队挑刺,且愿意自己逐条裁决的团队或个人;不适合指望插件代写方案或自动修缺陷的场景。
与其它插件选型:要分工干活选协作型团队;要多角色会议与拓扑展示选圆桌;只要「站不站得住」且结论在人,用 Crossfire。
README 还记录了两类工程侧修复:维度标签必须属于本次采用维度集合(越界会归一化并标记 dimensionFallback);收集阶段过滤进程叙述类 auto-capture,避免污染缺陷列表。
结尾¶
针锋 Crossfire 把对抗式评审做成 DSH 里的一等原语:机器只找 flaw,裁决永远在你。进一步了解可打开 SkillHub 目录页 与 GitHub README。