Skip to content

Releases: crane-you/dsh-task-plugin-scout

v1.0.5 — 适配 DSH 预发布线 / engine range for the prerelease line

Choose a tag to compare

@crane-you crane-you released this 25 Oct 14:15

变更 · Changed

适配 DSH 0.2.1-rc.3:代码零改动,只收紧依赖声明。

  • engines.dsh:>=0.2.0 → >=0.2.1-rc.2。宿主门禁(@deepseek-ai/dsh-app-boot 的
    evaluatePluginCompatibility)用 includePrerelease: true,>=0.2.0 其实也能过;但按 npm 默认的 SemVer
    规则,预发布版本只有在范围里出现同一个 [major, minor, patch] 元组且带预发布标签时才可能满足,>=0.2.0
    匹配不了任何 0.2.1-rc.x 运行时。改成预发布下界后两套规则都成立。代价:0.2.0-rc.* 与 0.2.1-rc.1 被明确排除。
  • 版本 1.0.4 → 1.0.5;README(中英)新增「兼容性记录 / Compatibility record」。

0.2.1-rc.3 是怎么复验的:

  1. API 面逐字节比对 —— 本插件用到的宿主包(dsh-tools、dsh-system-prompt、dsh-plugin-manager、
    dsh-plugin-market、dsh-plugin-market-index、dsh-app-boot)在 rc.2 与 rc.3 之间发布 JS 完全相同,
    只差 package.json 里的版本号引用;触点与签名照旧。
  2. 宿主自己的门禁 —— 把 manifest 交给 rc.3 真实的 evaluatePluginCompatibility(),判定 compatible。
  3. 真实加载路径 —— 自带 test/harness.mjs 全绿;并用 rc.3 真实的 loadProfileDirectory() 跑过本机
    desktop profile,本 bundle 正常加载(此前它因源码目录被删而 bundle package is not installed)。
宿主版本 宿主门禁(includePrerelease) npm 默认语义
0.2.1-rc.2(开发版本) ✅ ✅
0.2.1-rc.3(复验版本) ✅ ✅
0.2.1 / 0.3.0 ✅ ✅
0.2.1-rc.1 / 0.2.0-rc.2 ❌(有意排除,从未测试) ❌

What changed

Engine declaration only — no code change. engines.dsh moves from >=0.2.0 to >=0.2.1-rc.2 so that the
declaration is true both under the host's includePrerelease semantics and under npm's default SemVer rules, where a
prerelease version satisfies nothing but a range naming a prerelease of the same [major, minor, patch] tuple.

Re-verified against DSH 0.2.1-rc.3: every host package this plugin touches ships byte-identical JavaScript in rc.2
and rc.3 (only version references in package.json differ), rc.3's real evaluatePluginCompatibility() returns
compatible, the bundled harness passes, and a real loadProfileDirectory() run over the desktop profile loads this
bundle (it previously failed with bundle package is not installed because its checkout had been deleted).


安装 · Install:

{ "action": "install_bundle", "target": "dsh-task-plugin-scout" }

npm: https://www.npmjs.com/package/dsh-task-plugin-scout

v1.0.4 — 依赖声明 / engines.dsh

Choose a tag to compare

@crane-you crane-you released this 24 Oct 01:54

新增 · Added

声明依赖范围:package.json 增加 "engines": { "dsh": ">=0.2.0" }。

宿主和市场都用它判断「这个插件需要哪个 DSH 版本」—— dshmarket 的市场卡片会展示这条要求,并可据此按主机版本过滤。已用 dshmarket 自己的检查器实测(satisfiesRange,宿主语义 includePrerelease: true):

宿主版本 判定
0.2.1-rc.2(当前运行) ✅
0.2.0 / 0.2.1 / 0.3.0 ✅
0.1.9(未测试过) ❌ 正确拒绝

这里有个容易踩的坑:0.2.1-rc.2 这类预发布宿主在普通 semver 语义下不满足 >=0.2.0。dshmarket 的检查器(discovery-compatibility.js)显式使用 includePrerelease: true,注释写明这是「宿主自身的语义」,所以普通范围写法才是正确的。

README(中英)的安装章节同步写明了这条要求。

What changed

package.json now declares "engines": { "dsh": ">=0.2.0" } — the field the host and the market read to
decide whether a plugin fits the running DSH. dshmarket's cards show it and can filter by host version.
Verified with dshmarket's own checker (satisfiesRange, host semantics includePrerelease: true):
accepted on 0.2.1-rc.2, 0.2.0, 0.2.1, 0.3.0; correctly rejected on 0.1.9.

A pre-release host like 0.2.1-rc.2 does not satisfy >=0.2.0 under plain semver, which is why that
checker's includePrerelease: true (documented as the host's own semantics) matters here.

The README (both languages) states the requirement as well.


安装 · Install:

{ "action": "install_bundle", "target": "dsh-task-plugin-scout" }

npm: https://www.npmjs.com/package/dsh-task-plugin-scout

v1.0.3 — 市场冷读修复 / market cold-read fix

Choose a tag to compare

@crane-you crane-you released this 23 Oct 15:59

修复 · Fixes

市场冷读不再过早放弃 —— 单个索引的等待从 10 秒提到 20 秒。

市场服务的“冷读”不只是下载:dshmarket 社区目录约 2.2 MiB(本机实测 6–8 秒),拿到后还要校验并构建内存里的文本索引。旧的 10 秒上限会在本可以成功的读取上先超时,表现就是「发现页 / plugin_scout 拿不到任何市场结果」。服务自身还会缓存该文档一个 TTL,所以这份开销每个索引只付一次。

文档同步 —— README 的插件市场章节改为说明如何加入 dshmarket 社区目录的 format-1 索引(与它界面里同一份数据),并如实记录其体积、市场给单个索引源的 15 秒上限、以及「按版本固定到 unpkg 会快得多、但版本号随目录每日重建而变化」的取舍。

What changed

A cold market read is no longer cut off too early — the per-index wait went from 10 s to 20 s.

A cold read is not just a download: dshmarket's community catalog is ~2.2 MiB (6–8 s here), and the
market service then validates it and builds its in-memory text index. The old 10 s cap timed out reads
that would have succeeded, which shows up as an empty market; the service caches the document for its TTL,
so the cost is paid once per index.

Docs — the README market section now explains how to add dshmarket's community catalog as a
format-1 index (the same data its own UI shows), including its size, the market's 15-second per-source
budget, and the version-pinned unpkg alternative (unpkg redirects every non-exact form, and the catalog
is rebuilt daily).


安装 · Install:

{ "action": "install_bundle", "target": "dsh-task-plugin-scout" }

npm: https://www.npmjs.com/package/dsh-task-plugin-scout

v1.0.2 — 描述对齐 / description alignment

Choose a tag to compare

@crane-you crane-you released this 23 Oct 15:46

包描述对齐 · description alignment

  • npm 上的包描述改为与仓库 About 一致的中英双语表述,去掉已废弃的显示名。
  • 代码与行 id、市场条目、GitHub 仓库名保持一致:dsh-task-plugin-scout。

What changed

  • The npm package description now matches the repository About text (bilingual), and the retired
    Chinese display name is gone.
  • The package, loader row, market entry and repository name all read dsh-task-plugin-scout.

安装 · Install:

{ "action": "install_bundle", "target": "dsh-task-plugin-scout" }

npm: https://www.npmjs.com/package/dsh-task-plugin-scout

v1.0.1 — dsh-task-plugin-scout

Choose a tag to compare

@crane-you crane-you released this 23 Oct 11:26

首次公开发布 · dsh-task-plugin-scout v1.0.1

一个 DeepSeek Harness(DSH)插件:在动手之前,先帮智能体找出能让当前任务更省力的插件。

这一版有什么

  • 模型工具 plugin_scout —— 给它一行任务描述,它按相关度排序本 profile 的插件:已启用、已安装但未启用、以及已配置的插件市场索引里可安装的,并给出每个候选的确切下一步(启用 / 安装 / 无需操作)。
  • 系统提示段落 plugin-scout:discovery —— 提醒智能体在非平凡任务开始前先做一次侦察。
  • 双语能力概念表(约 35 组)—— 中文任务能命中英文描述的插件,反之亦然;英文按词边界匹配,所以 transcription 不会误触发 script。
  • 零依赖、零构建 —— 纯 ESM,所有资源都通过 ctx.effect 注册,卸载即回收。
  • 诚实降级 —— 市场没挂载 / 没有索引 / 单次抓取失败,都会在结果里注明并退回纯本地结果,不会报错。

安装

// 从 npm(推荐)
{ "action": "install_bundle", "target": "dsh-task-plugin-scout" }

也可以从 Git 仓库或本地目录安装,见 README。npm 页面:https://www.npmjs.com/package/dsh-task-plugin-scout

名字统一

本版起,npm 包名、装载行 id、插件界面显示名、市场条目标题统一为 dsh-task-plugin-scout(此前的中英显示名「任务插件参谋 / Task Plugin Scout」不再使用)。

隐私

不收集、不上报;唯一可能出网的路径是插件市场索引的普通 GET,任务描述只用于本地过滤已下载的文档,不会进入任何请求。详见 README 的「隐私」章节。


First public release

A DeepSeek Harness (DSH) plugin that answers one question before work starts: which plugins already available to this profile would make the task at hand easier?

  • Model tool plugin_scout — hand it a one-line task; it ranks this profile's plugins (already active, installed but disabled, and installable from the configured market indexes) and prints the exact next step for each candidate (enable, install, or nothing).
  • Prompt section plugin-scout:discovery — reminds the agent to scout before starting non-trivial work.
  • Bilingual concept table (~35 groups) — a Chinese task finds English-described plugins and vice versa; ASCII forms are word-boundary aware, so transcription no longer triggers script.
  • No dependencies, no build step — plain ESM; every resource is registered through ctx.effect and released on unload.
  • Honest degradation — a missing market service, no configured index, or a failed fetch is reported in the result and falls back to local-only, never an error.

Install:

// from npm (recommended)
{ "action": "install_bundle", "target": "dsh-task-plugin-scout" }

Git and local-path installs are documented in the README. npm page: https://www.npmjs.com/package/dsh-task-plugin-scout

Names are unified on dsh-task-plugin-scout across the npm package, the loader row, the plugin UI and the market listing.

Privacy — nothing is collected or reported; the only outbound path is a plain GET of the configured market index, and the task text is used locally only. See the privacy section of the README.


附件 dsh-task-plugin-scout-1.0.1.tgz 是从 npm registry 下载的同一份制品,可用于离线安装或校验完整性。