在钉钉里与 Agent 对话并调用工具
25.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 838997125/dsh-plugin-dingtalk该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
- 读取密钥环境变量lib/index.js:38
appKey: z.string().default(() => process.env.DINGTALK_APP_KEY || ''), - 读取密钥环境变量lib/index.js:40
appSecret: z.string().default(() => process.env.DINGTALK_APP_SECRET || ''), - 发起网络请求lib/dingtalk-api.js:147
const res = await fetch(TOKEN_URL, { - 发起网络请求lib/dingtalk-api.js:179
const res = await fetch(webhookUrl, { - 发起网络请求lib/dingtalk-api.js:198
const res = await fetch(OTO_SEND_URL, { - 发起网络请求lib/dingtalk-api.js:218
const res = await fetch(GROUP_SEND_URL, {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-session给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 钉钉内与Agent对话
- 调用工具
DeepSeek Harness 插件开发指南 - 用 TypeScript/JavaScript 写 DSH 智能体插件,把工具、技能、钩子和工作流打包成可安装的 Markdown 扩展
README
由 DeepSeek 最新模型翻译生成dsh-plugin-dingtalk
🤖 DeepSeek Harness 钉钉机器人通道插件 — 在钉钉中与 DSH Agent 对话,支持多轮对话、工具调用、Markdown 渲染。
✨ 功能特性
- 🔌 Stream 模式:无需公网 IP / 域名 / 端口映射,机器人主动连接钉钉网关
- 💬 多轮对话:每个钉钉会话映射到独立 DSH Agent,保留完整上下文
- 🛠️ 工具调用:Agent 可在对话中调用所有 DSH 工具(终端、文件、MCP、浏览器等)
- 📝 Markdown 渲染:回复自动转为钉钉 Markdown 格式,标题、代码块、列表、链接等完美渲染
- 👥 群聊 @响应:群聊中 @机器人才响应,单聊直接对话
- 🔄 会话持久化:DSH 重启后自动恢复对话历史
- 🔌 自动重连:网络中断后指数退避自动重连
- ⏱️ 空闲回收:会话超时自动释放 Agent 资源
🏗️ 架构
展开完整文档(README 剩余 1 节)
dsh-plugin-dingtalk
🤖 DeepSeek Harness 钉钉机器人通道插件 — 在钉钉中与 DSH Agent 对话,支持多轮对话、工具调用、Markdown 渲染。
✨ 功能特性
- 🔌 Stream 模式:无需公网 IP / 域名 / 端口映射,机器人主动连接钉钉网关
- 💬 多轮对话:每个钉钉会话映射到独立 DSH Agent,保留完整上下文
- 🛠️ 工具调用:Agent 可在对话中调用所有 DSH 工具(终端、文件、MCP、浏览器等)
- 📝 Markdown 渲染:回复自动转为钉钉 Markdown 格式,标题、代码块、列表、链接等完美渲染
- 👥 群聊 @响应:群聊中 @机器人才响应,单聊直接对话
- 🔄 会话持久化:DSH 重启后自动恢复对话历史
- 🔌 自动重连:网络中断后指数退避自动重连
- ⏱️ 空闲回收:会话超时自动释放 Agent 资源
🏗️ 架构
钉钉用户发消息 │ ▼ 钉钉 Stream 网关 (WSS) │ ▼ dingtalk-stream SDK(自动心跳 / ACK / 重连) │ ▼ dsh-plugin-dingtalk(消息解析 · @提及判断 · Markdown 格式化) │ ▼ SessionBridge(钉钉 conversationId ↔ DSH Agent 映射) │ ├── agent.followup(message) ├── await agent.whenIdle() └── 读取 assistant/message 事件 │ ▼ sessionWebhook → 钉钉回复(Markdown 渲染)
📦 安装
前置条件
- DeepSeek Harness (DSH) Desktop 或 CLI
- Node.js >= 18
- 一个钉钉企业内部应用(已添加机器人能力并选择 Stream 模式)
安装插件
在 DSH 中运行:
dsh plugin --profile desktop add dsh-plugin-dingtalk
或手动安装:
cd ~/.dsh/profiles/desktop
pnpm add dsh-plugin-dingtalk
然后在 package.json 的 dsh.profile.bundles 数组中添加 "dsh-plugin-dingtalk"。
⚙️ 配置
在 ~/.dsh/profiles/desktop/cordis.patch.yml 中添加:
- insert:
- id: dingtalk-bot
name: 'dsh-plugin-dingtalk'
config:
appKey: "dingxxxxxxxxxxxx" # 钉钉应用 AppKey(必填) appSecret: "你的AppSecret" # 钉钉应用 AppSecret(必填) robotCode: "dingxxxxxxxxxxxx" # 可选,默认等于 appKey requireMentionInGroup: true # 可选,群聊是否需要@机器人,默认 true idleTimeoutMs: 1800000 # 可选,会话空闲超时(ms),默认30分钟 thinkingIndicator: true # 可选,群聊"正在思考…"提示,默认 true
也可以通过环境变量配置:
export DINGTALK_APP_KEY="dingxxxxxxxxxxxx"
export DINGTALK_APP_SECRET="你的AppSecret"
🚀 钉钉应用设置
1. 打开钉钉开发者后台,创建企业内部应用
2. 进入「应用能力」→ 添加「机器人」能力
3. 机器人消息接收模式选择 Stream 模式
4. 发布应用并安装到企业
5. 记录 AppKey 和 AppSecret
6. 重启 DSH,日志中出现 ✅ 钉钉机器人已连接 即成功
💬 使用
- 单聊:在钉钉中搜索机器人名称,直接发消息
- 群聊:将机器人加入群聊,@机器人 + 消息内容
🔧 配置项
| 配置项 | 类型 | 默认值 | 说明 |
| appKey | string | $DINGTALK_APP_KEY | 钉钉应用 AppKey(必填) |
| appSecret | string | $DINGTALK_APP_SECRET | 钉钉应用 AppSecret(必填) |
| robotCode | string | 同 appKey | 机器人编码 |
| requireMentionInGroup | boolean | true | 群聊是否需要 @机器人 |
| idleTimeoutMs | number | 1800000 | 会话空闲超时(毫秒) |
| thinkingIndicator | boolean | true | 群聊思考提示 |
| presetId | string | 'standard' | Agent preset,决定可用的工具和 skill 列表。standard 包含完整的文件编辑、Shell、Skills、子代理等能力;设为 minimal/code/cordis 可切换为精简模式 |
🐛 常见问题
机器人不回复?
- 确认应用已发布并安装
- 确认机器人选择了 Stream 模式(不是 HTTP 模式)
- 检查 DSH 日志是否有 ✅ 钉钉机器人已连接
- 群聊中需要 @机器人(requireMentionInGroup 为 true 时)
Node.js 25 连接成功但收不到消息?
- 本插件已修复此问题:在导入 dingtalk-stream 前强制将 ws 包设为全局 WebSocket
- 如果自行集成,需确保 globalThis.WebSocket = require('ws')
钉钉机器人找不到 skill?
- 本插件默认挂载 standard agent preset,该 preset 包含 skill-filesystem 和 tool-skill,可自动发现 ~/.agents/skills/ 下的所有 skill
- 可通过 presetId 配置项切换 preset(如 minimal/code/cordis)
- 注意:DSH 的 dsh-web-app bundle 在 host 层面禁用了 skill-filesystem/tool-skill,必须通过 agent preset 挂载才能使用 skill 系统
📁 项目结构
dsh-plugin-dingtalk/
├── lib/
│ ├── index.js # 插件入口:SDK 启动、消息路由、@提及判断 │ ├── session-bridge.js # 会话桥接:钉钉 ↔ DSH Agent 多轮对话 │ └── dingtalk-api.js # API 辅助:sessionWebhook 回复 + Markdown 格式化 ├── cordis.patch.yml # DSH bundle 注册 ├── package.json ├── LICENSE └── README.md
📄 License
MIT
Features
- Stream Mode: No public IP/domain/port required — bot connects outbound to DingTalk gateway
- Multi-turn Chat: Each DingTalk conversation maps to a dedicated DSH Agent with full context
- Tool Calling: Agent can invoke all DSH tools (terminal, files, MCP, browser, etc.)
- Markdown Rendering: Replies are automatically formatted as DingTalk Markdown
- Group @mention: Responds only when @mentioned in groups; direct chats work instantly
- Session Persistence: Conversation history survives DSH restarts
- Auto-reconnect: Exponential backoff reconnection on network failures
- Idle Cleanup: Agents are disposed after configurable idle timeout
Install
dsh plugin --profile desktop add dsh-plugin-dingtalk
Quick Start
1. Create an enterprise internal app on DingTalk Open Platform
2. Add the Robot capability, set message receiving mode to Stream
3. Publish and install the app
4. Configure appKey and appSecret in cordis.patch.yml
5. Restart DSH — look for ✅ 钉钉机器人已连接 in logs
6. Message the bot on DingTalk!
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
838997125/dsh-plugin-dingtalk
在钉钉里与 Agent 对话并调用工具
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7
这是你的仓库?认领条目