Feishu/Lark gateway for DeepSeek Harness with topic-persistent conversations, live execution cards, image and file inputs, in-chat approvals and questions, source allowlists, and durable one-time or recurring agent tasks created in natural language.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-lark-claw
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Illuminated2020/dsh-lark-claw
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
Use DeepSeek Harness from Lark or Feishu and let your bot handle tasks.

Message the bot directly or mention it in a group to explore a project, analyze a file, or schedule a reminder. Follow progress in a live card and continue the conversation in the same topic.
- Ongoing conversations: Keep context per topic and continue after a service restart.
- Live progress: See responses and tool activity directly in chat.
- Images and files: Ask about a screenshot or reply to a file message to process it.
- Scheduled tasks: Set one-time reminders or recurring tasks in natural language.
Quickstart
You need dsh 0.1.2-rc.1 or later, Node.js ^22.19.0 or >=24.0.0, pnpm, and a Lark/Feishu app. Make sure your model and API key already work in dsh.
Configure the app in the Lark/Feishu developer console:
- Enable the bot capability.
- Select long-connection event delivery and subscribe to
im.message.receive_v1. - Grant the app-identity permissions needed to receive, send, read, and download message resources. Responding to group messages without a bot mention also requires
im:message.group_msg. - Publish the app or add test users to its availability scope. Add the bot to each group where it will be used.
Install the plugin:
dsh plugin --profile feishu add dsh-lark-claw
Without an explicit version, this installs the npm latest release. To upgrade an existing installation, run the command below and then restart the running dsh --profile feishu process:
dsh plugin --profile feishu update dsh-lark-claw@latest
dsh plugin uses pnpm to manage the profile. If the required version is not yet on npm, follow the local source installation instructions.
Configure your bot:
Use the example configuration to fill in ~/.dsh/config.yaml (or the directory set by DSH_HOME). Merge the required fields if you already have a configuration.
- Enter your app's App ID and App Secret.
- Set the users and groups allowed to use the bot.
ou_xxxis a user open_id andoc_xxxis a chat_id. The example enables a direct-message allowlist, so leaving its placeholder rejects every direct message. - Choose an absolute workspace path for the bot's files and configure an available model.
See the configuration guide for field descriptions.
Start:
dsh --profile feishu
Keep the process running. Send the bot a direct message or mention it in an allowed group; once it replies, you're ready.
Usage
Work on a task
@bot Look through this project and explain how to run it.
The bot shows progress in a card. Reply in the same topic to continue working on the task. Group messages require a bot mention by default.
Ask about images and files
Send an image with your question. Image understanding requires a model that accepts image input.
If a file must be sent separately, send it first, then use Lark/Feishu's reply action on that file message and mention the bot:
@bot Summarize this file and highlight what needs my attention.
File format support depends on the Agent's available tools.
Schedule a reminder
@bot Remind me to check project progress at 9 a.m. every weekday.
You can also ask it to list or delete reminders. Scheduled tasks are saved, but the service must be running when they are due.
Approvals and questions
When an operation needs permission, the bot posts an Allow once / Reject card in the same topic. Questions appear as choices or text fields; submitting an answer continues the task. Only the user who started the current task can respond. Requests expire after ten minutes by default.
Enable card interaction callbacks in your Feishu app first; see interaction setup.
Commands
| Command | Action |
|---|---|
/help |
Show help |
/status |
Check the current conversation's status |
/stop |
Stop the current task |
/reset |
Start a new conversation in the current topic |
More documentation
- Configuration, updates and background operation
- Scheduled task API
- Attachment storage
- Local development
- Release maintenance
License
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-remote-web-ui★ 9321
Remote control of a dsh web workspace from phone or PC: QR-code pairing through a token-gated channel, SSE real-time sync, and separate mobile and full desktop GUI modes.
zhu1090093659/dsh-web#packages/dsh-ssh★ 9321
SSH ops panel for DSH: web terminal, SFTP transfer with progress, local port forwarding, and one-command cluster execution across hosts; agents share the same host config.
saya-ch/dsh-mobile★ 569
Access DeepSeek Harness from the Android app or a mobile browser with secure LAN and remote connections, persistent device pairing, and a customizable mobile interface.
liguobao/ds-harness-remote★ 516
Multi-device remote access for DeepSeek Harness and supported coding workspaces through an end-to-end encrypted channel, with adaptive Relay/WebRTC transport, device authorization, workspace files, read-only previews, terminals, and optional Codex Remote.
ZSeven-W/dsh-ios★ 337
A live iOS Simulator or USB-connected iPhone inside the conversation: 22 agent tools for booting, building, driving the UI by accessibility identity or OCR text, list-row actions and SwiftUI preview hot reload, plus a streaming sidebar panel you can tap and drag on.
wenbin-wb/dsh-bridge★ 211
Remote and mobile access for DeepSeek Harness: provides LAN QR code connection, Cloudflare/custom tunnels, WeChat, QQ, Feishu, Telegram bot integration, and security authentication.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.