DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-plugin-feishu

w

dsh-plugin-feishu

Manifest valid

Feishu/Lark channel for DeepSeek Harness: CardKit 2.0 streaming cards, thinking folds, tool-call tracking, waterfall approvals and multimodal I/O over an outbound WebSocket — no public endpoint requir

UI (client)hasBundlePatch

dsh-plugin-feishu

Chat with your DeepSeek Harness agent from Feishu / Lark.

English · 中文

Streaming cards, thinking folds, tool-call progress, approvals and images — right inside the chat app your team already uses. No public IP, no webhook endpoint, no port forwarding.

Feishu streaming card


What you get

One card that builds itself as the agent thinks

The answer isn't a wall of text dropped at the end. A single Feishu card opens the moment you send a message and fills in live: tool calls appear as they run, reasoning streams into a fold, and the final answer types itself out.

  • Tool-call tracking — every search, shell command or file read shows up with its arguments and elapsed time
  • Thinking folds — reasoning stays visible but collapses itself once the answer starts, so the card stays short
  • Footer stats — status, wall time, model name, token count and cache hit rate on one line: ✅ 已完成 · 24s · gemini-3.8-flash · 33.0k tokens · 缓存 90%
  • Markdown that renders — headings, lists, links, code fences and tables come out looking like they should

A settings page, not a config file

Everything is configured from DSH Settings → Feishu Channel. Credentials, owner, directories and feature switches all live in the GUI.

Feishu channel settings: credentials, owner, directories

  • Save & verify — one click saves, authenticates against Feishu, sends you a real test message and provisions the workspace
  • QR pairing — scan a code with the Feishu app and your Open ID fills itself in
  • Secrets stay server-side — the App Secret is never sent back to the browser; the UI only ever shows a mask

Feature switches

Feature switches and QR pairing

SwitchWhat it changes
CardKit 2.0 streamingLive-updating cards instead of a plain text reply
Thinking foldsShow reasoning in a collapsible panel
Tool trackerShow tool calls as status lines
Multimodal I/OReceive images and send local images back
Group chatAllow @-mentioning the bot in groups

Built for a shared machine

  • One owner only — the bot can touch files and run commands, so it answers exactly one Feishu account. Leave the owner empty and the first person to message it is bound and told so; everyone else is rejected from then on.
  • Its own workspace — Feishu sessions are grouped under a dedicated workspace, so they never mix with your browser sessions. They persist across restarts.
  • Its own directory — attachments, agent artifacts and a message audit log live in one folder you choose.
  • Replies in thread — every answer is a reply to your message, not a loose new one.
  • No inbound port — the connection is outbound only.

Install

dsh plugin --profile web add dsh-plugin-feishu
dsh --profile web

Then open DSH Settings → Feishu Channel, paste your App ID and App Secret, and press Save & verify.

Feishu app setup

In the Feishu Open Platform, on your self-built app:

  1. Permissions — im:message, im:message.p2p_msg:readonly, im:resource (plus im:message.group_at_msg:readonly for group chat).
  2. Events — subscription mode "Receive events through long connection", then add im.message.receive_v1 and card.action.trigger.
  3. Publish — release a version after changing scopes or events.

Step 2 is the one people miss. If replies never arrive but sending works, check it first.

Requirements

  • DSH 0.2.x, Web profile
  • Node >=20
  • A self-built Feishu app with long-connection event subscription

Troubleshooting

ERR_PNPM_IGNORED_BUILDS: protobufjs — pnpm blocks the postinstall of a transitive dependency of the Feishu SDK. Allow it once and reinstall:

# ~/.dsh/profiles/<profile>/pnpm-workspace.yaml
allowBuilds:
  protobufjs: true

Messages arrive but replies don't — the event subscription mode is still webhook. Switch it to long connection and publish a version.

Sessions land under "Ungrouped" — press Save & verify once; it provisions the workspace. Sessions created before that stay where they are.

License

MIT

Comments

Loading…

Similar plugins

dsh-feishucard

by cmfok

DeepSeek Harness <-> Feishu (Lark) bridge with streaming reply card / 自研 DSH 飞书桥:长连接 + 流式回复卡片(工具面板/状态符号/限流熔断兜底)

Tools & CapabilitiesNotifications & IntegrationsManifest valid

★ 3

↓ 286/wk

MIT

JavaScript

Oct 26, 2026

dsh plugin --profile web add dsh-feishucard

by itsnone-liu

Feishu/Lark bridge for DeepSeek Harness (dsh) — long-connection, card streaming, slash commands

Manifest valid

★ 0

JavaScript

Oct 31, 2026

dsh plugin --profile web add dsh-feishu

Feishu/Lark channel that drives DeepSeek Harness agents from chats: streaming rich cards with live thinking and tool steps, per-turn cost metering at DeepSeek peak/off-peak rates, one-tap approval car

Tools & CapabilitiesModels & ProvidersManifest valid

★ 0

dsh plugin --profile web add dsh-feishu-channel

by JMOKSZ

Feishu (Lark) entry point for DeepSeek Harness: drive dsh agents from a Feishu bot with streaming cards, ask/approval buttons and attachments.

Notifications & IntegrationsManifest valid

★ 5

↓ 42/wk

MIT

JavaScript

Oct 8, 2026

dsh plugin --profile web add @jmoksz/lark-bridge

by caoxiaohu7745-bot

Feishu bridge for DeepSeek Harness (derived from dsh-im-bridge): WebSocket long connection, approval cards, group @-mention-only replies, streaming card updates, /stop command.

Notifications & IntegrationsManifest valid

★ 0

JavaScript

Aug 15, 2026

dsh plugin --profile web add kongmu-im-bridge

by yangzhaofeng496

Feishu bot bridge plugin for DeepSeek Harness

Tools & CapabilitiesManifest valid

★ 4

↓ 1.6k/wk

MIT

JavaScript

Aug 17, 2026

dsh plugin --profile web add dsh-feishu-plugin