Download docs/plugin-authoring.md from hunian003/message: direct link, hf CLI and curl.
- Browser
- Download file 2.48 kB
-
https://huggingface.co/spaces/hunian003/message/resolve/main/docs/plugin-authoring.md
- Command line
-
hf download hf://spaces/hunian003/message/docs/plugin-authoring.md
-
curl -L -o plugin-authoring.md https://huggingface.co/spaces/hunian003/message/resolve/main/docs/plugin-authoring.md
发布可信 DSH bundle
兼容契约
市场只接受独立 npm .tgz,包含一个 package/package.json 和声明的 dsh.bundle.patch 文件。必须声明 @deepseek-ai/dsh-tools: 0.2.0-rc.2 peer,其他 DSH peers 同版本;依赖必须固定完整 semver,不允许 URL/git/file 来源、范围、bundled node_modules 或覆盖解析配置。
包名/版本/原始 SHA256 标识一个不可变制品。同内容重传幂等;同名同版本不同内容拒绝,发布新内容必须递增版本。归档不接受路径穿越、链接、设备、稀疏文件、重复路径、隐藏尾部或安装脚本。上传最大32MiB,展开最大64MiB,单文件16MiB,条目最多4096。
模块导入应无副作用。工具、监听器和后台任务在 Cordis apply 生命周期中创建,并提供清理函数;静态配置 schema 收集会导入声明,但不会调用 apply。请声明可投影的 Config,复杂原生约束必须在 worker 启动时可靠失败。
独立打包
npm pack ./plugins/text-tools --ignore-scripts --pack-destination /tmp
在 Web“插件目录”上传归档并确认已审查代码。安装进入可写 profile,不把插件源码编译进消费者、不重建宿主。初始样例 message_text_uppercase 支持 { "prefix": "自定义:" } 配置,重启后生效。
凭据
例如作者声明 Config 的 apiKey 为字符串,运营者保存:
{"apiKey":{"$env":"SERVICE_API_KEY"}}
实际值只由服务器运营者提供;变量名需在该 profile 的 MESSAGE_PLUGIN_ENV_ALLOWLIST_JSON 中,禁止控制面、PATH、NODE_OPTIONS 等执行控制变量。不要把真实值写进归档、配置、描述、日志或工具输出。未获允许或缺失的引用使启动失败。
工具输出
V1 导出最终策略后的文本内容;结构化 JSON 应由工具的 output.render 转为文本。DSH 图片/文件是受管理 attachment 引用,当前不会自动转换为 MCP image/audio/resource 或读取服务器附件路径。扩展附件适配需专门实现内容解析、大小/权限及生命周期验证,不能序列化 raw value。旧媒体插件尚未迁为原生 bundle。
信任边界
校验和证明内容一致,不证明代码安全。插件在宿主进程中执行;本市场不支持安装不可信公共代码或把 profile 当租户沙箱。安装依赖脚本被禁用,本版没有一键批准脚本或绕过版本兼容的界面。