@addozhang/dsh-discord
Discord-first adapter for DeepSeek Harness
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:addozhang/dsh-discord说明文档
阅读完整 README ↗Configuration
All keys live in the dsh-discord settings namespace and can be set either from the settings card or by editing the profile's user settings (settings.yaml):
| Key | Default | Meaning |
|---|---|---|
enabled | false | Adapter master switch; the card's Connect starts it once a token is stored. |
allowedGuildIds | [] | Guild allowlist. Anything outside is ignored with zero adapter or DSH calls. |
memberUserIds / memberRoleIds | [] | Member-level authorization inside an allowed guild. |
administratorUserIds / administratorRoleIds | [] | Workspace-administrator level (/project bind). |
deniedUserIds / deniedRoleIds | [] | Deny entries; they win over every grant above. |
hostOperatorUserIds | [] | Host operators (/guild forget; /model select when modelSelectOperatorOnly is enabled). |
modelSelectOperatorOnly | false | Restrict /model select to Host operators (settings.yaml only; the card does not expose it). Default false: any authorized member may switch, and the switch still updates the Host default. |
defaultVerbosity | essential-tools | Tool-activity row granularity: text-only, essential-tools, or full-tools. |
language | auto | Bot-visible copy language: auto follows the DSH language preference (non-Chinese renders English), or pin zh/en. |
streamUpdateIntervalMs | 800 | Coalescing budget for stream edits (250–10000). |
typingIntervalMs | 7000 | Typing-indicator heartbeat (1000–30000). |
approvalTimeoutMs | 600000 | Approval ask deadline (30000–86400000); overdue asks auto-reject. |
questionTimeoutMs | 1800000 | Question ask deadline (30000–86400000); expiry cancels the owning turn. |
threadAutoArchiveMinutes | 1440 | Task-thread auto-archive: 60, 1440, 4320, or 10080. |
dsh-discord:
allowedGuildIds: ["1517134847850709032"]
language: auto
The settings card exposes the three high-frequency fields (guild allowlist, auto-archive, language) plus the connection and token surface; every other key is fully supported through settings.yaml. An invalid stored section preserves the last known-good configuration.
