ttmouse/dsh-dingtalk-channel ↗★ 0
dsh-dingtalk-channel
DSH 钉钉机器人通道插件:通过 Stream 模式长连接,使钉钉群聊或私聊直接驱动 DSH 智能体进行交互。
AI 分析
核心用途是将 DSH 的 AI 能力接入钉钉办公生态。适合企业或团队用户,通过简单的钉钉 @ 交互即可在聊天中调用 DSH 智能体解决问题。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ttmouse/dsh-dingtalk-channel說明文件
閱讀完整 README ↗3. 配置凭证
~/.dsh/profiles/web/cordis.patch.yml 里覆盖该行(也可用 !!js process.env.… 走环境变量):
- id: dingtalk-channel
name: 'dsh-dingtalk-channel'
config:
clientId: !!js process.env.DINGTALK_CLIENT_ID
clientSecret: !!js process.env.DINGTALK_CLIENT_SECRET
botName: 我的助手 # 用于剥离群消息 @ 前缀(不配则剥离首个 @… 词元)
# preset: standard # 挂进会话 agent 的 preset(部署组合了 roster 时)
# cwd: /path/to/workspace # 默认宿主进程 cwd
# sessionScope: chat # chat-sender 让共享群里每人一个 agent
# sendReceipt: true
# emotion: true # 消息上贴 🤔思考中 表情,回复完成自动撤回(替代文字回执)
requireMention: true
export DINGTALK_CLIENT_ID='ding...'
export DINGTALK_CLIENT_SECRET='...'
dsh web
dsh web 启动日志里出现 dsh-dingtalk-channel 的凭证校验通过(无缺凭证告警)后,私聊机器人发 /ping 应收到 pong。
⚙️ 配置
| 字段 | 默认 | 含义 |
|---|---|---|
clientId / clientSecret | — | 钉钉应用凭证(必填) |
botName | — | 机器人昵称;配置后只在群消息首个 @ 匹配时才剥离 |
cwd | 宿主 cwd | 会话 agent 工作目录 |
workspaceRoots | [] | /cd 可达目录前缀(空=任意) |
provider / model | 宿主默认 | 会话 agent 模型路由 |
preset | roster 默认 | 会话 agent 挂载的 preset |
sessionScope | chat | chat / chat-thread(=chat) / chat-sender |
sendReceipt | true | 每条消息先发回执(emotion 开启时被替代) |
emotion | true | 消息上贴 🤔思考中 表情表示已读/处理中,回复完成自动撤回 |
denyTools | [ask_user_question, exit_plan_mode] | 会话 agent 禁用的工具 |
requireMention | true | 群聊仅被 @ 时响应 |
senderAllowlist | [] | 单聊 staffId 白名单(空=应用可见范围内任何人) |
groupAllowlist | [] | 群会话白名单(空=任何群) |
approvers | [] | 可回答审批的 staffId(空=能驱动该会话的人) |