Crossfire(针锋)是 DeepSeek Harness 的插件:把已有定论的结果摆上台,让红队专家从选定维度发起攻击,每个缺陷都由你亲自裁决。机器只负责找漏洞,结论永远归人。
30.8/100
综合分
1
GitHub 星标
284
npm 周下载
—/5
用户评分
数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @y9931666/dsh-plugin-crossfirenpm 源 · @y9931666/dsh-plugin-crossfire 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@y9931666/dsh-plugin-crossfire @ 0.1.1
✓Node 引擎要求 >=22.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/16 14:10:41
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
- 读取本地文件lib/index.js:1087
const text$1 = await readFile(file, "utf8"); - 写入本地文件lib/index.js:1116
await mkdir(dirname(file), { recursive: true }); - 发起网络请求lib/client.js:43
const response = await fetch(RPC_ROUTE, { - 发起网络请求lib/client.js:78
const response = await fetch(`${STATE_ROUTE}${query}`, { - 写入本地文件lib/state-DvF_Jqcg.js:69
await mkdir(dirname(file), { recursive: true }); - 写入本地文件lib/state-DvF_Jqcg.js:71
await writeFile(tmp, text, "utf8"); - 写入本地文件lib/state-DvF_Jqcg.js:72
await rename(tmp, file); - 读取本地文件lib/state-DvF_Jqcg.js:97
const text = await readFile(file, "utf8"); - 写入本地文件lib/state-DvF_Jqcg.js:105
await mkdir(dirname(file), { recursive: true }); - 写入本地文件lib/state-DvF_Jqcg.js:106
await appendFile(file, `${JSON.stringify(value)}\n`, "utf8"); - 读取本地文件lib/state-DvF_Jqcg.js:117
text = await readFile(file, "utf8"); - 读取本地文件lib/state-DvF_Jqcg.js:143
return (await readdir(crossfireRootOf(stateRoot), { withFileTypes: true })).filter((entry) => entry.isDirectory() && entry.name.startsWith("x-")).map(
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-agent@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 红队多维攻击结论
- 人工裁定每处缺陷
README
由 DeepSeek 最新模型翻译生成针锋 Crossfire
把一份已经定稿的成果摆上台,让红队从指定维度分头攻击,由你逐条认定或驳回。
Crossfire 是 DeepSeek Harness 的一个插件,只做一件事:对抗式评审。它不产出方案、不改代码、不自动修复 —— 它是验收器,不是执行器。
它和别的多智能体插件有什么不同
| | 协作型团队(如 AgentTeams) | 圆桌会议 | 针锋 Crossfire |
| 目标 | 把活干完 | 开一场多角色会议 | 判定一份成果站不站得住 |
| 机器做什么 | 分工、执行、自动修复 | 统筹、转述、聚合 | 只挑错 |
| 谁下结论 | 流程门禁 | 主持人汇总 | 你,逐条 |
| 界面 | 成员树 / 任务 DAG | 拓扑图 + 面板 | 一张卡,四个状态 |
四条边界(越界即破坏了它存在的意义):
1. 表态永远由人做。 缺陷的认定 / 驳回只能在卡片上由你操作;插件没有、也不该有"代表认定缺陷"的工具。
2. 不产出方案、不改代码、不自动修复。
3. 红队专家只读。 它们的工具是白名单:read / read_image / glob / grep + 一个 crossfire_report。能取证,不能动手。
展开完整文档(README 剩余 1 节)
针锋 Crossfire 把一份已经定稿的成果摆上台,让红队从指定维度分头攻击,由你逐条认定或驳回。 Crossfire 是 DeepSeek Harness 的一个插件,只做一件事:对抗式评审。它不产出方案、不改代码、不自动修复 —— 它是验收器,不是执行器。 它和别的多智能体插件有什么不同 | | 协作型团队(如 AgentTeams) | 圆桌会议 | 针锋 Crossfire | | 目标 | 把活干完 | 开一场多角色会议 | 判定一份成果站不站得住 | | 机器做什么 | 分工、执行、自动修复 | 统筹、转述、聚合 | 只挑错 | | 谁下结论 | 流程门禁 | 主持人汇总 | 你,逐条 | | 界面 | 成员树 / 任务 DAG | 拓扑图 + 面板 | 一张卡,四个状态 | 四条边界(越界即破坏了它存在的意义): 1. 表态永远由人做。 缺陷的认定 / 驳回只能在卡片上由你操作;插件没有、也不该有"代表认定缺陷"的工具。 2. 不产出方案、不改代码、不自动修复。 3. 红队专家只读。 它们的工具是白名单:read / read_image / glob / grep + 一个 crossfire_report。能取证,不能动手。 4. 你的历史表态只用于去重与复审递进,绝不会作为"用户画像"喂给红队 —— 否则模型会预判你的偏好而干脆不提某类问题,与"反方攻击"的初衷正好相反。 安装 dsh plugin --profile web add @y9931666/dsh-plugin-crossfire 包名是 @y9931666/...(作者的 npm 账户名);@huanlin 是另一个用户的 scope,历史文档里那个包名已被占用、不可用。 安装后重启 Harness 进程并刷新浏览器(host 侧改动不热重载)。 环境要求:DeepSeek Harness 0.2.0-rc.2+、Node >= 22(开发时为 24.x)。 用法 在对话里说一句「用针锋评审一下这个方案」,或者在卡片上点按钮 —— 两条路驱动的是同一套状态机。 draft ──送红队上场──▶ attacking ──收集观点──▶ judging ──定稿──▶ settled ▲ │ └──── 开复审 ─────┘ (只核对旧账) 工具面(crossfire_) | 工具 | 作用 | | crossfire_open | 把待验证对象摆上台(标题 + 正文 + 维度 + 强度)。状态 draft | | crossfire_stance | 写入用户的立场与理由;没有就从对话提炼(distilled=true),但绝不虚构 | | crossfire_attack | 按维度拉起只读红队专家。状态 attacking | | crossfire_collect | 把专家发言拆成逐条可裁决的缺陷。状态 judging | | crossfire_finish | 定稿,固化 known-flaws 清单并写入历史。状态 settled | | crossfire_recheck | 复审:只核对上一轮已认定的缺陷是否修复 | | crossfire_export | 导出 Markdown 交付物 | | crossfire_report | 专家侧:红队提交发言的唯一通道 | 卡片 在对话轨迹里占一张卡(tool.call.toolview,key = crossfire_open),每张缺陷一张子卡,可内联认定 / 驳回(必填理由)/ 待定,三态可互切。卡片每秒轮询快照,因此状态机一变它立刻跟着变。 顶部影响条显示 认定 / 驳回 / 待定 与"打穿立场"的条数。 视觉(v0.1.3):每条缺陷左侧有一条 3px 状态色条(认定=绿 / 驳回=红 / 待定=灰),十几条缺陷的分布一眼可见;折叠标题不再把长定位串塞进标题,改为「观点 N · 核心句」(完整路径留在展开后的正文);状态区文案从「待定 9 / 表态 9」改为「待定 9 / 共 9 条」。设置页改为卡片分组、控件统一 32px 高,并用内联 SVG 图标做区块目录。 数据落在哪 <工作区>/.crossfire/crossfire/<reviewId>/ review.json 评审记录(议题、立场、缺陷三态、历史轮次) transcript.jsonl 红队发言(append-only) user-actions.jsonl 用户行为 export.md 导出物 命名空间与圆桌会议的 .roundtable 完全隔离:两个插件零代码耦合,互不读写对方的状态。 刻意没有的东西:拓扑图、有向边、聚合网关、知识库中继、skill 中继、代理思考。 两个"修好了的真实缺陷" 1. 维度标签:圆桌的历史数据里 dimension 实值是 维度② / 其他 / 空串(圆圈数字被当成了维度名)。Crossfire 的规则是落库维度必须 ∈ 本次采用维度,越界者归一化并留下 dimensionFallback 标记。 2. 过程叙述污染裁决面:[当前状态] 已收到主持人任务… 这类发言曾被当成缺陷收进列表。Crossfire 在收集阶段拦掉 auto-capture 与行首进度标记,但不误杀真缺陷("密钥硬编码在源码里"这类短句有专门的测试守护)。 开发 从源码跑起来(克隆后必读) .gitignore 排除了 node_modules/ 与 lib/,所以克隆下来是一个没有构建产物的源码树 —— package.json 的 main 指向 ./lib/index.js,不构建就装不上: pnpm install # 或 npm install pnpm run build # typecheck×2 → tsdown 双产物 → 声明生成 本仓库的 node_modules/ 在作者机器上是指向另一个本地包的 junction(提权创建),因此它绝不入库;克隆后请自行安装依赖。 四条门禁 node ./node_modules/typescript/bin/tsc -p tsconfig.json --noEmit # host 类型 node ./node_modules/typescript/bin/tsc -p tsconfig.client.json --noEmit # client 类型 node --test --test-isolation=none "test/.test.mjs" # 单测(零新依赖) node ./node_modules/.bin/tsdown.cmd -c tsdown.config.ts # 构建双产物 --test-isolation=none 不是可选项:受限环境下 node --test 默认为每个测试文件 spawn 子进程并捕获其输出,会直接 EPERM。 装好之后的运行时验收 需要连真实运行中的 Harness(只能在浏览器里跑): 1. 打开 DSH Web GUI,按 F12 打开控制台 2. 把 test/browser-acceptance.js 整段粘贴进去回车 3. 看 PASS / FAIL / SKIPPED 为什么必须在浏览器:插件自建的两条 Web 路由走宿主的 connection.requestRejection 栅栏(Host/Origin + 浏览器认证)。裸 Node 进程没有那个认证上下文,会被 401 connection trust check failed 拦下 —— 这是栅栏在正常工作,不是缺陷。 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
9931666/dsh-plugin-crossfire
Crossfire(针锋)是 DeepSeek Harness 的插件:把已有定论的结果摆上台,让红队专家从选定维度发起攻击,每个缺陷都由你亲自裁决。机器只负责找漏洞,结论永远归人。
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目