README.md

September 7, 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.

Plugin Center

Open Plugin Center below New Session. It occupies the conversation area; the sidebar and right workbench remain available. Installed is the default, with Xiaotaozi, Side workbench, Models and IM bots as built-in capabilities. Discover plugins uses the curated catalog. External top-level plugins appear under Installed and can be removed after confirmation. Removing a package does not promise to delete its credentials, sessions or saved data.

Runtime controls live under Settings → Advanced. The technical Loader inventory is not a user settings page; use xtz doctor for diagnosis.

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, embedded in Plugin Center.
  • 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.
  • Side workbench — files, editor, Git, and terminal in a right-hand panel.
  • Plugin Center — built-in configuration, installed plugins, and curated discovery with one-click install.

See Xiaotaozi DSH

Pre-center examples: these screenshots predate Plugin Center and do not show its new navigation or layout. Replacement captures are pending rendered acceptance.

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

Xiaotaozi DSH welcome dialog

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

Pre-center 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

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

Pre-center 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 pre-center 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-providersPlugin Center → Installed → 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-imPlugin Center → Installed → IM botsNine chat channels plus an experimental AI Office connector. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/im
dsh-wecom-officePlugin Center → Installed → IM bots → WeCom robot cardWeCom calendar, docs, meetings, contacts, sheets, todos, and disk via wecom-cli. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/wecom-office
dsh-xtz-uiPlugin Center → Installed → Xiaotaozi; Settings → AdvancedBrand chrome, archive, task board, git graph, and feature toggles. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/xtz-ui
dsh-sidebarPlugin Center → Installed → Side workbenchRight-hand files / editor / Git / terminal panel. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/sidebar
dsh-marketPlugin CenterInstalled capabilities and Discover plugins; click Install to add a third-party plugin. EN · 中文github:kedoupi/xiaotaozi-dsh#path:plugins/market

Third-party Market

Plugin Center → Discover plugins 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