README.md

September 3, 2026 · View on GitHub

xiaotaozi-dsh

dsh-providers dsh-im dsh-wecom-office dsh-xtz-ui dsh-sidebar dsh-market

Xiaotaozi DSH: the xtz CLI as the user product, plus a shared DeepSeek Harness plugin layer.

English · 中文 · Conventions · Workflow · DeepSeek Harness

GitHub stars GitHub issues MIT dsh-plugin Node.js DeepSeek Harness 0.1.1-rc.2

Xiaotaozi DSH is a product bundle on DeepSeek Harness: the xtz command in apps/cli/ is what users install, and plugins/ is the capability layer it seeds. Something broken, or a plugin missing? Open an issue.

Quick start

Requires Node.js ^22.19.0 || >=24.0.0 on PATH:

npm install -g xiaotaozi-dsh-cli
xtz start

The first xtz start prepares the official web profile and seeds every first-party plugin under plugins/, then serves the UI in your browser. Prefer one command? The install script (curl -fsSL https://raw.githubusercontent.com/kedoupi/xiaotaozi-dsh/main/apps/cli/scripts/install.sh | sh) and bun add -g xiaotaozi-dsh-cli install the same CLI; xtz still runs on Node.

Open commands: help/version, start/web, stop, restart, open, status, config path, doctor. Disabled by design: init, plugin, run/ask, config dump/defaults, update. xtz only manages a process it started and never steals port 3080. Full command and safety contract: apps/cli/README.md. The CLI pins DeepSeek Harness @deepseek-ai/dsh@0.1.1-rc.2; other DSH versions are not treated as compatible.

What you get

  • Models — official subscription login and API keys on one page; chat lists only the models you checked.
  • IM bots — nine chat channels (Feishu, WeChat, Slack, and more) plus an experimental AI Office connector, all from the sidebar.
  • WeCom office — calendar, docs, meetings, contacts, sheets, todos, and disk through the official wecom-cli.
  • Xiaotaozi chrome — brand UI and the welcome notice stay on; switches cover archive, task board, git graph, and announce-to-agent.
  • Sidebar workbench — files, editor, Git, and terminal in a right-hand panel.
  • Market — a curated third-party plugin catalog with one-click install.

See Xiaotaozi DSH

A selected product journey gallery, in the order a user meets each surface:

The welcome overlay greets users the first time the web app opens.

Xiaotaozi DSH welcome dialog

Settings → Xiaotaozi keeps brand chrome and the welcome notice on; switches cover archive, task board, git graph, and announce-to-agent.

Settings → Xiaotaozi feature switches

The task board uses a responsive five-column workbench with a truthful empty state and keyboard-accessible actions.

Xiaotaozi task board

The Git graph identifies the current commit, branch references, and merge lanes without replacing the Host Git workflow.

Xiaotaozi Git graph

The right-hand Sidebar workbench keeps files, editors, source control, diffs, and terminals beside the conversation.

Sidebar files panel beside the composer

Settings → Models shows connected vendors, optional smart routing (off by default), and the models chat will offer.

Settings → Models overview and model selection

Add provider lists every vendor a user can still sign in to or key in.

Add provider catalog

Nine chat channels sit in the top tab strip; the shown Telegram empty state leads straight into manual token setup.

IM channel hub: WeCom selected, empty credential form

Telegram manual setup asks for a Bot Token; credentials stay in the Host credential store, not the client bundle.

Manual bot setup: paste a Bot Token

The Market catalog lists curated third-party plugins with search and tabs.

Market catalog with search, tabs, and plugin cards

The plugin detail page shows version, source, and the exact install specification.

Plugin detail with version, source, and install specification

Plugins

One installable package per job; every first-party plugin is seeded on the first xtz start. Each plugin also builds standalone from its github:kedoupi/xiaotaozi-dsh#path:plugins/<slug> Git path.

PackageOccupiesWhat it doesGit path install
dsh-providersSettings → ModelsVendor sign-in, API keys, model selection, and optional smart routing (no online learning, reasoning-effort routing, or durable router audit). EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/providers
dsh-imSidebar → IM botsNine chat channels plus an experimental AI Office connector. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/im
dsh-wecom-officeWeCom robot card in IM botsWeCom calendar, docs, meetings, contacts, sheets, todos, and disk via wecom-cli. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/wecom-office
dsh-xtz-uiSettings → XiaotaoziBrand chrome, archive, task board, git graph, and feature toggles. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/xtz-ui
dsh-sidebarSettings → Side cardRight-hand files / editor / Git / terminal panel. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/sidebar
dsh-marketSidebar → MarketCurated third-party catalog; click Install to add a plugin. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/market

Third-party Market

The Market installs third-party plugins from their upstream Git/npm sources; this repo only keeps the catalog rows in plugins/market (MARKET_PLUGINS) and never vendors those repos. Current entries: Agent Teams, Session Context, and OpenContext.

Official vs sandbox

Two Harness homes, never mixed:

Official (users)Sandbox (plugin development)
Home~/.dsh<repo>/.dsh-home (gitignored)
Commandxtz startpnpm dev
Port30803081
PluginsSeeded by first xtz start; extras via dsh plugin --profile web addlink: from this workspace

xtz and official installs never touch the sandbox; sandbox tooling never touches ~/.dsh.

Learn more

License

MIT