DeepSeekDSH
Independent community guideNot affiliated with DeepSeek.Download versions and guide references

Connect DeepSeek Harness to Feishu / Lark: dsh-im tutorial

Connect Feishu / Lark to local DSH with the community dsh-im plugin. Choose Desktop, npx or global CLI instructions, then verify binding, a read-only task and access restrictions.

Maintained by DeepSeekDSH (independent site)Documentation reviewReference: dsh-im 35f7e790
On this page
Prerequisite: local DSH already responds

Complete a read-only task in a local test folder, then install the plugin using the path that matches your setup and connect the platform. First-task guide →

Step 1 — install dsh-im using your installation method

Choose only the route matching your existing installation. Check plugin/Harness compatibility and use the same active Web profile. Do not enable LAN access just to install a plugin.

Official Desktop users

If your build's in-app plugin manager lists @xmanrui/dsh-im, check compatibility, install it and restart. If the entry is missing, consult the Desktop README for your version; this page has no installation test for that build. To continue with this guide, follow the Web UI plugin setup to create a separate Web profile, then use the npx steps below. This starts a separate Web UI.

I start DSH with npx (no global dsh command)

Keep the same npx prefix as the installation guide. Check the version, install the plugin, then restart:

npx @deepseek-ai/dsh --version
npx @deepseek-ai/dsh plugin --profile web add -w @xmanrui/dsh-im
npx @deepseek-ai/dsh web

Run one command at a time. If you previously pinned @version after the package name, use that same version in all three commands. Do not mix versions while troubleshooting.

I have the global CLI and dsh is available

Use this route only if dsh --version succeeds:

dsh --version
dsh plugin --profile web add -w @xmanrui/dsh-im
dsh web

If dsh is not found, use the npx route above rather than changing system permissions.

Testing unreleased source code (advanced)

Normal installation does not need this route. The author provides the command below for source builds. It downloads and builds a Git dependency; inspect the source and build scripts before executing it.

npx -y github:xmanrui/dsh-im install

After installation and restart, open Settings → IM Bot and confirm the platform card appears in the active profile.

Step 2 — connect Feishu / Lark

For a first setup, use dsh-im's QR creation flow. Expand manual binding if you already have a Feishu app.

  1. Open DSH Settings → IM Bot → Feishu and choose QR creation.
  2. Scan with a Feishu account you manage, complete the requested authorization, publication or installation, then return to DSH and confirm the card is online.
  3. Start with a test-account DM; require an @mention in groups.
I already have a Feishu app: manual binding

Enable the bot capability, subscribe to im.message.receive_v1 and use long-connection event delivery. Publish and install the app, enter its App ID and App Secret in DSH, then save and connect.

Alternative plugin: dsh-lark

If you already use dsh-lark or need its specific features, follow that plugin's installation and compatibility instructions. Keep the two plugins' configurations separate. dsh-lark

Feishu event subscriptions, dsh-lark

Step 3 — verify a read-only task and access restrictions

In the bot card, select a test folder containing no secrets and a configured model. The bot's workspace is saved separately and may differ from the current Web conversation.

In the Feishu DM with the bot, send the following messages one at a time, waiting for each reply.

Send to the bot
/status
/new
List the file names in the current workspace's root directory. Do not modify any files.
  1. /status checks connection status; it does not prove the model can execute a task.
  2. /new unbinds the chat from its old session without deleting that session. The next normal message creates a new session.
  3. Open the new DSH session and its tool log. Check that the workspace path and file names match the local test folder and that no files were modified.
  4. When an allowlist is configured, use another test account you control that is not authorized and confirm a harmless message cannot trigger a task. Do not contact unrelated users for testing.
Success criteria

The connection responds, the workspace and file list are correct, no files change, and access restrictions work. A /status reply alone is not a complete pass.

Feishu / Lark troubleshooting

The IM Bot page is missing

Confirm the plugin is installed in the active profile. Restart DSH Desktop, or restart the Web UI with the same CLI prefix used during installation, then open Settings → IM Bot.

The card stays offline

Check app credentials, publication/installation status and long-connection logs. For QR binding, also check the authorization state.

Messages arrive but the task has no reply

Send /status, then check the model, workspace, Agent Preset and tool permissions directly in local DSH. Remove credentials before sharing logs.

No Feishu events arrive

Check the bot capability, im.message.receive_v1 subscription, long connection, app publication and installation in the target group.

Security

  • Feishu App Secrets and QR authorization sessions are sensitive credentials. Never commit them to Git, publish screenshots of them, or share them in group chats. Revoke or replace exposed credentials on the relevant platform.
  • Start with a workspace without production secrets and keep access minimal. IM messages can trigger local file access, commands and tools.
  • dsh-im is a community plugin, not an official integration from each messaging platform. Review its README, compatibility and changelog before upgrades.
Sources and scope

Pinned dsh-im README, Channel source, Platform documentation, Desktop README

Reference snapshot: 35f7e790. The content update date does not mean an installation was re-tested. Follow the README for your installed version when its interface differs.