🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

企业微信机器人 TtTRz/dsh-wecom

DeepSeek Harnessv0.5.3
TtTRz36 天前有提交已提供中文文档扫描:含敏感能力

把企业微信智能机器人接入持久化 agent 会话

36.5/100
综合分
2
GitHub 星标
224
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-wecom
npm 源 · dsh-wecom 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 36 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-wecom @ 0.5.3
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 04:50:36

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 10 处,展示前 9 条)
  • 写入本地文件
    dist/index.js:216
    mkdirSync(dir, { recursive: true });
  • 写入本地文件
    dist/index.js:218
    writeFileSync(path, data);
  • 写入本地文件
    dist/index.js:705
    await mkdir(this.config.cwd, { recursive: true });
  • 写入本地文件
    dist/index.js:845
    await mkdir(cwd, { recursive: true });
  • 读取本地文件
    dist/index.js:936
    const hit = readdirSync(this.config.cwd).find((name2) => pattern.test(name2));
  • 写入本地文件
    dist/index.js:950
    mkdirSync2(minted, { recursive: true });
  • 读取本地文件
    dist/index.js:1326
    if (!existsSync(file)) return;
  • 读取本地文件
    dist/index.js:1327
    const parsed = JSON.parse(readFileSync(file, "utf8"));
  • 写入本地文件
    dist/index.js:1357
    writeFileSync2(this.epochStateFile(), JSON.stringify(state), "utf8");
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-credentials@deepseek-ai/dsh-invariants@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 接入企业微信机器人
  • 持久化智能体会话
  • 预设驱动智能体

DeepSeek Harness 的企业微信 AI 机器人通道——每个会话都跑一个持久、由预设驱动的智能体,带真实工具。

README

由 DeepSeek 最新模型翻译生成
dsh-wecom DeepSeek Harness 的企业微信 AI 机器人渠道——支持持久化 agent、流式回复、思考卡片,以及单聊和群聊的历史会话切换。 npm version license node 通过官方长连接把企业微信「智能机器人」接入 dsh。每个会话对应一个持久化的 Harness agent(带工具),而不是裸聊天循环。 ✨ 特性 - 🤖 一会话一 agent——在隔离 setup 里挂载 preset(默认 standard),天然拥有 preset 的工具(bash、read、edit、skills…)与人设;会话 id 由 sha256(namespace · scope · peer) 确定性派生(不落原始 userid),经 sessionPersistence 跨重启存活 - 🖼️ 多媒体——图片下载后用官方 SDK 解密、模型可看时自动附带;文件/视频落入 agent 工作区供工具读取 - ⚡ 流式回复——token 级文本流、原生 思考卡片、卡片内的紧凑工具调用列表 - 🛡️ 访问策略——单聊/群聊各自 open / allowlist / disabled(群按 chatid 控制) - 🧹 消息治理——msgid 去重、按会话排队、全局并发上限、单轮超时主动 cancel 不留僵尸轮次
展开完整文档(README 剩余 1 节)
dsh-wecom

DeepSeek Harness 的企业微信 AI 机器人渠道——支持持久化 agent、流式回复、思考卡片,以及单聊和群聊的历史会话切换。

npm version
license
node

通过官方长连接把企业微信「智能机器人」接入 dsh。每个会话对应一个持久化的 Harness agent(带工具),而不是裸聊天循环。

✨ 特性

- 🤖 一会话一 agent——在隔离 setup 里挂载 preset(默认 standard),天然拥有 preset 的工具(bash、read、edit、skills…)与人设;会话 id 由 sha256(namespace · scope · peer) 确定性派生(不落原始 userid),经 sessionPersistence 跨重启存活
- 🖼️ 多媒体——图片下载后用官方 SDK 解密、模型可看时自动附带;文件/视频落入 agent 工作区供工具读取
- ⚡ 流式回复——token 级文本流、原生 思考卡片、卡片内的紧凑工具调用列表
- 🛡️ 访问策略——单聊/群聊各自 open / allowlist / disabled(群按 chatid 控制)
- 🧹 消息治理——msgid 去重、按会话排队、全局并发上限、单轮超时主动 cancel 不留僵尸轮次
- 📡 自愈——长连接断开(被踢/鉴权失败/被新客户端顶掉)后按 restartIntervalMs(默认 10s)自动重连
- 🩺 可观测——每个机器人提供状态与重连服务,可接入独立管理面板
- 💬 机器人命令——/ping /help /status /stop /compact /new /session /current /resume

🚀 快速开始

dsh plugin --profile web add dsh-wecom

export WECOM_BOT_ID='你的机器人id'
export WECOM_BOT_SECRET='你的secret' # 仅开发环境;生产用 credential 服务

dsh web

日志出现 WeCom AI Bot authenticated 后,发 /ping 应收到 pong。

持久化:WECOM_BOT_ID 写入 ~/.dsh/.env,WECOM_BOT_SECRET 写入 ~/.dsh/.credentials.yaml(引用 WECOM_BOT_SECRET);DSH_WECOM_CWD 覆盖 agent 工作目录。

📦 从 npm 安装

发布包自带预构建的 dist/,安装时不会执行构建脚本:

dsh plugin --profile web add dsh-wecom # 最新版
dsh plugin --profile web add dsh-wecom@0.5.3 # 锁定版本

升级同理:dsh plugin --profile web add dsh-wecom@。装好后配置 WECOM_BOT_ID / WECOM_BOT_SECRET(见快速开始)并重启 dsh web。

需要 Node.js 22.19 或更新版本。版本变更见 CHANGELOG。

从 0.3.x 升级

0.5.3 包含 0.5.0–0.5.1 的历史会话切换、流式回复和图片卡片投递修复。
渠道插件现在提供状态与重连服务,不再自带浏览器状态面板、机器人管理界面或 /api/wecom/ 路由。需要这些界面时,请使用独立的面板集成。
升级时保持机器人的 namespace 和工作目录不变,以保留会话路由和持久化历史。

Harness 0.1.7-rc.2 请使用 0.5.3 或更新版本:0.5.2 仍按旧持久化接口读取,可能导致历史列表为空。本次覆盖持久化 API 的 0.1.0-rc.6 和 0.1.7-rc.2; rc.2 的 CI 使用真实 JSONL 后端验证,不连接企微、不调用模型。

📦 从源码安装

Git 安装(请锁定 commit——构建脚本会在你机器上执行):

dsh plugin --profile web add github:TtTRz/dsh-wecom#

如果 pnpm 报 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED,先审核固定的提交,再将它输出的完整 allowBuilds 条目加入对应 profile 的 pnpm-workspace.yaml。条目可能包含 Git URL 和提交 SHA,仅填写包名不够。重新安装,或改用本地构建的 tarball:

git clone https://github.com/TtTRz/dsh-wecom && cd dsh-wecom
npm install --legacy-peer-deps
npm pack # 产出 dsh-wecom-0.5.3.tgz
dsh plugin --profile web add ./dsh-wecom-0.5.3.tgz

本地目录:dsh plugin --profile web add /绝对路径/dsh-wecom(链接源码;先执行 npm install --legacy-peer-deps && npm run build 产出 dist/)。

⚙️ 配置

调整 ~/.dsh/profiles/web/cordis.patch.yml 中挂载的行:

- id: wecom-channel
name: dsh-wecom
config:
botId: !!js process.env.WECOM_BOT_ID
credentialName: WECOM_BOT_SECRET
namespace: default
cwd 可选:默认 ~/.wecom-sessions(可用环境变量 DSH_WECOM_CWD 覆盖) cwd: /data/wecom preset: standard dmPolicy: open
dmAllowlist: []
groupPolicy: allowlist
groupAllowlist: [wr_你的群chatid]
greeting: 你好,我是助手。

多机器人配置

每个插件实例对应一个企微机器人。为新增实例设置不同的 namespace,并分别配置凭据、访问策略、preset 和模型路由:

- insert:
- id: wecom-channel-lab
name: dsh-wecom
config:
botId: !!js process.env.WECOM_BOT_ID_2
credentialName: WECOM_BOT_SECRET_2
namespace: lab
preset: standard

非默认实例提供 wecomChannelStatus. 服务,路由状态保存在 .dsh-wecom-state..json。默认实例使用 wecomChannelStatus 和 .dsh-wecom-state.json。面板可直接消费各实例的服务,无需指定一个主机器人。

配置参考

| 字段 | 默认 | 含义 |
| cwd | ~/.wecom-sessions | agent 工作目录:WeCom 会话、上传文件(.wecom-uploads/)与 .dsh-wecom-state.json 都落在这里,侧边栏 "WeCom" 工作区也认领在该目录上;可用 DSH_WECOM_CWD 覆盖,必须为绝对路径 |
| preset | standard | 挂进每个会话 agent 的 preset |
| provider / model | 不设置 | 所有 wecom 会话的固定模型路由,两者必须成对配置;不设置时新会话用 harness 默认选择,恢复的会话继承其最后一次记录的模型 |
| dmPolicy / groupPolicy | open | open / allowlist / disabled |
| dmAllowlist | [] | 单聊 userid 白名单 |
| groupAllowlist | [] | 群聊 chatid 白名单 |
| instructions | 企业会话指引 | 每轮叠加在人设上的指令段 |
| imageMode | auto | auto 模型可看图时附带;always / never 强制 |
| streaming | true | token 级流式;false 只回执 + 最终答案 |
| streamFlushMs | 250 | 流式文本冲刷节奏(ms) |
| showReasoning | true | 推理包进企微原生 卡片 |
| showToolCalls | true | 在 卡片内渲染紧凑的工具调用列表 |
| maxConcurrent | 4 | 全局并发轮次上限 |
| turnTimeoutMs | 300000 | 无进展超时;会话事件和流式帧会重置期限 |
| approvalMode | chat | chat 在聊天中批准/拒绝提权请求;notify 只通知、由网页决定;off 不发送通知 |
| approvalTimeoutMs | 300000 | 聊天审批等待时间,超时取消请求 |
| approvalAllowlist | [] | 可回答审批请求的 userid;为空时允许所有已通过渠道访问策略的发送者 |
| approvalHint | 回复「批准」继续,回复「拒绝」取消。 | 审批请求附带的回复提示 |

💬 命令

| 命令 | 作用 |
| /ping | 连通性检查 |
| /help | 列出命令 |
| /status | 会话状态 |
| /stop | 取消当前生成 |
| /compact | 把较早历史压缩成摘要省上下文 |
| /new | 开启新会话(历史保留,下一条消息开新 session) |
| /session | 列出本聊天的历史 session(新→旧:编号、开始时间、轮数、标题,当前标 )。别名 /sessions |
| /current | 显示新消息当前路由到的 session |
| /resume | 按编号切回历史 session(见 /session;跨重启保留) |

🏗️ 工作原理

企业微信 AI 机器人 │ WebSocket 长连接(wss://openws.work.weixin.qq.com) ▼ dsh-wecom(host 插件) │ msgid 去重 → 访问策略 → 按会话排队 → 全局并发上限 │ 创建/恢复 agent(setup 挂载 preset + 常驻指令段) │ agent.followup(userMessage) → await agent.whenIdle() │ 超时 → agent.cancel(),不留僵尸轮次 ▼ 持久化的按会话 Harness agent(sessionPersistence)

为什么不是裸 agents.create:preset 在 setup 挂载(裸 agent 没有工具)、指令经 systemPrompt.section() 每轮常驻、超时取消保证下一条消息不被卡住、群聊按 chatid 白名单控制、全局 maxConcurrent 兜底。

🧩 集成

- 状态服务——ctx.get('wecomChannelStatus').snapshot() 返回标量(connected、stopping、conversations、authenticatedAt、lastError),供面板/UI 插件使用;其他机器人可用 channelStatusServiceName(namespace) 获取服务名
- 重连服务——调用同一个服务的 reconnect(),替换连接并唤醒重连循环
- 面板集成——渠道不注册 HTTP 路由或浏览器插槽;独立的 UI 插件可消费这些服务,并管理自己的路由、鉴权和展示

🧪 开发

npm install --legacy-peer-deps
npm run check # biome + typecheck + test + build

在独立目录安装 Harness,用于持久化接口回归。
npm install --prefix /tmp/dsh-rc2 @deepseek-ai/dsh@0.1.7-rc.2
npm run test:persistence -- /tmp/dsh-rc2

📄 License

MIT
预览分享卡片长什么样 ↓TtTRz/dsh-wecom
分享 · DeepSeek Harness Hub
TtTRz/dsh-wecom

把企业微信智能机器人接入持久化 agent 会话

回到顶部