跳到主要内容

dsh-feishu

已验证

@dsh-feishu/dsh-feishu · v0.3.0 · MIT

The Feishu UI for DeepSeek Harness (dsh) — a dsh-native plugin: live streaming cards, in-card questions & approvals, one-QR setup.

安装

dsh plugin add @dsh-feishu/dsh-feishu

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

作者

说明文档

The Feishu UI for DeepSeek Harness (dsh)

English | 中文

License: MIT Node npm CI

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

注意: DeepSeek Harness 目前仍是预发布版本(0.1.0-rc.x),版本之间可能有破坏性变更。dsh-feishu 跟踪两个 dsh 版本:

  • main 分支(git 安装)跟踪 dsh @next——当前为 0.1.1-rc.2
  • npm @latest release 跟踪 dsh @latest——当前为 0.1.1-rc.2

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 的构建脚本,所以加上
#     --allow-build=protobufjs 让它执行)
npx @deepseek-ai/dsh plugin --profile feishu add @dsh-feishu/dsh-feishu@latest --allow-build=protobufjs

# 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 会把所有命令列一遍。

命令

命令 作用
/help 列出所有命令
/panel 打开控制面板卡(所有命令的按钮版)
/group <name> 和机器人建群(无参会弹名称输入卡)
/cancel 停下正在跑的回合
/cd <path> 设置本聊天的工作目录(无参会弹路径输入卡)
/repo [path] 挑一个项目目录(无参扫描默认 roots;/repo <path> 扫描该路径)
/status 查看本聊天的会话状态
/feishu-status 显示运行状态诊断卡
/schedule 列出活跃的提醒
/model <provider/model> 切换本会话的模型(无参打开选择器)
/export 把会话日志作为文件发出来
/log 把 dsh-feishu 的日志文件发到本聊天(便于排查问题;提 issue 时建议附上关键日志)
/sessions 列出已保存会话(卡片上可恢复)
/resume <id> 在本聊天恢复一个已保存会话(无参打开会话列表)
/clear /new 开新对话(旧会话仍保留)
/goal <text> 设置任务目标(无参会弹文本输入卡)
/compact 压缩较旧的对话历史
/feedback <text> 发送反馈(无参会弹文本输入卡)
/permission <preset> 切换权限预设(无参打开选择器)
/plan [on|off] 进入或退出计划模式(无参切换)

能做什么

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

参与贡献

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

交流群

扫码加入 dsh-feishu 飞书交流群:

dsh-feishu 交流群二维码

致谢

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

License

MIT——见 LICENSE