DeepSeek Harness 插件

FeatherHunter/dsh-im-companion

Star 数 ★ 21 下载量(近 30 天) 3,957 分类 UI 增强 收录于 2026-09-04 npm dsh-im-companion

dsh-im辅助插件:创造助理/家的概念,把飞书/微信/QQ等机器人收进DSH工作区,并提供更多强大的扩展功能。增强DSH原生会话状态:哪些在执行任务、哪些在等你回复、哪些有异常。感谢使用🌹。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-im-companion

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:FeatherHunter/dsh-im-companion

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

中文 · English

dsh-im-companion 以助理和家的概念增强dsh-im的使用体验。

你的 ⭐是我夜空中最亮的星。

Give every agent a home — IM Companion handles the rest.

装它,1 分钟(先装 dsh-im,再装辅助)。

前置要求:DSH(DeepSeek Harness)+ dsh-im(IM 机器人本体)。

# 1 安装 DSH CLI(已装跳过)
npm install -g @deepseek-ai/dsh

# 2 先装本体 dsh-im(已装跳过,同样 --profile 必填)
dsh plugin --profile desktop add dsh-im
#     或者
dsh plugin --profile web add dsh-im

# 3 再装辅助(--profile 必填,装进实际使用的入口)
dsh plugin --profile desktop add dsh-im-companion
#     或者
dsh plugin --profile web add dsh-im-companion

# 锁定版本更稳(当前 0.2.3)
dsh plugin --profile desktop add dsh-im-companion@0.2.3 --registry https://registry.npmjs.org

装完刷新页面即生效。若面板没有出现,请完全退出 DSH 后重新打开。

复制下面这段发给你的 AI:

请帮我安装 DeepSeek Harness 插件 dsh-im-companion(IM 辅助)。
先读仓库 README:https://github.com/FeatherHunter/dsh-im-companion
先确认我实际使用的 DSH 入口对应哪个 profile(桌面应用走 desktop,自启 web 服务走 web),
先确认 dsh-im 本体已装进同一个 profile(没装先装),再把辅助装进正确的 profile。

下面以 desktop 为例,web 用户请把 --profile desktop 换成 --profile web:

dsh plugin --profile desktop add dsh-im-companion@0.2.3 --registry https://registry.npmjs.org
npx --yes @deepseek-ai/dsh plugin --profile desktop add dsh-im-companion
dsh plugin --profile desktop add dsh-im-companion@latest --registry https://registry.npmjs.org

升级 · 卸载:

dsh plugin --profile desktop update dsh-im-companion
dsh plugin --profile desktop remove dsh-im-companion
dsh-im-companion dsh-im 说明
0.2.x 4.21.1(已验证) 与 0.1.16+ 同传输口径;新增更新中心(面板自写 status 轮询,受契约 §4 三条约束)与 meta.motion.set / meta.update.set 两个偏好端点
0.1.16+ 4.21.1(已验证) 双传输口径不变:4.17.1+ 走 /api 新载体,≤4.17.0 自动回退旧路由;4.21.1 的载体规则已复核与 4.17.1 一致(dsh-im<channel> + { method, payload })
0.1.7 – 0.1.15 4.17.1(已验证) 双传输:4.17.1+ 走 /api 新载体,≤4.17.0 自动回退旧路由——两边都能用
0.1.6 4.17.1 web profile 装配失败(host 半走已退役的前缀路由,报 cannot get property "webServer" without inject)→ 请升级 0.1.7
0.1.4 ≤4.17.0 dsh-im 4.17.1 改道后不可用(接入向导报 HTTP 405),请升级到 0.1.7

宿主 @deepseek-ai/dsh 0.2.0-rc.2 已验证(0.2.2 配的就是这个宿主版本;要求宿主提供 connection.fetch;更老宿主会在装配期显式报错,不静默降级)。面板右上角并列两枚版本胶囊,颜色即身份:紫=本插件版本号、蓝白=兼容的 dsh-im 版本(dsh-im 4.21.1);宿主 dsh 胶囊已删(用户裁定 2026-10-01),宿主兼容口径只留本小节与市场徽章(engines.dsh)。胶囊只留轴名 + 版本号,完整口径在悬停(值来自 package.json,构建时注入),升级前看一眼即可。

dsh-im 掌管接入,dsh-im-companion 以助理和家的概念增强能力。

家:哪个工作区有助理在管、在不在线,尽收眼底;搬家拖一下就行。

👇 点“有助理”,只看已安家的。

👇 进设置 → IM机器人增强:助理、渠道、在线状态一屏看尽。

👇 切按渠道:同渠道助理排一排。

👇 点“添加接入”:选家后扫码即绑定。

👇 点开助理卡:模式、状态、各渠道增强开关一目了然。

👇 舰队雷达:Agent × 渠道矩阵,全舰队谁在线一眼看清。

👇 会话状态一目了然(DSH增强)。

👇 点工具栏机器人脸图标,进搬家面板

👇 串门搬家:把照片拖到另一家,二次确认。绿灯在岗,黄灯打盹,灰灯睡着。

👇 卡片拖到另一家上空,目标家高亮

👇 搬家前二次确认

同一份能力,按你想介入的深度分四层:装完就用 → 面板里点 → 程序化调用 → 自己加功能。AI 读者可直接跳 L2 / L3 取接口清单。

颗粒度 你想做的事 入口 要写代码吗
L0 零配置 看在线状态、过滤、搬家、装更新 装完刷新页面即生效 不用
L1 面板内可控 配模式 / 渠道增强 / 绑定 / 自动检查 设置 → IM机器人增强 不用
L2 程序化集成 让 AI 或别的插件读写状态、触发检查与安装 宿主桥 POST /api/im-companion + 客户端契约四通道 只调用,不改本仓
L3 二次开发 加一个新功能或新端点 FeatureManifest + rpc case 要
能力 在哪看 说明
左栏在线徽标 工作区列表每行 绿=在岗、黄=打盹、灰=睡着;悬停看双通道与最后检测时间;未绑定不画
左栏筛选 列表顶部条 + 表头漏斗 全部 / 有助理 / 无助理(带计数);漏斗点击循环三态,另有一键收起分组
组行状态竖条 工作区分组行与会话行 蓝=有会话执行中(呼吸)、红=异常(402/中断/未知错误)、黄=等你查看或选择
工作区 Header 浮层 会话头状态点 点开看助理 / 渠道 / 在线状态;可发测试消息(渠道·机器人·会话三级选择器)
舰队雷达 面板工具栏「扬帆远航!」 Agent × 渠道矩阵;点格子钻取详情
更新中心 设置面板顶部区块 检查更新 / 一键安装 / 待重启横幅 / 版本说明;桥不可用时显式报「宿主桥不可用」
在场感动效 左栏筛选条左侧绿点 点一下开/关呼吸动效(默认开),偏好落盘宿主 meta.json,尊重系统「减少动态效果」
想调什么 在哪 粒度
视图与搜索 面板顶部分段 + 搜索框 聚合视图(按助理)/ 按渠道视图
添加接入 工具栏「新建助理」→ 选家 二选一:扫码创建(一步直达)或手动填写(Slack Manifest / Discord Intent / Telegram 代理 / 企微 Bot ID 提示;密钥掩码回显、密文不回显)
助理详情 点助理卡(或点左栏徽标) 沟通模式(预设,写入真系统、新会话生效)、上下文增强(每渠道两个开关:群聊增强 / 私聊增强)、性格、工作区路径(原生目录选择器)、会话路由摘要、渠道管理(解绑需确认)、测试发送
搬家 工具栏「串门搬家」 拖到另一个家 → 二次确认「确认换绑」→ 5 秒内可撤销
更新偏好 更新中心 自动检查开关 + 间隔 6 / 12 / 24(默认)/ 168 小时
动效偏好 左栏筛选条绿点 开 / 关

写保护:渠道真值未读到时写操作禁用并提示「本渠道真值尚未读到,稍后再试(防覆盖已有配置)」;破坏性动作一律二次确认(再次点击确认 / 确认换绑 / 解绑)。

宿主桥(本插件唯一的 HTTP 面,注册在 DSH 公开 /api 载体上):

POST /api/im-companion
请求:{ "type":"client-request", "rpcId":"<你的id>", "method":"im-companion",
        "payload": { "method":"<端点名>", "payload": { … } } }
回包:{ "type":"server-response", "rpcId":"<同一个id>",
        "result": { "ok":true, "value": … } }
失败:{ "ok":false, "error": { "code":"bad-request", "message":"…", "details":{} } }

端点清单:

端点 载荷 返回
ping {} { pong }
meta.get {} AgentMetaDoc 全量快照
meta.rename { key, name } {}
meta.avatar.set / meta.avatar.clear { key, dataUrl } / { key } {}
meta.preset.set { key, preset } {}
meta.ctx.set { key, enabled, level } {}
meta.motion.set { manualReduced: boolean } {}
meta.update.set { autoCheckEnabled: boolean, intervalHours }(间隔只收 6 / 12 / 24 / 168 小时) {}
meta.welcomed.set { workspace, seen } {}
meta.local.add / meta.local.remove { name } {}
meta.local.rename { from, to } {}
meta.local.workspace { name, workspace } {}
routes.list { bots: [{ channel, botId }] } { routes, skipped } 会话路由摘要
activity.snapshot {} { entries, scannedAt } 会话活动
fs.defaultRoot / fs.roots {} { path } / { roots }
fs.list { path }(绝对路径) { path, parent, entries }
imc.updateStatus / imc.updateCheck {} 更新快照(snapshot / manual / autoCheck)
imc.updateInstall { checkId, requestId } 安装回执

落盘真相:~/.dsh/integrations/dsh-im-companion/meta.json(DSH_HOME 或插件 config.dshHome 可改);AgentMetaDoc 字段=names avatars locals presets ctxEnhance welcomed motion update。

客户端契约四通道(写别的插件 / 特性时用):

通道 你能拿到 规则
rpc RpcCall,走 dsh-im 渠道 RPC 写后必须 refresh()
subscribe(fn) StreamSnapshot = { bots, failed, updatedAt, catalogs } 唯一轮询源(15 秒、进程内单例),禁开第二份轮询
meta MetaStore(loadMeta() + 写方法) host meta.json 是权威;桥不可用时降级 localStorage af-fleet-*
slots 槽位:settings.section(本插件占 id=dsh-im-companion、order=22、标题「IM机器人增强」)、workspace-rail、session-header、conversation-session 只注册,不越权改别人的 DOM

辅助面:window 事件前缀 dsh-im-companion:*(组件间总线,不在四通道白名单内、无重放);宿主服务出口 ctx.provide('agentFleet', { version, meta }),别的插件可读 meta.snapshot()。

包出口(npm i dsh-im-companion 之后):. → 宿主入口 lib/index.js(导出 name / inject / apply);./client → 浏览器包(走 __ModuleLoader__,不是 Node 可 import 的包);./package.json。

  1. 新功能 = 建 src/features/<id>/manifest.ts,再在 src/features/index.ts 加一行。
  2. FeatureManifest = { id, name, order, slots[], installStyles? };特性上下文 FeatureCtx = { rpc, subscribe, refresh, meta, slots, get, pickDirectory? }——特性只经它拿能力,不直连宿主、不引别的特性。
  3. 新端点 = 在 src/host/rpc.ts 追加一个 case(命名 im-companion.<feature>.<action>),既有 case 不改。
  4. 红线与自检:单文件 ≤300 行;共享层只加不改;npm run check(构建 + 类型 + 功能断言 + 红线)全绿才算数。
  5. 契约权威:docs/features-contract.md;领域词汇:CONTEXT.md。

给 AI 的用法提示:改状态走 meta.*;读状态走 meta.get + activity.snapshot;装更新走 imc.updateCheck → imc.updateInstall;加功能走 L3。

这是桌面端的应用市场缓存策略导致的:刚发布的版本几小时内更新会静默跳过。等几小时再更新;等不及就显式指定官方源装一次:

dsh plugin --profile desktop add dsh-im-companion@latest --registry https://registry.npmjs.org

dsh-opencode-palette —— 34 款 opencode 经典配色,一键换装

dsh-mattpocock-skills-deck —— Matt Pocock 技能面板:25 个工程与效率技能即装即用

dsh-chinese-skill-patch —— 中文技能名直达,不必改英文名

dsh-prompt —— Prompt 工具箱:24 条深度模板随手点


有问题?提交 ISSUE,认领前先读 docs/agents 标签纪律。

MIT © FeatherHunter

感谢每一位提交 Issue、PR 与参与讨论的朋友。

首个公开版(v0.1.0)尚无外部贡献名单,虚位以待——第一个提 Issue 的朋友,你的名字会写在这里。

也感谢上游 dsh-im:没有本体,就没有辅助。

Bug 与需求请直接提 ISSUE,更高效可追溯。

提交 ISSUE · 上游 dsh-im

话题群二维码待补——有群后这里放永久有效二维码。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。