toddpan/dsh-xiaozhi ↗★ 0

dsh-xiaozhi

Expose DeepSeek Harness (DSH) Web capabilities to the Xiaozhi voice assistant over MCP: a self-contained DSH bundle that registers DSH as an MCP tool provider on a Xiaozhi MCP endpoint (or as a Xiaozhi-connectable MCP server), plus a DSH Web settings page. · 把小智(Xiaozhi)语音助手接入 DSH:通过 MCP 协议把 DSH Web 的工作区/会话/模型/设置/文件等能力封装成工具供小智语音调用,自带 DSH Web 设置页面。 适合需要通过小智语音助手调用DSH各项能力的智能家居或语音控制场景。

패키지
dsh-xiaozhi
호환성
미검증
Harness peer 범위
>=0.1.0-0 <0.1.1-0 || >=0.1.1-0 <0.1.2-0 || >=0.1.2-0 <0.1.3-0 || >=0.1.3-0 <0.1.4-0 || >=0.1.4-0 <0.1.5-0 || >=0.1.5-0 <0.1.6-0 || >=0.1.6-0 <0.1.7-0 || >=0.1.7-0 <0.1.8-0 || >=0.1.8-0 <0.1.9-0 || >=0.1.9-0 <0.1.10-0
Cordis peer 범위
^4.0.4
버전
0.1.0
라이선스
NOASSERTION
최근 업데이트
2026. 9. 25.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:toddpan/dsh-xiaozhi

8. Configuration

Precedence, lowest first:

  1. code defaults (DEFAULTS in src/config.ts)
  2. the plugin row's config (the profile's cordis.patch.yml)
  3. overrides saved by the settings page (/settings.json)
OptionDefaultMeaning
enabledtruewhile off, no tool can run
modeendpointendpoint / server
endpointUrl''Xiaozhi MCP access point (ws:///wss://, must contain /mcp/)
endpointHeaders{}extra request headers (merged on write)
serverPath/mcp/xiaozhiserver-mode path (must contain /mcp/)
serverPort00 reuses the DSH web server; >0 also listens on 0.0.0.0
serverToken''strongly recommended whenever serverPort > 0
toolModegroupedgrouped / flat
disabledGroups[]disabled capability areas
allowWriteToolstrueallow write operations
promptTimeoutMs120000voice wait limit (must stay below the REST layer's 180000)
maxVoiceChars700reply clipping length
listLimit10list page size
heartbeatMs30000ping interval
reconnectMinMs / reconnectMaxMs1000 / 30000reconnect backoff bounds
apiPathPrefix/dsh-xiaozhi/apibundled REST layer prefix (the settings API is fixed at /dsh-xiaozhi/admin)
exposeDshApitruemount the bundled DSH REST layer
apiKey''auth key for the bundled layer
corsfalseallow cross-origin calls to the bundled layer
defaultCwd''default directory for created sessions
maxUploadBytes104857600upload limit
homeDir''row config only (see below)
logToolCallstruelog every tool call
sendInitializedNotificationtruesend notifications/initialized after the handshake
serverNameDSHannounced service name

Why is homeDir not on the settings page? It decides where the override file lives, so honouring it from that file is circular — the page would show a new directory while overrides kept being written to the old one. homeDir therefore comes only from the plugin row config (or the DSH_XIAOZHI_HOME environment variable) and the page shows it read-only.