Foreword¶
DeepSeek Harness (dsh) encapsulates agent capabilities into a pluggable plugin system, but default interactions mostly occur in terminals or local processes. Teams collaborate daily on Feishu (Lark). To integrate dsh into an IM, one typically needs to build a bot, configure app credentials, and connect slash commands with approval workflows.
dsh-feishu (npm package name: @dsh-feishu/dsh-feishu) is a native client plugin for dsh released by maintainer PGZXB. Feishu chat becomes a dsh session; the control panel turns each slash command into a card button; approvals and questions are handled within cards; and output is presented as streaming cards. This article introduces its positioning, capabilities, and installation usage.
What Is This¶
dsh-feishu is the Feishu UI for DeepSeek Harness, classified as a client plugin. In one sentence: a panel-driven console where each command is a button on control panel cards, supporting in-card approvals and questions, streaming cards, and one-click configuration of Feishu apps via QR code scanning.
The plugin is released under the MIT license. The current npm version is 0.2.0, requiring Node.js ≥ 22.13. The README notes that dsh is still in pre-release (0.1.0-rc.x) and may have breaking changes between versions; both the main branch and npm @latest track dsh 0.1.1-rc.2.
Community directory page: https://www.skillhub.cn/plugins/PGZXB/dsh-feishu (SkillHub is an independent community site, not officially affiliated with DeepSeek / High-Flyer). Source code and documentation: https://github.com/PGZXB/dsh-feishu.
Core Features¶
Panel-Driven Command Console¶
Sending /panel brings up a control panel card where each button corresponds to a slash command, equivalent to manual input. No need to remember syntax—click to execute /repo, /cd, /model, /sessions, and other operations.
Streaming Output Cards¶
When the agent runs, tool calls, reasoning processes, Markdown, and tables are written to the card in real-time; after completion, the card transitions to a finished state and provides Stop, copy, retry, and return-to-panel buttons.
In-Card Approvals and Questions¶
When permission escalation is required, an approval card is pushed, allowing clicks on Allow once or Reject; when the agent asks a question, it is presented as a card for selection or reply. In group chats, error notifications, approvals, and questions are @-mentioned to the initiator.
Session Persistence and Working Directory¶
Each Feishu chat binds to a dsh session, with the working directory and context preserved after daemon restart. After selecting a directory via 📚 Pick project (equivalent to /repo) or 📁 Change dir (equivalent to /cd <path>), the agent begins executing tasks.
One-Click Configuration via QR Code¶
The dsh-feishu-setup wizard creates and configures a Feishu app via QR code scanning, eliminating the need to manually enter credentials on the Feishu Open Platform. If an app already exists, you can set environment variables or profile configuration for FEISHU_APP_ID / FEISHU_APP_SECRET (see repository docs/feishu-setup.md for details).
Other Capabilities¶
- Group chats and @ mentions: By default, the bot must be @-mentioned; in private chats with only you and the bot, messages can be sent directly, with configurable strategies.
/group <name>creates a group chat with the bot.- Emoji reaction confirmations, chat/user whitelists (
allowedChats/allowedUsers), scheduled reminders (/schedule), session log export (/export), diagnostic cards (/feishu-status).
Installation and Activation¶
Before installation, confirm the Node.js version and install pnpm globally. pnpm ≥ 11 blocks the build script of protobufjs by default; add --allow-build=protobufjs when installing the plugin.
Install from npm (Recommended)¶
# 1. Confirm Node.js ≥ 22.13
node --version
# 2. Install pnpm
npm install -g pnpm
# 3. Add the plugin to the feishu profile
npx @deepseek-ai/dsh plugin --profile feishu add @dsh-feishu/dsh-feishu@latest --allow-build=protobufjs
# 4. Scan QR code to create and configure Feishu app
npx --yes --package @dsh-feishu/dsh-feishu dsh-feishu-setup --new --profile feishu
# 5. Start dsh
npx @deepseek-ai/dsh --profile feishu
Install from Source¶
git clone https://github.com/PGZXB/dsh-feishu.git
cd dsh-feishu
pnpm install
pnpm run build
npx @deepseek-ai/dsh plugin --profile feishu add link:.
pnpm run setup:feishu -- --new --profile feishu
npx @deepseek-ai/dsh --profile feishu
Uninstall¶
npx @deepseek-ai/dsh plugin --profile feishu remove @dsh-feishu/dsh-feishu
# Optional: Delete profile and surface data
rm -rf ~/.dsh/profiles/feishu ~/.dsh/feishu
Typical Usage¶
After starting, send messages to the bot in Feishu. A complete session typically follows this sequence:
- Start chat: Private chat the bot, or send
/group <name>to create a group chat; in groups, @-mention the bot (strategy configurable). - Open control panel: Send
/panel. - Select working directory: Click 📚 Pick project or 📁 Change dir; the bot won’t execute tasks until a directory is set.
- Ask questions: Send messages directly; output streams into the card.
- Handle approvals and questions: Approve permissions or answer questions within the card.
- Manage sessions: Click 🗂️ Sessions to view and resume historical sessions (equivalent to
/sessions); click ➕ New chat to start a new conversation (equivalent to/clear, old sessions are retained).
Common commands at a glance:
| Command | Function |
|---|---|
/help |
List all commands |
/panel |
Open control panel |
/repo [path] |
Select project directory |
/cd <path> |
Set working directory |
/model <provider/model> |
Switch model |
/sessions / /resume <id> |
List or resume sessions |
/clear / /new |
Start new conversation |
/goal <text> |
Set task goal |
/permission <preset> |
Switch permission preset |
/plan [on\|off] |
Enter or exit plan mode |
/export |
Export session log file |
/cancel |
Stop current round |
/feishu-status |
Display surface diagnostic information |
See the Commands section of the repository README for the full list.
Use Cases and Considerations¶
Who is it for: Teams or individuals already using or planning to use dsh for agent development who want to move interactions to Feishu IM; users needing mobile or collaborative click operations and in-card approvals without maintaining a custom bot scaffold.
Please note before use:
- Both dsh and dsh-feishu are in rapid iteration; refer to the dsh version notes in the README before upgrading.
- The plugin runs with the permissions of the current dsh process, able to access file systems and networks reachable by that process; read the source code and MIT license before installation to ensure permissions and whitelist configurations (
allowedChats/allowedUsers) meet your team’s security requirements. - In production environments, it is recommended to first verify
/feishu-statusand permission presets in a small chat scope before expanding usage.
Conclusion¶
dsh-feishu converges dsh’s slash commands, streaming output, and approval workflows into Feishu cards, reducing integration costs with /panel and QR code configuration. If you are already working in the dsh ecosystem for agents and want collaboration centered on Feishu, you can install via npm and follow the Quickstart.
- Community directory: https://www.skillhub.cn/plugins/PGZXB/dsh-feishu
- GitHub: https://github.com/PGZXB/dsh-feishu