← 返回列表
未验证
在飞书聊天框里设定目标、查看进度并审批高危操作
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/11 · 已提供中文文档
该测试框架位于飞书上,运行在一台 Linux 服务器上。目标卡片、实时进度、多机器人。它不是网页的遥控器。
综合分
30.2
GitHub 分
30.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add shoxiy-danny/dsh-feishu该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-feishu
Harness 长在飞书里,不是飞书遥控网页
中文 · English · 功能 · 适合谁 · 五分钟
中文
插件市场里 feishu / lark 已经三十多个。多数是通知器、多 IM 网关,或 dsh plugin --profile web add 之后挂在官方网页旁边的桥。飞书只是遥控器:网页还在,关掉浏览器,产品就少了一半。不少还默认你坐在个人 PC 前,终端里弹二维码。
这套是跑在飞书里的 harness,部署面是 无头常驻:macOS、Linux、WSL 都能跑,主打一台能出网的机器当守护进程,不是笔记本终端扫码。一个 dsh --profile feishu 常驻,日志进文件,没有要人盯着的 TTY。飞书长连接进、飞书卡片出。模型、斜杠命令、进度、Goal、会话,全部发生在聊天框。没有 3080,没有给本机用的 TUI。高危操作出飞书审批卡,不是网页弹窗。
首个 bot 只能在开放平台建好,把 App ID / Secret 写进环境变量再启动。服务器上没处可贴二维码。已经通了的 bot 再开第二个,码可以打回飞书;那是后话,不是第一次上手。
不跟货架比按钮数量。没有打字机答案卡。要比的四件事:
1. 长在飞书里 — harness 的面就是飞书,不是遥控网页
2. Goal 卡片 — 设定、改目标、暂停、恢复、清除,点卡片就能做;重启不偷着续
3. 一进程多 bot — 2~3 个飞书身份共用一套 Agent,同一条 session 不能两头同时握
4. 会变的进度头 — [dsf-23% G1/3] Using bash...(2),不是「正在思考…」四个字一直挂着
GitHub 上另有一个 PGZXB/dsh-feishu,飞书控制台 + 卡内审批,官方 Web 还在。owner 不同,产品也不同。
卖点
完全不依赖 Web
不装 dsh-web-app,不开 3080,不跑 headless 一次性进程。Cordis 插件直接 create / followup / steer / cancel / resume。飞书是面,不是壳外面再套的壳。
Goal:一张卡片管到底
发 /goal,或直接在卡片里填目标点「设定并开始」。句末可写「最多跑 3 轮」。
Agent 自己多轮推进。进程重启后 不会 偷偷接着烧,要在卡片上点「恢复自动续跑」,或发 /goal resume。
卡片上能做的事:
- 设定 / 修改目标(卡内表单)
- 暂停 / 恢复自动续跑
- 清除当前目标
- 完成变绿、阻塞变红,原地改,不另刷一堆纯文字
斜杠命令仍然全部可用。先到的算数。
会变的进度头
进度卡片原地改:
[dsf-23% G1/3] Using bash...(2)
模型别名、上下文占比、Goal 轮次(快到上限标 near)。跑完变 Done,失败变 Failed,正文另发一条,不跟进度糊在一起。
一进程多 Bot
同一个进程挂 2~3 个独立飞书应用。会话按 (appId, chat_id) 分开。历史可以互相 /resume,同一条 session 不能被两个窗口同时握住。
斜杠命令就在聊天框
/stop /clear /model /status /compact /resume /rename /goal /bye
不支持的 / 会直接告诉你本期有哪些。完整表见 docs/handbook.md。
高危审核卡 / 提问卡
未点名的 rm、find -delete、破坏性 git 会挂起,飞书出一张橙卡。点「允许这一次」才跑;打字同意不算批准。
需要选择时模型调 ask_user_question,出蓝卡。选项两列一排带序号,说明是灰字菜单;可以点选项,也可以在卡内填空提交(输入框默认一行),也可以直接打字。先到的算数。开放平台须订 card.action.trigger。
重启自己接上
进程重启后不用你先说话:插件主动 resume 所有已知会话,发一张绿卡(会话名 + 模型名)。重启包装脚本可以把一句「续跑指令」写进 $DSH_HOME/restart-continue.json——绿卡里直接显示这条指令,并作为新消息投进会话,模型自己接着干。指令 10 分钟过期、读后即焚。
上下文会自己收
累计过 100K 之后,名单内(read / glob / grep / bash / 搜索读页)且超过 8K 的工具结果,完整进模型 3 次,第 4 次发送前走官方头 4K 尾 1K。skill 不过。冷启动和开门前的历史不回砍。glob 自动滤掉 node_modules / .git / .pnpm。可选:生图 / 多步浏览类 MCP 藏到 enable_mcp 之后。规格见 PRUNE.md。
多模态按飞书的方式走
图 / 语音 / 文件落到本地 inbox,把路径写给模型。不把图片塞进 session image block。回图、回文件、回语音走 send_file。
适合谁 / 不适合谁
适合:有一台能出网的机器,要把 dsh 做成 7×24 云端同事;已经在飞书办公、不想再为 Agent 开网页或守着笔记本终端;同一套 Agent 多个飞书身份;Goal 这种「交代完让它自己盯」,但中断和续跑必须自己说了算。
不适合:个人 PC 上扫码 30 秒上手、还想留官方 Web 控制台、需要打字机流式答案卡、或只把飞书当通知渠道。那些货架上已经很多,去搜 feishu 即可。
安装(给 Agent / 人类逐步做)
面向一台已经能出网的机器(Linux / macOS / WSL;Windows 原生机也能起进程,Agent 调 bash 会别扭)。按顺序做,缺一步后面会起不来。
0. 前置(先齐这四样)
1. Node 22+。node -v 以 v22 开头。不够就先装 Node,不要用 18/20。
2. DeepSeek Harness CLI。
npm i -g @deepseek-ai/dsh
dsh --version
应印出版本号。没有 dsh 命令就检查 npm prefix -g 是否在 PATH。
3. DeepSeek API key。到 platform.deepseek.com 建一把,环境变量名 DEEPSEEK_API_KEY。默认模型只有官方 dsf = deepseek-flash。
4. 飞书企业自建应用(开放平台手建,无头机器不能扫码)。打开 open.feishu.cn/app:
- 创建企业自建应用,记下 App ID / App Secret
- 权限:获取与发送单聊/群组消息、获取群组信息、以应用身份发消息、上传图片/文件、给消息加表情
- 事件订阅选 长连接 / WebSocket,不要 webhook
- 事件勾 im.message.receive_v1;回调勾 card.action.trigger(审核卡、提问卡;没订则按钮点了没反应)
- 打开「机器人」能力;要进群就把应用加进目标群
逐步截图级说明:docs/feishu-setup.md。
1. 装插件
dsh plugin --profile feishu add github:shoxiy-danny/dsh-feishu
要钉某次提交(推荐给别人装):
dsh plugin --profile feishu add github:shoxiy-danny/dsh-feishu#
2. 写环境变量后启动
export FEISHU_APP_ID=cli_xxx
export FEISHU_APP_SECRET=xxx
export DEEPSEEK_API_KEY=sk-xxx
dsh --profile feishu
日志出现 ready bots=... 再在这个应用的单聊打一句。应先收到表情,再看到进度头,然后是正文。发 /goal 会出一张可点的目标卡。
工作目录默认家目录;附件落 workspace/inbox/。第二个 bot 再填 FEISHU_APP_ID_2 / FEISHU_APP_SECRET_2。
3. 加非官方模型(可选)
内置只有 dsf。要接 OpenAI 兼容网关或其它厂商:把 examples/profile.cordis.patch.yml 抄进 ~/.dsh/profiles/feishu/cordis.patch.yml,把 examples/models.json 拷到某处并 export DSH_FEISHU_MODELS=/绝对路径/models.json,再 export 样例里的 MY_OPENAI_KEY。样例别名是 oa = gpt-4.1。字段说明见 docs/handbook.md「模型」。
从本仓脚本装(开发 / 自托管)
git clone https://github.com/shoxiy-danny/dsh-feishu.git
cd dsh-feishu
cp .env.example .env
填 FEISHU_APP_ID / FEISHU_APP_SECRET / DEEPSEEK_API_KEY
chmod +x scripts/.sh scripts/dsh-feishu-cli
./scripts/setup.sh
./scripts/start.sh
文档
| 文件 | 内容 |
|------|------|
| docs/handbook.md | 斜杠命令、Goal 卡片、模型、多 bot、MCP、假 bot |
| docs/feishu-setup.md | 飞书应用、权限、长连接 |
| docs/publish.md | 作者:GitHub topic 和市场收录 |
| examples/ | 模型表、记忆/项目模板、bye 与 note skill |
默认模型只有 DeepSeek 官方 dsf。加自己的供应商:抄 examples/ 里的 yaml + json(样例别名 oa),字段说明在手册「模型」。
需要 DeepSeek Harness。发现页:dsh-plugin.market。
英文
这个 harness 住在飞书里,而不是网页版的遥控器。
插件市场里已经有三十多个 feishu / lark 条目。大多数是通知器、多 IM 网关,或者你用 dsh plugin --profile web add 添加的桥接。飞书只是一个遥控器:网页还在那里,关掉浏览器就带走了半个产品。
这是 harness,运行在飞书里,定位是跑在一台常开机器上的无头守护进程:Linux、macOS 或 WSL。不是你在笔记本上扫终端二维码的那种。一个 dsh --profile feishu。日志写入文件。没人需要盯着 TTY。飞书 WebSocket 进,飞书卡片出。模型、斜杠命令、进度、Goal、会话:全都在聊天里。没有 3080 端口。没有桌面 TUI。高风险命令会暂停在飞书审批卡片上,而不是网页弹窗。
第一个机器人必须在开放平台上创建,并放进环境变量。无头服务器没地方放二维码。额外的机器人之后可以从一个已经能用的聊天里打开;但这不是引导启动的方式。
我们不在按钮数量上竞争。没有打字机式回答卡片。取而代之的是四件事:
1. 住在飞书里 —— harness 的界面是聊天,而不是网页版的遥控器
2. Goal 卡片 —— 在卡片上设置、编辑、暂停、恢复、清除;重启后不会继续烧 token,直到你恢复
3. 多个机器人,一个进程 —— 2–3 个飞书身份,一个 agent;一个会话不能被两个窗口同时持有
4. 一个会变化的进度头 —— [dsf-23% G1/3] Using bash...(2),而不是冻结的“Thinking…”
下面三张卡片取自真实的卡片 JSON。它们不是飞书截图。
还有另一个名为 PGZXB/dsh-feishu 的 GitHub 仓库:一个带卡片内审批的飞书控制台,官方网页版仍然开启。不同的所有者,不同的产品。
功能
不依赖网页
没有 dsh-web-app,没有 3080 端口,没有一次性无头运行器。一个 Cordis 插件在进程内调用 create / followup / steer / cancel / resume。飞书是界面,而不是包装器的包装器。
Goal:一张卡片,整个循环
发送 /goal,或者在卡片上输入目标并点击 Set and start。你可以在末尾追加“最多 3 轮”。
agent 会跨轮次继续。进程重启后,它不会继续烧 token,直到你点击 Resume 或发送 /goal resume。
在卡片上:创建 / 编辑(表单)、暂停、恢复、清除。完成变绿,受阻变红。斜杠命令仍然可用。
一个真正会变化的进度头
卡片会原地编辑:
[dsf-23% G1/3] Using bash...(2)
模型别名、上下文百分比、Goal 轮次(接近上限时显示 near)。卡片上显示 Done / Failed;回复是单独的消息。
多个机器人,一个进程
同一进程承载 2–3 个飞书应用。会话以 (appId, chat_id) 为键。历史记录可以跨机器人 /resume;一个会话不能同时被两个窗口持有。
输入框中的斜杠命令
/stop /clear /model /status /compact /resume /rename /goal /bye
未知的 / 会回复受支持的列表。完整表格:docs/handbook.md。不带编号的 /resume 会发送一张会话卡片。模型可以通过 SlashCommand({ command: "/rename …" }) 重命名。
上下文会自行修剪
超过 100K token 后,大型 read / glob / grep / bash / search 结果会完整保留 3 次模型查看,然后保留官方头部 4K + 尾部 1K。技能结果永远不会被裁剪。规范:PRUNE.md。
审批卡片 / 询问用户卡片
未命名的 rm、find -delete 以及破坏性 git 操作会在橙色卡片上暂停。点击 Allow once 执行。输入 yes 不会批准。选项通过 ask_user_question(蓝色卡片)进行:选项以每行两个的编号网格排列,并带有灰色描述菜单,点击其中一个,提交单行表单,或输入回复。第一个答案生效。在开放平台上订阅 card.action.trigger。
重启后会自行重新挂接
重启后你不必先发言:插件会恢复每个已知会话并发送一张绿色卡片(会话标题 + 模型)。重启包装器可以将一条由 LLM 编写的继续指令放入 $DSH_HOME/restart-continue.json;卡片会内联显示它,并将其作为新消息投递到会话中,因此智能体会从上次中断的地方继续。10 分钟后过期,读取时即被消费。
安装(分步进行,适用于智能体或人类)
面向能够访问互联网的机器(Linux / macOS / WSL;裸 Windows 机器可以启动,但智能体的 bash 调用会跟你较劲)。请按顺序执行这些步骤。
0. 前置条件
1. Node 22+。node -v 必须以 v22 开头。
2. DeepSeek Harness CLI:
npm i -g @deepseek-ai/dsh
dsh --version
3. DEEPSEEK_API_KEY,来自 platform.deepseek.com。唯一内置别名是 dsf = deepseek-flash。
4. 飞书企业自建应用(无头机器上无法扫码)。在 open.feishu.cn/app:创建应用;复制 App ID / Secret;授予消息、群组信息、以应用身份发送、上传和表情回应权限;通过 WebSocket 订阅,而非 webhook;事件 im.message.receive_v1 加上回调 card.action.trigger;启用机器人能力。详情:docs/feishu-setup.md。
1. 添加插件
dsh plugin --profile feishu add github:shoxiy-danny/dsh-feishu
当你关心某个已知快照时,固定一个提交:
dsh plugin --profile feishu add github:shoxiy-danny/dsh-feishu#
2. 导出凭据并启动
export FEISHU_APP_ID=cli_xxx
export FEISHU_APP_SECRET=xxx
export DEEPSEEK_API_KEY=sk-xxx
dsh --profile feishu
等待日志中出现 ready bots=...,然后用该应用在 p2p 聊天中发送一条消息。你应该会收到一个反应、一个进度标题,然后是回复。
3. 额外模型(可选)
将 examples/profile.cordis.patch.yml 复制到 ~/.dsh/profiles/feishu/cordis.patch.yml,并将 DSH_FEISHU_MODELS 指向 examples/models.json 的副本。示例别名为 oa = gpt-4.1。手册 §模型 中有字段表。
从此仓库安装(开发 / 自托管)
git clone https://github.com/shoxiy-danny/dsh-feishu.git
cd dsh-feishu
cp .env.example .env
fill FEISHU_APP_ID / FEISHU_APP_SECRET / DEEPSEEK_API_KEY
chmod +x scripts/.sh scripts/dsh-feishu-cli
./scripts/setup.sh
./scripts/start.sh
默认 cwd 是主目录;附件会落在 workspace/inbox/ 中。第二个机器人是 FEISHU_APP_ID_2 / FEISHU_APP_SECRET_2。
适合谁 / 不适合谁
适合:你有一台常开的机器,想让 dsh 作为 24/7 的同事;你已经生活在飞书中,不想再照看另一个 Agent 网页或笔记本电脑终端;一个 agent,多个飞书身份;Goal(“让它一直运行”)带有你可以说出口的暂停 / 恢复。
不适合:在个人 PC 上进行 30 秒二维码设置;仍然想要官方网页控制台或打字机流式卡片的人;或仅将飞书用作通知。市场上已经有这些了。搜索 feishu。
文档
| 文件 | 内容 |
|------|------|
| docs/handbook.md | 命令、Goal 卡片、模型、多机器人、MCP、fake CLI bot |
| docs/feishu-setup.md | 飞书应用、权限范围、长连接 |
| docs/publish.md | 作者:GitHub 主题和市场列表 |
| examples/ | 模型表、记忆/项目模板、bye 和 note 技能 |
附带一个 DeepSeek 官方别名:dsf。额外提供商:复制 examples/(示例别名 oa);字段表见手册 §模型。
需要 DeepSeek Harness。发现:dsh-plugin.market。
MIT。欢迎提交 issue 和 PR。扫码进群