sliverp/DeepSeek-harness-dingtalk
DingTalk Stream text and image channel plugin for DeepSeek Harness
A DingTalk channel plugin for DeepSeek Harness powered by the official dingtalk-stream SDK: direct/group policies with allowlists; text, Markdown, rich-text, voice transcription, image, and ordinary-file input; official downloadCode retrieval for images/files stored in the Agent workspace; model-aware multimodal input with text-only fallback metadata; native DingTalk Markdown replies plus generated-image and workspace-file upload; full Harness Agent Loop execution with structured tool events and final-visible-reply-only delivery. Persistent isolated sessions that restore their Agent preset; same-conversation /approve and /reject; /new, registered slash commands, and bot commands. Dormant startup when unconfigured.
Install
pnpm dsh plugin --profile web add github:sliverp/DeepSeek-harness-dingtalkpnpm dsh plugin --profile web add github:sliverp/DeepSeek-harness-dingtalk (or local checkout path). Then configure DingTalk: create an internal application in the DingTalk developer console, add the robot capability, copy Client ID (formerly AppKey) and Client Secret (formerly AppSecret), put Client ID in DINGTALK_CLIENT_ID and the Client Secret under the Harness credential reference DINGTALK_CLIENT_SECRET (or ~/.dsh/.env). Requires Node.js 22.19+, pnpm 10.33.4, DSH 0.1.0-rc.7+.
Compatibility
DSH 0.1.0-rc.7+; Node.js 22.19+; pnpm 10.33.4. Uses dingtalk-stream SDK WebSocket delivery — no public callback server; a Client ID and Client Secret are sufficient for an application robot.
Details
- Repo: sliverp/DeepSeek-harness-dingtalk
- Category: Messaging & Communication
- Stars: 3
- Version: GitHub source (no npm package; installs via github: URL)
- Last push: 2026-08-19
- First seen: 2026-08-13
Recent updates
DingTalk Stream WebSocket channel; voice transcription + image/file input; structured tool events; /approve + /reject; dormant startup when unconfigured.
FAQ
- Do I need a public callback server?
- No — it uses the official dingtalk-stream WebSocket, so only a Client ID and Client Secret are needed.
- What input types are supported?
- Text, Markdown, rich-text, voice transcription, images, and ordinary files — with model-aware multimodal input.
- Does it support approvals?
- Yes — same-conversation /approve <code> and /reject <code> for one-shot tool approvals.
Alternatives
STARDUSTLC666/dsh-dingtalk · ttmouse/dsh-dingtalk-channel · STARDUSTLC666/dsh-calendar