DeepSeek Harness Didn’t Build a Mobile Client, So Someone Filled the Gap with a Lark Plugin
dsh-lark-agent connects DeepSeek Harness to a phone through Lark DMs: tool steps stream into a single card, risky operations wait for you to tap confirm, and they won’t execute if you don’t approve within 5 minutes; sessions and data stay on the local machine. There are two pitfalls before installation: one is Lark CLI’s config init, and the other is pnpm’s build approval.
DeepSeek Harness runs on desktop. If the computer is off, asleep, or you’re not at it, you can’t use it. The official team doesn’t seem to be in a hurry to build a mobile client.
The author Nirvana took a different approach: without touching the Harness core, using its plugin system plus Lark DMs to connect the desktop Harness to a phone. The project is called dsh-lark-agent, open sourced under the MIT license, and is not an official product.
On the Lark side, it’s a separate DM conversation and won’t take over conversations already open in the desktop app or on the web. You send a task from your phone, and Harness uses local tools to do the work: search the web, read pages, browse workspace files. The process isn’t a black box: reasoning steps and tool calls stream one by one into the same card, and at the end it appends the model, thinking depth, and permission mode used for this run.
Approval is the most practical part of this setup. Before Harness runs a command or modifies a file, Lark pushes a confirmation card; tap “Allow once” or “Deny.” Someone in the comments asked: if there’s no response on the phone, does Harness keep waiting or cancel? The README is clear: if there’s no reply within 5 minutes, it won’t execute. It neither hangs indefinitely nor bypasses the check and runs secretly.
Permissions can be switched. Use /permission or the settings in the bottom menu to switch between read-only, workspace edits, and full permissions. If you choose full permissions, confirmation prompts no longer appear. After you tap a card, it turns green in place.
There are a few other handy features: if you ask for a result file, it sends it straight from the workspace to the chat; if you say “from now on, lead with the conclusion,” it remembers; /sessions returns to an old topic, and /new starts a new conversation; if you ask for a bar chart, it returns a native Lark chart card; if you ask for an architecture diagram or report, it creates a Lark doc, puts the diagram on a whiteboard, and shares it read-only with you alone; /model and /thinking switch between models and thinking depths configured on the local machine.
Installation isn’t too complicated, but there are two pitfalls.
Prerequisites are that Harness can chat normally and has a default model selected: PC App 0.2.1-rc.3 (rc.2 also works) or Web / dsh CLI 0.1.1-rc.2. First install the official Lark CLI on the same machine:
npm install -g @larksuite/cli@1.0.98
lark-cli --version
Do not run lark-cli config init, and do not run auth login. The plugin creates its own CLI profile when you scan the QR code, and config init may overwrite an existing profile.
Desktop App install: sidebar → Plugins → Add plugin, enter dsh-lark-agent, install, enable immediately, and restart when prompted.
CLI install:
dsh plugin --profile web add dsh-lark-agent --allow-build=protobufjs
Then restart dsh web. --allow-build=protobufjs lets a dependency of the Lark SDK run its install script; without it, pnpm 11 reports ERR_PNPM_IGNORED_BUILDS and the plugin can’t be enabled. If you already hit the error, run:
dsh plugin --profile web approve-builds '!protobufjs'
Connect to Lark: Settings → Built-in plugins → Lark (on Web: Settings → Plugins → Lark), click to create and connect via QR code. Scan with your own Lark account to approve; if your organization requires admin approval, approve it and then click recheck. Then open the Lark DM and, using the same account you scanned with, send the pairing phrase (DSH-…, valid for 10 minutes) as a separate plain-text message; when the page asks, click “This is me, complete connection.” Once it shows connected, you can send messages.
There’s a hard limit: the host must be online. If the app is closed, the Web host is stopped, or the computer is asleep, Lark can’t be used. Sessions and memory stay on the computer running Harness; messages pass through Lark and the model provider.
For compatibility, PC App 0.2.1-rc.2 and dsh CLI / Web 0.1.1-rc.2 have been fully verified. rc.3 passed real host contract tests, and the plugin can load and connect, but first-time QR setup on rc.3 hasn’t been tested. Other versions, platforms, and tenants have not been verified.
The value of this project isn’t Lark itself. Lark is just a channel. It puts Harness’s plugin system to use and answers the question “what do I do when I’m not at the computer?” Approval moves onto the phone, and you have to judge for yourself where the line between convenience and safety lies.
Project URL: https://github.com/Nirvana-Jie/dsh-lark-agent
发布时间: 2026-10-25 01:27