local-solution-first:动手前先搜本机、用证据决定是否复用

前言

在 DeepSeek Harness(DSH)里让 Agent 写实现、选依赖或排查工具时,常见浪费是「本机已有同类插件、Skill、脚本或源码,却直接开写新代码」。local-solution-first 是一套挂在 DSH 上的行为规程 Skill:不新增权限、不注册 MCP 工具,只约束 Agent 先在本机分层检索可复用方案,再用可核对的事实给出结论;证据不足则明确说明为何不宜强行复用。下面介绍它是什么、如何安装,以及适用边界。

这是什么

  • 名称:local-solution-first(DSH 组合包名 @shenhe3939-debug/local-solution-first,当前冻结版本 v0.1.6)。
  • 维护者:GitHub 用户 shenhe3939-debug。
  • 分类:工作流(社区目录 SkillHub 与仓库 README 一致)。
  • 定位:技能正文在仓库 SKILL.md;仓库另有一层很薄的 DSH 插件包装,作用是把该 Skill 注册进 DSH。许可证为 MIT。

与「直接实现」相比,它把顺序固定为:先定检索范围 → 对候选取证 → 给出四种结论之一 → 写清安全、验证与证据边界。

核心功能

资料中可核实的能力如下。

工作流四步

  1. 先定检索范围:按分层从「最可能被复用」的位置向外搜。
  2. 再逐个候选取证:用路径、版本、能力、代价等可核对事实,而不是印象。
  3. 给出建议:结论限于「复用 / 部分复用 / 不复用 / 需要更多信息」四种。
  4. 写清安全与验证:标明证据边界(哪些地方没查、为什么没查)。

触发场景(README 列举)

评估仓库能否直接用、把外部项目移植进来、实现新功能前选方案、挑选依赖、排查本机已有工具,以及「复用它还是自己写」类抉择。

配套参考与回归

仓库除 SKILL.md 外还提供:

路径 作用
references/compatibility-checklist.md 复用前能力/兼容性核对清单
references/decision-matrix.md 复用判定矩阵
references/validator-design.md 验证器设计说明
tests/regression-protocol.md 回归协议
tests/regression-cases.md 13 个用例 LS-01 … LS-13

维护者在 as-of 2026-10-17 的记录中写明:最终回归 run #10 为 behavioral 13/13 PASS;冻结策略是仅在 DSH 升级、观察到 Skill 行为错误或明确新增功能时开新版本。

安装与启用

方式 A:作为 DSH 插件安装

任选其一:

dsh plugin add github:shenhe3939-debug/local-solution-first
  • 或在 DSH 桌面端 Web 侧边栏的插件页安装并启用;
  • 或由 Agent 通过 plugin_manager 安装(需 danger-full-access 或逐次批准)。

组合包在 profile 依赖里的名字为 @shenhe3939-debug/local-solution-first:bundle 记录在 dsh.profile.bundles;cordis.patch.yml 中 insert 的 name 须与该包名一致才会装载。改配置后,启用 HMR 的 profile 可立即生效,否则需重启。

启用后,cordis.patch.yml 将 lib/index.mjs 挂进组合,由其在 ctx.skills.register 上注册本技能(source: bundled,资源基目录为包根,references/、tests/ 可被引用)。技能正文由 scripts/build-skill-content.mjs 从 SKILL.md 生成到 lib/skill-content.mjs;若修改 SKILL.md,需重跑该生成脚本。

README 对安装链路的说明(as-of 2026-10-17):除真机执行 dsh plugin add 的端到端外,装载与指示符解析等在 DSH 0.2.0-rc.2 上另有契约级与运行时级验证记录;读者若依赖插件安装器,宜自行在目标环境确认装载结果。

方式 B:作为普通 Skill 目录

DSH Skill 发现规则(README 引述 DSH 0.2.0-rc.2):只发现一层 <root>/<skill-name>/SKILL.md;多个根目录时优先级数字小的生效(例如项目 .dsh/skills 100 优于用户 .dsh/skills 400)。

可将目录名为 local-solution-first 的副本放入任一 skill 根目录。README 给出 clone 示例(用户若不用 git,可用发行包,见下)。

冻结发行包(v0.1.6):

  • 发行页:https://github.com/shenhe3939-debug/local-solution-first/releases/tag/v0.1.6
  • 直链:https://raw.githubusercontent.com/shenhe3939-debug/local-solution-first/v0.1.6/dist/local-solution-first-dsh-v0.1.6.zip

解压后为 local-solution-first/ 目录,放入任一 skill 根目录即可。

典型用法

本插件不暴露独立 CLI;「用法」即 Agent 在相关任务上遵循 Skill 规程时的输出结构。按 README,Agent 应:

  1. 在实现、移植、选依赖或排查工具之前,按分层搜索本机已有方案;
  2. 对每个候选记录可验证证据;
  3. 在报告中给出上述四种结论之一,并说明未覆盖的检索范围。

需要核对「能否复用」时,可让 Agent 参照包内 references/decision-matrix.md 与 compatibility-checklist.md(路径在已安装的 bundle 或 skill 目录下)。

开发者维护包时,可在仓库根目录执行:

node scripts/build-skill-content.mjs
node scripts/verify-package.mjs

前者在修改 SKILL.md 后同步 lib/skill-content.mjs;后者做打包自检(仅需 Node,无其他依赖)。

适用场景与注意

适合谁:经常在 DSH 里做方案选型、依赖挑选、本机工具排查,并希望 Agent 先查本地再写代码的开发者。

运行与权限:Skill 本身不扩权;Agent 仍按当前 DSH 进程已有能力去读文件、搜仓库。安装插件或解压 skill 前,应自行查看仓库源码与 MIT 许可证,确认符合环境策略。

版本与生态:社区目录 SkillHub 与 GitHub 仓库由维护者发布,与 DeepSeek / 幻方无官方从属关系;目录页星标为 0(以抓取线索为准)。包要求 Node >= 20,peerDependencies 含 @deepseek-ai/cordis ^4.0.2。

同名 Skill:多根目录下同名副本仅优先级最高者生效;项目级目录会遮蔽用户级副本。

结尾

local-solution-first 用规程把「先搜本机、证据说话、结论四类、边界写清」固定进 Agent 工作流,适合作为 DSH 工作流类组合包长期启用。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye