Editor's note

PGZXB/dsh-feishu

The Feishu UI for DeepSeek Harness — a panel-driven control console: every slash command a button on the ⚙️ control-panel card, in-card approvals & questions, live streaming cards, one-QR setup.

This is a DeepSeek Harness (DSH) plugin. Review its GitHub README, installation information, maintenance status, and public security signals here.

The Feishu UI for DeepSeek Harness (dsh)

English | 中文

License: MIT Node npm CI dsh

DeepSeek Harness(dsh)做的飞书 UI——一个 dsh 原生插件,带面板驱动的控制台:每个 slash 命令都是 ⚙️ 控制面板卡片上的一个按钮,审批和提问都在聊天卡片内完成,扫一次二维码就把整个应用配好。

注意: DeepSeek Harness 目前仍是预发布版本(0.1.0-rc.x),版本之间可能有破坏性变更。dsh-feishu 紧跟最新版——当前兼容 dsh 0.1.0-rc.7

https://github.com/user-attachments/assets/e9163793-52f2-4e2c-a08a-22b27372be61

2 分半的演示(控制面板、流式卡片、审批与提问)。

快速上手

从 npm 安装

# 1. 安装 Node.js ≥ 22.13
#    macOS / Linux:nvm(https://github.com/nvm-sh/nvm)→ nvm install 22
#    Windows:https://nodejs.org(或 winget install OpenJS.NodeJS.LTS)
node --version

# 2. 安装 pnpm
npm install -g pnpm

# 3. 安装插件
#    (pnpm ≥ 11 默认拦截 protobufjs 的构建脚本——若报
#     ERR_PNPM_IGNORED_BUILDS,在命令后追加 --allow-build=protobufjs)
npx @deepseek-ai/dsh plugin --profile feishu add @dsh-feishu/dsh-feishu@latest

# 4. 扫一次二维码:创建并配置飞书应用
npx --yes --package @dsh-feishu/dsh-feishu dsh-feishu-setup --new --profile feishu

# 5. 启动
npx @deepseek-ai/dsh --profile feishu

从源码安装

# 1. 安装 Node.js ≥ 22.13
#    macOS / Linux:nvm(https://github.com/nvm-sh/nvm)→ nvm install 22
#    Windows:https://nodejs.org(或 winget install OpenJS.NodeJS.LTS)
node --version

# 2. 安装 pnpm
npm install -g pnpm

# 3. 克隆并构建
git clone https://github.com/PGZXB/dsh-feishu.git
cd dsh-feishu
pnpm install
pnpm run build

# 4. 装进 profile
npx @deepseek-ai/dsh plugin --profile feishu add link:.

# 5. 扫一次二维码:创建并配置飞书应用
pnpm run setup:feishu -- --new --profile feishu

# 6. 启动
npx @deepseek-ai/dsh --profile feishu

然后到飞书里给机器人发消息即可。配置向导会把飞书应用整套搞定,全程不用开网页控制台,也不用手填凭据。如果你已经有应用,改成设置 FEISHU_APP_ID / FEISHU_APP_SECRET(环境变量或 profile 配置),详见 docs/feishu-setup.md

卸载

# 从 profile 移除插件
npx @deepseek-ai/dsh plugin --profile feishu remove @dsh-feishu/dsh-feishu

# 可选——彻底清理:删除 profile 及其 surface 数据
#(路径按默认 dsh home,~/.dsh)
rm -rf ~/.dsh/profiles/feishu ~/.dsh/feishu

怎么用

一个飞书聊天对应一个 dsh 会话,机器人就是 agent 的化身。一次典型的使用是这样:

  1. 开个聊天。 直接私聊机器人;也可以发 /group <名字> 建个群。群里一般要 @ 机器人(默认策略);如果群里只有你和机器人,不 @ 直接说也行;@ 策略本身可配置。

与机器人的聊天

  1. 打开控制面板。/panel 会唤出一张面板卡片。

控制面板

  1. 先定工作目录。 没定目录之前机器人不会开工:点 📚 Pick project 从列表里挑(等价于 /repo),或点 📁 Change dir 直接输入路径(等价于 /cd <路径>)。

项目选择

  1. 直接问。 发消息,agent 跑起来,工具调用、思考过程、markdown、表格一行行流进一张卡片。跑完卡片变绿,答案完整留在里面;停止、复制、重试和 ⚙️ 面板按钮就贴在卡片上。

    进行中已完成
    卡片进行中卡片已完成
  2. 要审批就批,要回答就答。 agent 需要提权时会弹一张审批卡,点 Allow once 放行(或 Reject 拒绝);它有问题会弹提问卡,点选项或直接回一句。

    审批提问
    审批卡提问卡
  3. 管会话。🗂️ Sessions 列出所有已保存的会话、直接在卡片上恢复(等价于 /sessions/resume <id> 也能把某个会话搬进当前聊天),点 ➕ New chat 开新对话、旧的照留(等价于 /clear)。

会话列表

面板卡片上的每个按钮都对应一个 slash 命令——哪种顺手用哪种;/help 会把所有命令列一遍。

命令

命令作用
/cd <路径>设置本聊天的工作目录
/repo列出候选项目目录供挑选
/sessions列出已保存会话(卡片上可恢复)
/resume [id]在本聊天恢复一个已保存会话
/clear /new开新对话(旧会话仍保留)
/cancel停下正在跑的回合
/status查看本聊天的会话状态
/model选模型或设置默认模型
/export把会话日志作为文件发出来
/schedule列出活跃的提醒
/feishu-status显示运行状态诊断卡
/group和机器人建群
/panel打开控制面板卡(所有命令的按钮版)
/help列出所有命令
/plan /permission /goal /compact /feedbackdsh 自带命令,和 web UI 一致

能做什么

  • 实时流式卡片——工具调用、思考、markdown、表格,边跑边流出来。
  • 一键控制面板——/panel 把命令面板全部做成按钮;不用记命令语法,且每个按钮与敲命令完全等价。
  • 卡内审批 / 提问——提权审批、回答问题都在聊天里完成。
  • 会话不丢——重启守护进程,聊天对应的会话和工作目录都还在。
  • 群聊 + @ 提醒——群里 @ 机器人即可;出错、审批、提问都会 @ 回发起人。
  • 回执、白名单、提醒、导出、诊断——表情回执、allowedChats / allowedUsers 白名单、定时提醒、会话日志文件、状态卡。

参与贡献

CONTRIBUTING.mdSECURITY.md。开发、测试与发布:docs/development.md

致谢

  • botmux —— 群聊交互模式的参考:流式卡片、审批,以及扫码驱动的开放平台快速接入流程。dsh-feishu 借鉴的是 botmux 的交互与接入模式,而非其架构——botmux 桥接外部 CLI,本插件则是 dsh 原生、进程内的。
  • DeepSeek Harness —— 本插件所服务的平台。
  • Lark Open Platform SDK —— 底层所用的 WebSocket 长连接与卡片 API。

License

MIT——见 LICENSE

REPOSITORY SIGNALS

Security & install evidence

This score is based solely on public repository metadata and the install evidence registered here — it is not a code security audit.

Traceable source

From a public plugin catalog, linked to a public GitHub repository.

License

The repository declares the MIT license.

Maintenance activity

Code updates within the last 180 days.

Install evidence

No verifiable install metadata registered yet — please review the repository instructions manually.

Install lifecycle scripts

The inspected package metadata declares no install lifecycle scripts.