Plugin directory / AI Models / dsh-preset-flash-director
dsh-preset-flash-director
Verified · install-tested on dsh zhaoyilun
What it does
Flash orchestrator + Pro expert DeepSeek Harness agent preset with enforced delegation budget, saving tokens.
Works — verified, early-stage project
Flash orchestrator + Pro expert DeepSeek Harness agent preset with enforced delegation budget, saving tokens. It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-preset-flash-director
Flash 主控 · Pro 专家 —— DeepSeek Harness 的省 token 模式预设。
flash 级模型当主控(分诊 / 取证 / 机械执行 / 验收),深度思考类任务通过策略工具委派给 deepseek-v4-pro 专家子代理;简报强制校验 + 硬性预算,从机制上防止"弱智能指挥强智能"和"pro 烧钱失控"。
目录
这是什么
一个 DeepSeek Harness agent preset(代理预设),由三部分构成:
| 文件 | 作用 |
|---|---|
flash-director/agent.cordis.yml |
组合文件:controller persona 协议 + 行裁剪(移除裸 subagent/subagent_fork/workflow/ralph) |
flash-director/expert-delegation.mjs |
预设本地策略插件(零依赖):expert_consult / expert_review 工具 + 简报校验 + 预算账本 |
flash-director/preset.yml |
名册元数据(名称/描述) |
核心设计:委派是默认,主控自己做深度思考是例外。所有"深思考"工作(规划设计、架构权衡、根因分析、高风险决策、对抗性审查)只能走 expert_consult / expert_review,且专家固定跑 deepseek-v4-pro;主控负责读文件、跑命令、机械修改、按预写清单验证。
为什么省 token
- pro 的输入 token 最贵:每次委派 = 简报(主控写、专家读)+ pro 生成 + 回传(主控读)。协议强制主控先取证、精炼简报(工具硬上限),专家从不空手探索工作区,也从不接触主控的对话历史。
- flash 的上下文便宜:一切"读"的活(大文件、日志、搜索)都由主控完成,机械修改也在主控侧落地。
- 有界追问:专家子代理是 continuable 的,验收不通过时可用
send_message做一次增量追问(复用同一上下文,不必重付简报);二次不达标即停止并向用户报告,杜绝 ping-pong。 - 硬预算:每用户任务默认 3 次专家启动(新人类消息自动重置),
stakes: high审查计 2 次,用完即拒。
架构
用户 ──► 主控(deepseek-v4-flash,本预设 persona)
│ 分诊 / 取证 / 机械执行 / 验收
│
├── expert_consult(kind, task, background, evidence, acceptance)
│ │ 简报校验(必填+有界)→ 预算记账 → startContinuable
│ ▼
│ pro 专家子代理(deepseek-v4-pro,continuable)
│ · per-child persona:只"想"不"读"、结构化报告、必须 report
│ · toolFilter 摘除:委派/写入/问人/后台任务/目标 等工具
│ · 异步回报 "Background subagent <id> reported:"
│
├── expert_review(subject, content, stakes) ← 对抗性审查(可审自己)
│
└── send_message(追问,最多一次)/ interrupt_agent(止损)
关键机制(全部在策略插件内硬性执行,不靠模型自觉):
- 简报校验:
task/background/evidence/acceptance必填且有界(简报整体 ≤40000,task ≤4000、background ≤16000、evidence ≤20000),超大即拒绝。 - 预算账本:按 agent 记账,
agent/pre-step检测到新人类消息(source.kind === 'user')时清零。 - 禁止专家链:专家子代理被摘除一切委派/写入工具,只能通过
bash/read等低成本手段验证假设,不能修改工作区。 - 验收循环:主控在委派之前写好
acceptance清单,专家回报后逐项机械验证(跑测试/命令/查格式),这是"弱指挥强"的支点。
协议摘要
必须委派给专家(禁止主控硬做):多步方案/架构/重构设计;需求模糊时的任务分解;难 bug 根因分析;高风险变更(schema/迁移/安全)决策;复杂 diff 或主控自己产出的方案审查。
主控自己做:读/搜/跑命令、机械编辑、摘要整理、常规修复、落地执行专家方案、按清单验证。
委派四步:① 取证(evidence 为空会被拒绝)→ ② 简报完整(task = 一个认知问题;acceptance = 委派前写好的可验证清单)→ ③ 等待异步回报 → ④ 对照 acceptance 验证;缺口 → 一次 send_message 追问;仍不达标 → 停止并向用户报告。
安装
方式一:git 克隆后拷贝(最直接)
git clone https://github.com/zhaoyilun/dsh-preset-flash-director.git
mkdir -p ~/.dsh/.agent-presets
cp -R dsh-preset-flash-director/flash-director ~/.dsh/.agent-presets/
方式二:仓库内的安装脚本
git clone https://github.com/zhaoyilun/dsh-preset-flash-director.git
cd dsh-preset-flash-director
./install.sh # 已存在则自动备份
方式三:npm 包装包
npm install -g dsh-preset-flash-director # 或 npx dsh-preset-flash-director install
dsh-preset-flash-director install
dsh-preset-flash-director info # 查看安装状态
安装即拷贝目录,无需重启:DSH 名册每次调用都会重扫预设根目录。卸载用
dsh-preset-flash-director uninstall(保留备份)。
使用指南
快速上手(5 步)
- 按上文安装预设;
- 打开 DeepSeek Harness Web UI,新开会话,预设选择 Flash 主控 · Pro 专家;
- 把会话模型切换为 deepseek-v4-flash(模型路由是会话级用户选择;本预设不也不应自设模型);
- 验证工具列表:应出现
expert_consult/expert_review,不应出现裸subagent/subagent_fork/workflow/ralph; - 发一个真实任务。观察主控的节奏:先取证 → 再委派 → 收到报告后验证 → 落地;专家报告以
Background subagent <id> reported:帧到达。
委派决策速查
| 必须委派给专家(禁止自己硬做) | 主控自己做(便宜,直接干) |
|---|---|
| 多步方案 / 架构 / 重构设计("这个服务该怎么拆") | 读文件、搜索、跑命令、看日志 |
| 需求模糊时的澄清与任务分解 | 重命名、格式化、样板代码等机械修改 |
| 难 bug 的根因分析(先取证再委派) | 按专家方案落地实现、改配置、调接口 |
| 高风险变更决策(schema 变更、迁移、安全) | 跑测试、验证行为、检查 diff |
复杂 diff / 你自己产出的方案的审查(expert_review) |
汇总、摘要、写说明 |
一句话判断:需要更多上下文 → 自己做(你的上下文便宜);需要更深思考 → 委派(但要把上下文精炼成简报)。
怎么写一份合格的简报(expert_consult 参数)
| 参数 | 要求 | 上限 |
|---|---|---|
kind |
plan / design / debug / analysis 四选一,决定专家侧重点 |
— |
task |
一个认知问题,不是操作。❌"重构 payment.ts" → ✅"支付模块当前分层是否合理?给出拆分方案与迁移路径" | 4000 |
background |
现状、已尝试过什么、已知约束 | 16000 |
evidence |
主控已收集的事实:文件关键片段、命令输出、日志摘录。放摘录不放整文件 | 20000 |
constraints |
硬约束列表(可不填) | — |
acceptance |
委派之前写好的、可机械验证的清单,≥1 条 | — |
简报整体上限 40000 字符。被拒绝时工具会告诉你缺什么/超了多少——按提示精炼后重试。
完整调用示例(主控实际传给工具的参数形状)
设计类任务:
{
"kind": "design",
"task": "订单与支付之间应如何拆分?给出推荐方案与权衡。",
"background": "当前是单体,订单模块直接调支付网关 SDK;QPS 峰值 800,目标是双活部署。单体内加缓存已试过,效果有限。",
"evidence": "payment.ts 主流程 320 行(关键片段已摘录);订单表索引现状;网关 SDK 限流参数 1000/s;压测峰值 812 QPS @ p99 420ms。",
"constraints": ["不引入新中间件(部署团队限制)", "迁移期间旧接口必须保持兼容"],
"acceptance": [
"列出 ≥2 个候选方案并给出取舍依据",
"明确数据一致性边界(哪张表归哪个服务)",
"给出 ≤3 步、每步可独立回滚的迁移路径",
"不引入新中间件"
]
}
调试类任务(先取证再委派):
{
"kind": "debug",
"task": "这个 flaky 测试的根因是什么?给出最小修复与回归测试方案。",
"background": "test_checkout 偶发失败,本地复现率约 20%,CI 上约 5%。重试能过。",
"evidence": "失败堆栈(已摘录);checkout 服务日志 200 行;疑似竞态的代码段;已排除:无外部依赖、非时间相关(时区固定)、DB 隔离级别已确认。",
"acceptance": [
"指出根因并给出证据链(不能只给猜测)",
"给出最小修复,且修复后本地连续跑 20 次不失败",
"给出一个能稳定复现的回归测试思路"
]
}
收到报告后:验收循环
报告以
Background subagent <id> reported:到达,内容按「结论 / 依据 / 风险与未决」组织;逐条对照你的 acceptance 打勾,用可执行手段确认:跑测试、跑命令、看 diff、查格式;
有缺口 → 最多一次
send_message追问(指明哪条没过、要补什么):send_message(subagent_id=<id>, message="验收第 3 条没过:迁移路径第 2 步会破坏旧接口兼容(/v1/orders 不再可用)。请只补这一部分的替代方案。")追问后仍不达标 → 停止,向用户如实报告分歧点,不要第三次委派。
用 expert_review 审查(元认知循环)
- 适用:高风险变更上线前(DB schema 变更、迁移、安全改动);你对专家方案有疑虑时(用它审专家的方案 = 双专家把关);你自己的设计/计划/diff 交付前。
subject一句话说明审什么;content放完整材料(≤40000);criteria放你的具体疑虑;stakes: high表示不可逆变更(计 2 次预算)。- 收到审查报告后:逐条处理 blocking 意见,落实 must-fix 清单,裁定为"通过"才继续(或用户明确豁免)。
预算行为实例
- 默认每用户任务 3 次专家启动;
expert_review(stakes: high)计 2 次;新用户消息到达自动重置。 - 例:一个服务拆分任务,
design(1) + review(high, 2) = 3,正好用满;同一任务内再想委派会被budget-exhausted拒绝,主控自行收尾并告知你。 - 想放宽:把
agent.cordis.yml里expert-delegation行的maxExpertsPerUserTask调大(见下)。
一个完整流程示例(叙事)
"给支付模块做服务化拆分":
- 主控读
payment.ts、跑现有测试、拉接口清单、确认网关限流参数 → 收集成evidence; expert_consult(kind=design, ...)→ 专家给拆分方案与迁移路径;- 主控对照 acceptance 逐条验证(方案覆盖两个候选、一致性边界明确、迁移三步可回滚)→ 通过;
- 主控按方案落地机械改动:建服务骨架、改路由、迁移表结构(小步提交);
expert_review(stakes=high)审查迁移路径 → 修复 blocking 意见;- 跑全量测试 → 交付并汇报验证结果。
模型适配
默认专家模型为 deepseek-official / deepseek-v4-pro。若你的部署模型 id 不同,改 flash-director/agent.cordis.yml 中 expert-delegation 行的 config(插件有同值兜底):
- id: expert-delegation
name: ./expert-delegation.mjs
config:
expertProvider: deepseek-official
expertModel: deepseek-v4-pro
expertMaxTokens: 32768
maxExpertsPerUserTask: 3
briefMaxChars: 40000
配置
| 键 | 默认 | 说明 |
|---|---|---|
expertProvider |
deepseek-official |
专家子代理的 provider 路由 |
expertModel |
deepseek-v4-pro |
专家子代理模型(主控则用会话级模型选择) |
expertMaxTokens |
32768 |
专家子代理每次请求的输出上限(含思考 token——pro 在 max 推理档下思考会占大头,太小会导致正文报告写不完被截断) |
maxExpertsPerUserTask |
3 |
每个用户任务的专家启动硬上限(stakes: high 审查计 2) |
briefMaxChars |
40000 |
简报整体硬上限;单字段:task ≤4000、background ≤16000、evidence ≤20000、审查内容 ≤40000 |
卸载
rm -rf ~/.dsh/.agent-presets/flash-director # 或 dsh-preset-flash-director uninstall
排障
| 现象 | 原因 / 处理 |
|---|---|
委派返回 rejected |
简报缺字段或超限:按返回信息补全/精炼 evidence、background、acceptance 后重试(上限见配置表) |
委派返回 budget-exhausted |
本用户任务预算耗尽:主控自行收尾并告知用户;新消息后自动重置;或调大 maxExpertsPerUserTask |
| 专家迟迟不回报 | list_agents 查看状态;跑飞可用 interrupt_agent 止损;确认模型 id 正确(无效模型会让子代理报错) |
工具列表没有 expert_consult |
预设未安装(重跑安装脚本)或会话未重建(新开会话) |
| 主控好像没在委派、自己在硬做设计 | 那是协议违规:提醒它"深度思考任务必须走 expert_consult/expert_review";仍不改就换回标准模式 |
| 不想用 flash 主控 | 该预设也兼容 pro 主控(只是省 token 效果打折);或换回标准模式 |
安全与信任
- 预设是信任边界:
expert-delegation.mjs是随预设执行的宿主侧代码,安装前请审阅源码(本包完全开源、零依赖、无网络请求)。 - 专家子代理可运行
bash(persona 要求只读/无副作用使用),但无法写文件、委派、与用户对话;其所有行为仍受宿主沙箱与审批策略约束。 - 本预设与 DeepSeek 官方无隶属关系,社区分享,按 MIT 许可使用。
许可证
MIT © 赵义仑 (zhaoyilun)
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-preset-flash-director for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:zhaoyilun/dsh-preset-flash-director Headless (CLI) profile:
dsh plugin --profile headless add github:zhaoyilun/dsh-preset-flash-director Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Bring a new model, provider, or routing policy into the loop so dsh can pick the right brain for the job.
Who it's for
Users juggling multiple models or providers who want cost, quality, and latency balanced automatically.
For developers — extending it
Provider adapters and routing heuristics are the seams — add a backend, tune the fallback chain, or add per-task model selection.