DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

BKmoon12 /

BKmoon12/dsh-adversary

Verified

Pre-publish adversarial dry run for DSH deliverables - stress-test your file, copy, or script before you ship it.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@b3ae9061

dsh-adversary · 假想敌

发出去之前,先让该挑刺的人挑一遍。

一个 DeepSeek Harness 插件。把准备发出的东西——交给领导的文件、给客户的方案、要发的朋友圈、短视频口播、公众号文案——贴进来,再指定几个「假想敌」:严厉领导、挑剔客户、爱抬杠的同行、路人网友、杠精、法务、财务、截图传播者……插件让 AI 站到这些人的位置上,逐条挑出他们真正会开火的地方,最后汇总成一张按优先级排好的异议总表。


先说清楚它不是什么

它是压力测试,不是预测。

它不知道你领导昨天开会被谁怼了,不知道平台此刻的推荐机制,不知道第一条热评会是谁写的。所以它从不承诺"你领导一定会这么说"。

它只保证一件事:如果对方从这个角度想,他会问什么,你会卡在哪。 提前把这几处想好,东西发出去就稳得多。

这个定位不是谦虚,是边界。任何声称能预测评论区的工具都在骗你——发布时机、初始流量、热评运气都在它视野之外。它只能告诉你:如果吵起来,最可能从哪条裂缝开始,火会往哪儿烧。


它能给你什么

不是"这份材料写得不错,建议加强逻辑性"这种废话。是这样的东西:

  • 第一反应——他扫完第一眼的真实判断,用他的口吻说出来
  • 会提出的异议——2~4 条,每条都钉在原文的具体词句上
  • 最可能被抓住的薄弱点——只一条,就是那个你最难答上来的问题
  • 一条修改建议——具体到改哪句、往哪改

多个角色一起上场时,还会给你:

  • 多角度异议总表——按 P0 / P1 / P2 排好,标注哪些是多个角色共同指向的(这种优先级最高)
  • 最可能被截图的一句话——原文里哪句最容易被单独截出来放大
  • 如果只能改三处——按投入产出排序的三条动作

安装

方式一:插件市场(推荐)

在 DSH 的插件管理器里搜索 dsh-adversary,或直接安装:

dsh plugin add dsh-adversary

方式二:从源码

git clone https://github.com/BKmoon12/dsh-adversary.git
cd dsh-adversary
dsh plugin add .

装好后重启会话即可。插件不联网、不读你的文件、不需要账号或密钥。


怎么用

装好之后不需要记命令。直接说人话:

帮我把这封邮件预演一下,假装你是我们那位只看预算的副总。

这条抖音文案要发了,让路人网友和杠精先骂一遍。

这份方案明天要给甲方,挑剔客户会挑什么?顺便让同行看看逻辑有没有漏洞。

插件会自动加载「假想敌」的完整流程:确认交付物 → 选角色 → 逐个扮演 → 汇总。

输入方式:第一版只支持把文本粘贴进去。要审的文件,把内容复制出来贴过来就行。

三个典型场景

交给领导的文件

选「严厉领导」+「把关人」。领导管结论和兜底,把关人管格式和口径——这两关过了,基本不会被退回来。

要发的朋友圈

选「路人网友」+「截图传播者」。前者判断有没有人愿意看完,后者判断哪句话会被单独截出来配上标题。

视频脚本 / 抖音

选「路人网友」+「杠精」+「截图传播者」。看前 3 秒留不留人、哪句话最招骂、哪句最容易被传播。


内置角色卡

12 张,覆盖最常见的审查视角:

角色 id 关注焦点 异议风格
严厉领导 strict-boss 结论、风险与兜底、资源成本 连环追问
挑剔客户 picky-client 是否解决我的问题、验收标准、边界与加钱 委婉暗示
爱抬杠的同行 contrarian-peer 逻辑漏洞、方法论、证据强度 认真反驳
路人网友 passerby 看不看得懂、关我什么事、前几秒抓不抓人 短平快
杠精 troll 情绪冒犯、断章取义的切口、可截图的一句 阴阳怪气
把关人 gatekeeper 格式规范、流程权限、口径一致性 委婉暗示
财务与审批 finance 预算、投入产出、票据科目、责任归属 直接开火
法务与合规 legal 承诺与绝对化表述、数据隐私、免责边界 直接开火
截图传播者 media 传播性、标题化潜力、争议点 短平快
竞争对手 competitor 可攻击的短板、差异化是否真存在 阴阳怪气
平级同事 colleague 协作成本、责任划分、功劳归属 委婉暗示
评审专家 evaluator 问题定义、方法与证据、创新点 连环追问

传参时 id 和中文名都能用("strict-boss" 和 "严厉领导" 等价,"老板""甲方""黑粉"这类口语叫法也认得)。

建议一次选 1~3 个。 超过 3 个,意见会开始重复,注意力也会被摊薄。


自定义角色卡

内置卡不合适时,用一句话描述你要模拟的人,插件会现建一张:

帮我预演一下,假想敌是那种特别在意"这事儿会不会显得我们部门没干活"的中层。

也可以在调用时直接给字段:

{
  "customPersonas": [
    {
      "label": "只关心预算的副总",
      "role": "任何方案先问钱从哪出",
      "focus": ["预算", "投入产出", "谁签批"],
      "style": "直接开火",
      "voice": "这部分钱走哪个科目?预算里没有这一项。"
    }
  ]
}

label 必填,其余可省,省略的字段会自动补中性默认值。


配置(可选)

在 profile 的 cordis.patch.yml 里覆盖同名 id 即可,不改代码:

- id: dsh-adversary
  config:
    defaultPersonas: ['strict-boss', 'picky-client']   # 不指定角色时用哪几张
    maxPersonas: 3            # 单次最多几个角色(1–8),默认 3
    maxDeliverableChars: 20000  # 交付物超过这个长度会截断,默认 20000
    intensity: 'normal'       # gentle / normal / brutal,默认 normal
    showDisclaimer: true      # 结果末尾是否附"这是预演不是预测"的提示

intensity 控制说话有多不客气:gentle 给台阶,normal 像真会当面提,brutal 假设对方今天没耐心。


两个工具

插件向模型暴露两个工具,也可以手动调:

adversary_personas — 列出角色卡,帮你挑。可选 ids 只看其中几张。

adversary_review — 生成审查任务书。

参数 必填 说明
deliverable 是 交付物全文。原文照贴,不要先概括
personas 否 角色 id 或中文名数组,1–3 个
deliverableType 否 文件 / 文案 / 视频脚本 / 朋友圈 / 抖音 / 演讲 / 汇报 / 其他
intensity 否 gentle / normal / brutal
customPersonas 否 自定义角色卡

deliverableType 不是装饰。选「抖音」时它会提醒看前 3 秒和可截图的那一句;选「朋友圈」时它看的是社交摩擦;选「文件」时它盯结论、依据和兜底。类型选错,挑出来的毛病就会打偏。


几个实话

为什么不让它读我的文件? 第一版故意不做。粘贴虽然笨,但它保证了"你贴进来的就是你要发的"——读文件会引入选错文件、版本不对这类问题。这个功能在 V2。

为什么不模拟评论区吵起来? 那是 V2 的「评论区动态模拟」:从角色池拉 4~8 个受众,给不同立场和发言风格,让它们互相看见、回应、站队、歪楼,跑 2~3 轮后由主持人收敛成一张舆论风险热力图。V1 先把静态预演做扎实——它是后面一切的基础。

它准吗? 它不会"准",因为它不是在预测。它的价值在于:那些被它挑出来的问题,本来就存在。你没看见,是因为你太熟悉自己写的东西了。这跟准不准没关系,跟有没有人替你先看一遍有关系。


开发

dsh-adversary/
├─ lib/
│  ├─ index.js      插件入口(apply / 工具定义 / 技能注册)
│  ├─ personas.js   12 张内置角色卡(纯数据)
│  └─ review.js     任务书生成与渲染(纯函数)
├─ skills/
│  └─ adversary/
│     └─ SKILL.md   完整 SOP
├─ test/
│  └─ smoke.mjs     32 项冒烟测试
├─ cordis.patch.yml
└─ package.json

跑测试:

node test/smoke.mjs

纯 ESM、零运行时依赖,不 import 任何 Harness 包。

改角色卡:编辑 lib/personas.js,照现有结构加一条即可。字段含义写在文件头注释里。加完跑一遍测试,它会检查每张卡的字段完整性和取值合法性。

改流程或输出格式:skills/adversary/SKILL.md 是模型实际遵从的指令,改它比改代码更直接。


许可

MIT。见 LICENSE。


一点背景

做这个插件的原因很朴素:大多数"返工"不是能力问题,是视角问题。 你写的时候是作者,对方看的时候是审查者。这两个视角之间隔着一整套没被说出口的关切——他担心什么、他被谁问过、他上次因为什么挨批。

你没法在提交前问他。但你可以先替他把问题问一遍。

它不保证你这次不会被挑毛病。它保证你不会被一个没想过的问题打懵。

—/ 5

No ratings yet

Verified DSH bundle

Commit b3ae90618c8b

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout