How to Use dsh-lark-bot? Put DeepSeek Harness into Feishu
dsh-lark-bot is a Feishu/Lark bridge DSH plugin for DeepSeek Harness: scan a QR code to connect, then drive your local coding agent from DMs, group chats, and threads — with streaming cards, parallel tasks, and a safety-net guardian that keeps you reachable even when dsh crashes.
dsh-lark-bot is maintained by PlutoKeating under AGPL-3.0, written in TypeScript, and verified against dsh 0.1.0-rc.6 (source). It is the most complete Feishu bridge in the DSH-Plugin ecosystem, combining six features in one: safety-net guardian, multi-role agents, parallel tasks, session archiving, cross-session notifications, and in-chat model/key management.
What problem does dsh-lark-bot solve?
DSH runs on your machine, so away from the desk you go dark: no progress updates, no completion alerts, and total silence if dsh crashes. dsh-lark-bot puts a remote control in Feishu — drive the local agent from DMs, group chats, and threads, send images or text files straight to the bot, and get an isolated git worktree project workspace per session automatically (source).
Installing dsh-lark-bot in 3 steps
Prerequisites: DeepSeek Harness (dsh) installed with DEEPSEEK_API_KEY configured, Node.js ≥ 22.19, and a Feishu/Lark account (source).
# ① One-command install (installs into the dsh profile and the safety-net guardian by default)
npx dsh-lark-bot@latest setup --profile dsh-lark
# ② Start
dsh --profile dsh-lark
③ On first start the terminal prints a QR code; scan it with Feishu/Lark to create or select a PersonalAgent app and bind. No public IP, domain, server, or port forwarding is needed (Feishu uses outbound WebSocket connections), and it works on Linux, macOS, and Windows. If you already have an app, skip the scan with DSH_LARK_APP_ID / DSH_LARK_APP_SECRET / DSH_LARK_TENANT. You can also install from the hub: dsh plugin --profile web add github:plutokeating/dsh-lark-bot.
Once bound, DM the bot directly; group chats and threads require @bot by default, with an optional whitelist-protected no-@ mode.
dsh-lark-bot key commands
Every key command starts with / — a single slash command drives the local agent, and /help lists everything.
| Command | What it does |
|---|---|
/new /reset | Start a new session |
/newg <name> | Create a new group chat and session automatically |
/cd <path> | Switch working directory and reset the session |
/ws save <name> | Save the current workspace |
/status | Show current state and running runs |
/stop | Stop the current task |
/timeout [N] | View/set session run timeout |
/concurrency [N] | View/set parallel tasks (default 2) |
/archive /retention [N] | Archive manually / set auto-retention policy |
/help | Show help |
See the full command list in the README (source).
How to use dsh-lark-bot's six signature features?
All six features are triggered by slash commands inside Feishu, available right after QR binding.
- Guardian safety net: a system-level daemon independent of dsh, so Feishu still replies after a crash. Send
/safemodeto enter core-only safe mode (official core, no third-party plugins) to locate/fix/disable broken plugins from chat, then/safemode exitto restore the full profile. - Multi-role agents: define PM, developer, docs roles with
/role save <id> <name> --persona ..., bind with/role set <id>; each run carries the role's persona and rules. - Parallel tasks: run multiple tasks in the same group chat simultaneously with isolated sessions — no queuing; tune with
/concurrency. - Session archiving: keep the session list clean with
/archiveand/retention. - Cross-session notifications: when a task finishes in group A, push proactively to group B or DMs and @ you (
/notify). - In-chat model/key management:
/providers,/provider,/model,/keyopen interactive management cards to hot-switch models and manage providers and credentials without leaving Feishu.
What if dsh crashes?
When dsh goes down or fails to boot, the guardian takes over the Feishu channel automatically. Send /safemode to enter core-only safe mode (dsh-base + dsh-headless), /safemode plugins to list the broken profile's plugins, and /safemode exit to restart the full profile and hand the channel back. It is the only bridge that keeps you connected when dsh dies (source).
Upgrading, disabling, and uninstalling dsh-lark-bot
Upgrade is one command, disable is one environment variable, uninstall is one instruction — all from the terminal.
- Upgrade:
npx dsh-lark-bot@latest upgrade --profile dsh-lark --yes(upgrades the package, idempotently reinstalls and restarts the guardian;--checkreports only,--rollbackreverts). - Disable: export
DSH_LARK_DISABLED=1before starting the profile to keep the plugin loaded but stop the bridge. - Uninstall:
dsh plugin --profile dsh-lark remove dsh-lark-bot; local state stays in~/.dsh-lark.
dsh-lark-bot security: only trust official channels
The only official repository is PlutoKeating/dsh-lark-bot and the only official npm package is dsh-lark-bot (sibling package dsh-feishu-bot). The project never provides Windows executables (.exe); any page, repository, or third-party channel offering an exe or a "download and run" installer in its name is fake/malicious — do not download or run it. Manage keys in DMs or reference environment variables; the bot never echoes key values in replies.
See the dsh-lark-bot plugin page and more DSH plugins in the plugin hub.
FAQ
Run npx dsh-lark-bot@latest upgrade --profile dsh-lark --yes: it upgrades the package, idempotently reinstalls and restarts the guardian, then verifies with doctor. Use --check for a zero-change check and --rollback to revert.
To disable, export DSH_LARK_DISABLED=1 before starting the profile (keeps the plugin loaded but stops the bridge). To uninstall, run dsh plugin --profile dsh-lark remove dsh-lark-bot; local state stays in ~/.dsh-lark, so back it up before deleting if you want to clear it.
The only official repository is PlutoKeating/dsh-lark-bot and the only official npm package is dsh-lark-bot (sibling package dsh-feishu-bot). The project never ships a Windows .exe or a 'download and run' installer; any page or repo distributing an exe in its name is fake/malicious, so do not run it.
Sources
- PlutoKeating/dsh-lark-bot GitHub repository (README)· GitHub
- dsh-plugin.org plugin detail page· dsh-plugin.org