Foreword¶
The DSH ecosystem emphasizes “everything is a plugin,” and many scenarios require viewing and controlling the runtime status of DeepSeek Harness outside of the terminal. dsh-lark-bridge leverages Feishu/Lark as the control plane, linking Lark messages, group chats, topic threads, and Harness Sessions. Below, we introduce what it is, what it can do, and how to install and verify it.
What Is This¶
imetn/dsh-lark-bridge is a bidirectional controller for DeepSeek Harness using Feishu/Lark. The repository owner is imetn, and it is licensed under MIT.
It is used to start, resume, steer, stop, recover, and inspect DeepSeek Harness Sessions from Feishu/Lark. The README states it was tested with DeepSeek Harness 0.1.0-rc.6, and Harness is still in developer preview.
The runtime requirements are:
- Node.js 22+
pnpm- A configured DeepSeek Harness model
- Installed
dshCLI or access to official Harness source code nearby
It uses WebSocket long connections and does not require a public webhook service.
Core Features¶
dsh-lark-bridge provides the following verified capabilities:
- Supports starting, resuming, steering, stopping, recovering, and inspecting DeepSeek Harness Sessions from Lark.
- Can map each Lark group to a Harness Project, working directory, model routing, access policy, and card preset.
- By default, maps each topic/thread to an isolated Session.
- Can update running, completed, blocked, canceled, or failed status on a native card.
- Supports approving single tool calls or answering structured Agent questions via card buttons.
- Supports receiving text, images, and files, and can return secure workspace files via
lark_deliver. - Supports selecting
compact,standard, ordevelopercard detail levels by Project or Session. - Uses WebSocket long connections and does not require a public webhook service.
Regarding files and approvals, it has the following limitations:
- Outbound files must resolve to regular files within the Project
workspaceRoot, rejecting symlink escapes. - Inbound files use
0700directories and0600files. - A single approval button grants only one operation.
- Cards display bounded tool summaries and do not show hidden model reasoning.
Installation and Enablement¶
First, run the following in the Project directory you wish to control:
pnpm dlx github:imetn/dsh-lark-bridge setup --project "$PWD"
This command sets the current directory as the Project to be controlled.
If using a ByteDance larkoffice tenant, add --brand larkoffice:
pnpm dlx github:imetn/dsh-lark-bridge setup --project "$PWD" --brand larkoffice
If you already have an App Secret, you can use:
printf '%s' "$LARK_APP_SECRET" | pnpm dlx github:imetn/dsh-lark-bridge setup --project "$PWD" --app-id cli_xxxxxxxxxxxxxxxx --app-secret-stdin
The automatic creation flow is fixed with createOnly: true and does not allow selecting or modifying existing applications.
If you proceed with the manual application flow, you need to enable bot capabilities, select long connections, publish versions, and configure specified permissions, message events, and card callbacks; retain group @ permissions instead of requesting all group messages.
Typical Usage¶
After installation, you can verify the status.
- Send the following in the bot DM:
/status
- Run locally:
pnpm dlx github:imetn/dsh-lark-bridge doctor
If multiple Projects exist, you can send the following in a group to bind the current group:
@bot /bind <project-id>
Common control commands are:
/steer <text>
/stop
/new
/sessions
/resume <id>
Their meanings are:
/steer <text>: Steer the current running step or supplement context./stop: Cancel the current task./new: Create a new Session./sessions: List Sessions./resume <id>: Resume a specified Session.
Additionally, note:
dsh --profile lark
Only starts the Bridge and does not expose an HTTP page. http://127.0.0.1:3080 belongs to the separate dsh web command.
Use Cases and Considerations¶
It is suitable for DSH plugin users who wish to integrate DeepSeek Harness Sessions into Feishu/Lark collaboration scenarios, such as:
- Initiating tasks from DM, group chats, or topic threads.
- Mapping different Lark groups to different Harness Projects.
- By default, isolating Sessions by topic/thread.
- Viewing running, completed, blocked, canceled, or failed status via native cards.
- Using card buttons to approve single tool calls or answer structured Agent questions.
- Receiving text, images, and files as needed, and returning workspace files via
lark_deliver.
Please note: As a DSH plugin, it runs related capabilities under the current dsh process permissions. Before installation, review the source code and MIT license. Since DeepSeek Harness is still in developer preview and dsh-lark-bridge was tested with 0.1.0-rc.6, actual usage should adhere to the current Harness version and permission boundaries.
Conclusion¶
The value of dsh-lark-bridge lies in centralizing the control, status, approvals, and file interactions of DeepSeek Harness Sessions within Feishu/Lark conversations, while maintaining WebSocket long connections, project mapping, and file boundary checks.
The directory page URL is not provided in the verified facts for this article; no specific address is listed. GitHub repository:
https://github.com/imetn/dsh-lark-bridge