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.

Messaging & Communication ★ 3 updated 2026-08-19 ⏳ pending
View on GitHub ↗

Install

pnpm dsh plugin --profile web add github:sliverp/DeepSeek-harness-dingtalk

pnpm 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

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

More plugins in Messaging & Communication

Browse more in Messaging & Communication

Guides for Messaging & Communication plugins