dsh-feishu
DSH Feishu self-built app integration: receives text messages over the official Feishu WebSocket long connection, routes them to a DSH agent session, streams safe assistant text deltas through a Feishu CardKit card, and falls back to ordinary text when card streaming is unavailable. Acknowledges with an OK reaction (text fallback). Standalone Cordis bundle — no dsh source changes.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:andyfan1094/dsh-feishu说明文档
阅读完整 README ↗Profile configuration
Add the plugin to the profile bundle list and configure the row in the profile patch. The shipped bundle row is disabled until credentials are configured:
- id: dsh-feishu
config:
enabled: true
appId: cli_xxx
appSecret: your-secret
allowUsers:
- ou_xxx
ack: true
ackReaction: OK
provider: ''
model: ''
reasoningEffort: ''
agentPreset: cordis
The allowUsers list is required for business messages. An empty list rejects all users.
Leave both provider and model empty to follow the current DSH default selection. The Web panel reads reasoning efforts from llm.resolveModelInfo(provider, model) and only offers efforts the selected model declares.
Changing provider, model, reasoning effort, or Agent preset disposes every live Feishu Agent. The update is transactional: if the replacement bridge cannot start, the stored configuration and prior bridge are restored. Session ids use a v2 configuration fingerprint, so legacy sessions without meta.agentPreset remain preserved but are not resumed under a different tool composition; the next Feishu message creates or resumes the matching v2 session.