lark-agent-bridge
Feishu/Lark bridge for local coding agents — one group, one conversation, one pinned runtime. Bridges dsh, CLI agents (traex/codex), an IDE window, or a custom agent behind one gateway.
What it is
Feishu/Lark bridge for local coding agents — one group, one conversation, one pinned runtime. Bridges dsh, CLI agents (traex/codex), an IDE window, or a custom agent behind one gateway.
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add @bihangchi9/lark-agent-bridge@0.0.3
DSH versions accepted
Undeclared
Author and traction
bihangchi9-creator · ★ 34 · Updated 2026-09-18
About this plugin
Lark Agent Bridge
npm package: @bihangchi9/lark-agent-bridge · git repo: lark-agent-bridge A Feishu / Lark bridge for local coding agents — *one group, one conversation, one pinned runtime*. Bridges dsh (in-process plugin), CLI agents (traex / codex, spawned by a daemon), an IDE window (attached over a socket), or a custom agent — behind one gateway.
中文 README
Send a message in a Feishu chat, and a real coding agent — with its own tools, its own project directory, and its own persistent conversation — answers you right there. Each group chat is an isolated workspace pinned to exactly one runtime, so a team can run several projects (and several agents) in parallel, one per group. What it does Feishu ⇄ your agent. Inbound Feishu messages drive a live agent; the reply streams back onto a live-updating Feishu message. The agent is whichever runtime this chat is pinned to (dsh / CLI / IDE / custom). Four host classes, one contract. Every runtime implements the same AgentAdapter: dsh runs in-process as a plugin; CLI spawns traex/codex; IDE attaches a running window; custom loads your own module. They never silently replace each other. One group, one conversation, one pinned runtime. Every chat id maps to a stable directory ( / ) and one runtime chosen with /agent. Different groups never touch each other's files, and a message is never broadcast to several agents. If the pinned runtime is down (e.g. an IDE window closed), that chat fails closed instead of retargeting. Persistent per-chat sessions. A chat's conversation survives restar
The bot registration lives entirely on Feishu. The gateway connects out to Feishu over a long-lived WebSocket (so no public IP or callback URL is needed). For dsh the gateway *is* the plugin loaded by dsh web; for CLI / IDE / custom it is a separate daemon (node lib/daemon.js), independent of any dsh host.
CLI spawns the binary. IDE attaches a Unix-socket JSONL sidecar owned by the current user and not writable by group/others (chmod 600 /path/to.sock; window closed ⇒ that line dies). Custom loads an AgentAdapter module (see examples/custom-adapter.mjs). One group is still one conversation pinned with /agent; a dead line is not retargeted.
ByteDance-only overlay (SSO, bytecli, extra presets) lives in a local internal/ directory that is gitignored. Do not publish it to this GitHub repo; ship it through the internal skill marketplace. Requirements A working DeepSeek Harness (dsh) checkout you can launch with dsh web. Node.js ^22.19.0 || >=24.0.0. A DeepSeek API key (set DEEPSEEK_API_KEY, or configure it in your dsh credentials). A Feishu account to scan the QR code (the wizard creates the app for you). Install Option 1: npm package (recommended for users)
The released package contains compiled JavaScript, both access-tier presets, the bundled dsh-tool-lark-cli package, and the setup scripts. Install it in a stable directory — dsh links to that location when registering the bundle.
The script preflights Node, installs the lark-workspace / lark-readonly presets, and registers both the bridge bundle and it
Similar plugins
treg
OpenRouter for tools - 4,000+ agent-friendly tools, pay for the usage, not subscription
dsh-im
把微信、飞书、企微、钉钉、QQ、Telegram、WhatsApp、Slack、Discord、Matrix接入DSH。 Connect Telegram, WhatsApp, Slack, Discord, Matrix, WeChat,…
DeepSeekBot
BotHarness — a DeepSeek Harness plugin layer that gives agents a persistent identity (PersonaBots)