编者按

honghudavy-star/DSH_plugins_4U

DSH 自建插件集合:微信桥接器 + GUI 微信入口补丁,一键安装

这是一个 DeepSeek Harness(DSH)插件。本站汇总其 GitHub README、安装信息、维护状态与公开安全信号。

DSH Plugins 4U

让 DeepSeek Harness 连接微信、拥有个性壁纸,也能读懂图片。

DeepSeek Harness 插件集合

DSH Plugins 4U 是一组面向 DeepSeek Harness(DSH)的社区插件。仓库根包提供统一的 “自定义插件”设置页,微信、壁纸和识图分别作为独立的 DSH 原生 bundle 安装、配置和启停。

本仓库当前默认兼容目标为 @deepseek-ai/dsh@0.1.0-rc.6。每个包都通过 dsh.bundle.patch 注册 Cordis Host;需要界面的包再通过 dsh.client 加载 Web 客户端模块。 整个过程不改写 DSH 安装目录、npm exec 缓存或已经构建的客户端 bundle。

重要

本项目不是 DeepSeek Harness 官方插件。切换到其他 DSH 版本前,请先在测试 profile 中验证 Host、客户端 Slot 和配置读写是否仍兼容。

快速安装 · 首次使用 · 配置与数据 · 开发与验证 · 常见问题

插件一览

功能DSH 扩展点
@dsh-plugins/4u仓库总插件;在“设置 → 插件”注册“自定义插件”页Cordis Host + settings.plugins.tab
@dsh-plugins/wechat微信与 DSH 会话双向桥接;提供微信会话快捷入口Cordis Host + sidebar.footer.action
@dsh-plugins/wallpaper使用预设或本地图片作为 DSH Web 背景Cordis Host + webServer.tapIndex
@dsh-plugins/vision先分析粘贴/拖入的图片,再把纯文本结果提交给模型Host HTTP route + conversation.input.right

总插件只负责统一设置页,三个功能插件仍拥有各自的 Host、配置命名空间和生命周期。 因此可以只安装需要的功能,也可以单独停用某一项。

DeepSeek Harness 插件使用场景

运行要求

  • Git、Node.js 20 或更高版本,以及 npm。
  • 已能正常运行的 DeepSeek Harness;安装器默认使用 @deepseek-ai/dsh@0.1.0-rc.6
  • 使用识图插件时,需要可用的 SiliconFlow API Key。
  • 使用微信插件时,需要在首次启动时用手机微信扫码登录。

快速安装

安装全部三个功能插件:

git clone https://github.com/honghudavy-star/DSH_plugins_4U.git
cd DSH_plugins_4U
./install.sh

只安装指定功能插件(根包 @dsh-plugins/4u 始终会一起安装):

./install.sh wechat
./install.sh wallpaper vision

可用名称为 4uwechatwallpapervision。默认安装到 web profile;可以通过 环境变量覆盖目标版本、profile、DSH 数据目录或 tarball 保存目录:

DSH_VERSION=0.1.0-rc.6 \
DSH_PROFILE=web \
DSH_HOME="$HOME/.dsh" \
DSH_PLUGIN_ARCHIVE_DIR="$HOME/.dsh/plugin-packages" \
./install.sh

安装器会对每个所选包执行 npm pack,把生成的 tarball 保存到 $DSH_PLUGIN_ARCHIVE_DIR,然后调用 DSH 官方插件入口:

dsh plugin --profile web add /absolute/path/to/plugin.tgz

安装完成后,停止并重新启动 DSH Web,让 Host 与客户端插件重新装载:

npm exec --yes --package=@deepseek-ai/dsh@0.1.0-rc.6 -- dsh web

随后进入“设置 → 插件 → 自定义插件”。页面会以三条可展开项目显示微信、壁纸和识图; 已安装功能的配置通过对应 Host 接口读取和保存,不需要手动编辑 cordis.patch.yml

首次使用

微信

启用微信插件后,Host 会托管一个桥接子进程。首次运行时,二维码会直接输出到 DSH Web 所在终端;扫码后从微信发送一条消息,插件会创建或复用标题为“微信”的 DSH 会话,并把 agent 的最终回复发回微信。侧栏快捷入口会在该会话存在后出现。

在“自定义插件 → 微信”中可以设置:

  • 是否启用桥接。
  • 本地主动发送端口,默认为 8790
  • 固定的微信 owner ID;留空时由第一个成功收到的微信用户自动绑定。
  • 固定的 DSH 会话 ID;留空时自动创建或复用“微信”会话。
  • 是否自动调用识图插件分析微信入站图片。

配置保存后,桥接监督器会重新加载子进程。子进程异常退出时会自动重试;如果端口已被占用, 监督器会等待端口释放,避免启动重复实例。

桥接器还提供只监听 127.0.0.1 的主动发送接口。请求必须携带本地 Bearer token:

curl -s -X POST http://127.0.0.1:8790/send \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $(cat "$HOME/.dsh-wechat/bridge-token")" \
  -d '{"text":"通知内容"}'

发送文件时,在 JSON 中增加 "file":"绝对路径"。插件只接受现有的绝对路径普通文件, 拒绝相对路径、目录和符号链接。

查看微信插件详细说明

壁纸

在“自定义插件 → 壁纸”中可以:

  • 选择 midnightauroraforestsunset 四个内置预设。
  • 从文件选择器上传 PNG、JPEG、WebP 或 GIF。
  • 填写本地图片绝对路径。
  • 设置 01 的透明度,或直接停用壁纸。

上传内容会先检查媒体类型与文件签名,再以私有权限复制到插件数据目录。Host 在每次返回 DSH Web 首页时通过 webServer.tapIndex 注入一段受管 CSS,不修改客户端 bundle;保存后 刷新页面即可看到变化。

midnight 深夜蓝壁纸
midnight
aurora 极光壁纸
aurora
forest 深林绿壁纸
forest
sunset 暮色壁纸
sunset

查看壁纸插件详细说明

识图

在“自定义插件 → 识图”中填写 API Key,或在启动 DSH Web 前提供同名环境变量:

export SILICONFLOW_API_KEY="your-api-key"
npm exec --yes --package=@deepseek-ai/dsh@0.1.0-rc.6 -- dsh web

设置页还可以调整 Credential 名称、模型、每次图片数、单图大小、最大输出 Token、 Temperature 和失败重试次数。默认模型为 deepseek-ai/DeepSeek-OCR,默认每次最多 3 张图片, 单图上限 5 MiB。

使用时,在对话框中粘贴或拖入图片,输入问题,然后点击“识图发送”。客户端会把草稿图片交给 Host 的 /plugins/dsh-vision/analyze 路由;Host 返回视觉结果后,客户端移除原始图片草稿, 将“问题 + 视觉分析结果”作为纯文本提交给 DSH。

这样可以适配当前 stable Host 对文本模型 image block 的准入限制,也不会修改 DSH runtime 或绕过模型能力检查。支持 PNG、JPEG、WebP 和 GIF。

查看识图插件详细说明

配置与数据

项目默认位置或来源说明
安装 tarball~/.dsh/plugin-packages/可由 DSH_HOMEDSH_PLUGIN_ARCHIVE_DIR 覆盖
微信运行数据~/.dsh-wechat/登录凭据、owner、会话、同步游标、Bearer token、媒体和转发水位
壁纸上传文件~/.dsh-plugins/wallpaper/uploads/设置页上传的当前图片;目录和文件使用私有权限
壁纸 CLI 兼容状态~/.dsh-plugins/wallpaper/config.jsonHost 在没有显式 source 配置时兼容读取
插件配置DSH settings 服务使用 dsh-plugins-wechatdsh-plugins-wallpaperdsh-plugins-vision 命名空间
识图密钥DSH credential 或环境变量默认 Credential 名称为 SILICONFLOW_API_KEY,保存后不回显

设置页的写接口要求同源请求和正确的 JSON/媒体类型。微信配置变化会重启其受管子进程; 识图配置即时用于后续请求;壁纸配置在刷新页面时生效。

安全边界

  • 仓库和发布包不包含微信登录凭据或第三方 API Key。
  • 微信桥接只接受单一 owner;本地主动发送接口只监听 127.0.0.1,并始终要求 Bearer token。
  • 微信凭据目录和私密文件分别收紧为 07000600
  • 微信回复关联使用一次性 bridge origin,外发文件必须是非符号链接的绝对路径普通文件。
  • 壁纸上传同时校验 Content-Type、文件签名和大小,不接受 SVG。
  • 识图只接受 PNG、JPEG、WebP、GIF,并限制图片数量、单图体积和总请求体积。
  • 所有插件通过公开的 Cordis 服务、DSH 路由或客户端 Slot 扩展,不修改 DSH build 产物。

升级与重新安装

更新仓库后重新运行安装器,即可重新打包并通过目标 profile 的官方插件管理器安装:

git pull --ff-only
./install.sh

如果只升级某个功能插件,可以只传对应名称。升级后重启 DSH Web;微信状态、壁纸上传和 DSH credential 均保存在仓库之外,不会因重新打包而写入 Git。

切换 DSH 版本时,请显式设置 DSH_VERSION,并优先使用独立 profile 验证:

DSH_VERSION=<目标版本> DSH_PROFILE=<测试-profile> ./install.sh

开发与验证

npm ci
npm test
npm pack --dry-run
npm pack --workspaces --if-present --dry-run

测试覆盖当前仓库最重要的插件契约:

  • 四个包的 manifest、Cordis patch 和 Host 入口。
  • 根设置页与微信/识图客户端 ModuleLoader bundle。
  • 三个实时配置命名空间与配置接口。
  • 壁纸注入、上传文件签名和大小边界。
  • 微信端口占用检测、私密 token、owner/origin 和外发文件边界。

每个可安装包的核心结构如下:

package.json         # dsh.bundle / 可选 dsh.client
cordis.patch.yml     # 向目标 profile 插入 Host Loader 行
index.mjs            # Host 插件:导出 apply(ctx, config)
client.js            # 需要 Web UI 时提供的 ModuleLoader bundle
README.md            # 插件级使用说明

仓库结构:

DSH_plugins_4U/
├── index.mjs                    # 根 Host 入口(用于发现总插件客户端)
├── client.js                    # “自定义插件”统一设置页
├── cordis.patch.yml             # 根包 Loader patch
├── install.sh                   # 打包并调用 DSH 官方插件安装入口
├── docs/DSH_PLUGIN_SPEC.md      # DSH bundle、Cordis 与客户端准入说明
├── packages/
│   ├── wechat/                  # 微信 Host、侧栏入口和桥接器
│   ├── wallpaper/               # 壁纸 Host、预设和兼容 CLI
│   └── vision/                  # 识图 Host、输入按钮和预编译客户端
└── tests/plugin-format.test.mjs # 原生插件格式与安全边界回归测试

查看 DSH 插件格式与 Cordis 准入规则

常见问题

安装后看不到“自定义插件”页面怎么办?
确认安装输出中包含 @dsh-plugins/4u,目标 DSH_PROFILE 与当前启动的 profile 一致,并完整停止后重新启动 DSH Web。仅刷新浏览器不会重新加载 Host 或客户端 bundle。
微信没有显示二维码怎么办?
二维码只在没有可复用登录凭据时输出到 DSH Web 所在终端。若日志显示会话已经过期,先停止 DSH,把 ~/.dsh-wechat/credentials.json 移到备份位置,再重新启动并扫码;不要提交或分享该文件。
微信桥接一直等待或无法启动怎么办?
检查 DSH 终端中的 dsh-plugins-wechat 日志,并确认设置的桥接端口没有被其他进程占用。 插件检测到端口冲突时不会启动第二个桥接实例,而是按配置延迟重试。
识图提示 Credential 未配置怎么办?
在“自定义插件 → 识图”保存 API Key,或确保 SILICONFLOW_API_KEY 已导出到启动 DSH Web 的同一个进程环境。修改环境变量后需要重新启动 DSH Web。
壁纸保存后没有变化怎么办?
刷新 DSH Web 页面。若使用绝对路径,确认 Host 进程能够读取该文件;若使用上传,确认图片不超过 默认 10 MiB 限制,且真实文件内容与 PNG、JPEG、WebP 或 GIF 类型一致。

Built for people who want to keep their DSH setup reproducible.
REPOSITORY SIGNALS

安全与安装证据

该分数只基于公开仓库元数据与本站登记的安装证据,不等同于代码安全审计。

来源可追溯

来自公开插件目录,并链接到公开 GitHub 仓库。

许可证

GitHub 元数据中未检测到许可证。

维护活跃度

最近 180 天内有代码更新。

安装证据

尚未登记可复验的精确安装元数据,请按仓库说明手动检查。

安装生命周期脚本

已检查的包元数据未声明安装生命周期脚本。

需要留意missing-license