Replies: 4 comments
|
作为 dsh 插件作者(我们发布了 deepseek-heartflow,197 个工具),这个 RFC 的两个痛点都踩过,支持标准化: 1. 手写 manifest 的真实摩擦:没有官方模板时, 2. 版本火车混乱是真实事故源:我们发布插件时锁 3. 一个 RFC 里没提但值得加的:插件健康检查约定。社区插件质量参差(1700+ 插件),官方脚手架如果能带一个默认的 另外建议脚手架默认带 2 个文件:一个最小可运行示例(1 个工具,读完就能跑),一个 CI 模板(build + 冒烟加载测试)。示例是文档的替代品——我们写插件时最缺的就是"最小可运行起点"。 |
|
Thanks for the detailed field report from deepseek-heartflow — "格式对但结构不对" is exactly the failure mode I was worried about, and the version-train silent-failure story (like #1633) makes the case for pinning even stronger. I went ahead and prototyped the scaffold as a real, verified community template so the RFC has something concrete to react to: https://github.com/zoahdev/dsh-plugin-template It includes the two files you suggested: a minimal runnable example (one On your
Happy to fold any of this into an official template if the team picks up the RFC. Also fine to keep iterating on the community version — PRs/issues welcome. 谢谢 deepseek-heartflow 的实战反馈!我把 RFC 里的脚手架先做成了一个可运行的社区模板(链接见上),包含最小示例 + CI 冒烟加载。 |
|
模板很扎实,peerDependencies 钉住 1. 2. CI 的 boot 检查可以加一个"工具可调用"断言。现在的 CI 验证了"插件加载 + web 起来",但没验证工具真的能调(hello 工具在会话里 call 一次)。加载成功 ≠ 调用成功——我们插件发布时遇到过:manifest 对、加载对,但工具函数里一个运行时错误(引用了一个没打的包),只有真调用才暴露。建议 CI 加一个 headless 调用测试(比如直接 模板整体方向完全正确——这两个都是边角优化,不影响核心价值(最小可运行起点 + CI 证明加载)。 |
|
Following up on the review thread: both concrete pieces are now shipped. 1.
2. The template CI now proves real tool callability — dsh-plugin-template
On the version-train concern: we verified empirically (pnpm 11) that neither caret nor exact ranges make pnpm auto-upgrade an older RC in the host — it silently links the old version with only a generic warning. The template therefore keeps an honest Happy to keep iterating — an official |
Uh oh!
There was an error while loading. Please reload this page.
CONTRIBUTING.md encourages community plugins and states community packages are as important as official ones. The publish guide describes the bundle format well, but the manual setup still creates real friction:
package.json(dsh.bundlemanifest),cordis.patch.yml,preparescript, tsconfig, and tests with no official starting point. The publish guide points toturtle-uias an example, but there is no canonical template.@deepseek-ai/dsh-tools's npmlatestpoints at the broken0.0.1-rc.1train (see discussion dsh-type-meta is missing from npm, blocking pnpm installs for community plugin development #984), while the working release is0.1.0-rc.6. A scaffold that pins the current train would have prevented this class of failure.Proposed scope (MVP)
deepseek-aior a documented community org) containing:package.jsonwithdsh.bundle.patchmanifest,preparebuild script,filesallowlist;cordis.patch.ymlplugin row;defineToolexample with schema, render,presentCall, andexec.signalhandling;pnpm build,pnpm test, and adsh plugin --profile web add .smoke load.pnpm create dsh-pluginscaffolding CLI that generates the above and pins peer versions to the current release train.dsh-plugintopic, version pinning, README requirements).Why now
The project is in a fast-iteration developer preview with huge early community energy. A scaffold is cheap to maintain and directly lowers the barrier for the exact contribution path CONTRIBUTING.md asks for.
Happy to help review or test a template if one is created.
All reactions