DeepSeek Harness Hub
← 返回列表

飞书远程控制ShiXiangYu2/dsh-feishu-remote

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

在飞书私信里下达任务,让智能体执行并回传结果

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/16 · 已提供中文文档

从飞书/Lark 控制你的 DeepSeek Harness 智能体:私信发送任务,获取返回结果,推送通知。由 lark-cli 提供支持。

综合分
27.6
GitHub 分
27.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ShiXiangYu2/dsh-feishu-remote
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

📱 DSH 飞书远程

在手机上通过 飞书 / Lark 控制你的 DeepSeek Harness 智能体。发一条私信下达任务——结果直接回到聊天中。完整可用的闭环。

dsh-plugin DeepSeek Harness License: MIT

✨ 功能简介

- 📨 飞书 → 智能体 → 飞书:给机器人发私信下达任务(例如 2+3等于几?),DSH 智能体会用你配置的 LLM 执行,答案会回到聊天中。
- 🖼️ 图像理解:发送截图或照片——它会被下载并由视觉模型(Qwen3-VL)分析,然后智能体回复它所看到的内容。
- 🎨 图像生成往返:智能体可以生成图像(generate_image)、下载到本地(feishu_download),并把实际的图像发回你的飞书聊天(feishu_send_image)——而不只是一个链接。
- 📤 智能体 → 飞书:模型获得 feishu_send / feishu_send_image / feishu_download 工具,可将结果、文件和生成的图像推送给任意用户或群聊。
- 🧹 保留清理:下载的图像保留 7 天(可通过 FEISHU_IMG_RETENTION_DAYS 配置),之后自动删除——磁盘不会无限增长。
- 🤖 长连接:使用 lark-cli 的 WebSocket 事件总线——无需公网 webhook 服务器,可在 localhost/局域网/私有服务器上运行。
- 🔒 安全:复用 lark-cli 的操作系统钥匙串凭据存储和权限系统;事件监听器按设计在非沙箱环境中运行(它必须持有 WebSocket)。

🚀 安装

0. 前置条件

1. 一个飞书/Lark 自建应用,需具备:
- 启用机器人能力
- 事件订阅 im.message.receive_v1(长连接模式)
- 权限:im:message、im:message:send_as_bot、im:message.p2p_msg:readonly、im:chat:read、im:resource
- 已发布版本
- (在飞书开发者控制台中设置——CLI 可以通过 API 启用机器人能力,但事件/权限需要在控制台中配置。)

2. 已安装 lark-cli 并完成一次认证:

npm i -g @larksuite/cli
lark-cli config init            # paste your App ID / Secret
lark-cli auth login --recommend # scan QR to authorize

1. 安装插件

dsh plugin --profile demo add github:ShiXiangYu2/dsh-feishu-remote

该包包含两部分:
- index.js —— Cordis 插件:注册 feishu_send 模型工具,并尝试进程内事件监听器。
- feishu-resident.mjs —— 推荐的常驻启动器:启动 web profile,并在分离进程中运行长连接事件循环(见下文)。

2. 配置模型

DSH profile 必须有一条可用的 LLM 路由(例如通过 SiliconFlow 使用 DeepSeek):

profile cordis.patch.yml
- id: llm-deepseek
config:
apiKeyEnv: SILICONFLOW_API_KEY
baseURL: https://api.siliconflow.cn/v1
thinking: disabled
reasoningEffort: off
models:
- id: deepseek-ai/DeepSeek-V3.2
name: DeepSeek-V3.2 (via SiliconFlow)
contextWindow: 65536
maxTokens: 8192

- id: agent-default-model
config:
provider: deepseek-official
model: deepseek-ai/DeepSeek-V3.2

3. 运行常驻进程(推荐)

闭环必须运行在一个长期存活的进程中。使用随附的常驻启动器:

将 feishu-resident.mjs 中的绝对路径(LARK_HOME、CLI)调整为你的配置。
DSH_HOME=~/.dsh SILICONFLOW_API_KEY=sk-... \
node --import tsx/esm feishu-resident.mjs

它会启动 web profile,将 lark-cli event consume 作为分离进程启动(通过 tail -f /dev/null 管道保持 stdin 打开,使监听器不会因 EOF 而退出),并对每条收到的私信:确认 → 创建 agent → 运行任务 → 提取最终文本 → 回复。

4. 使用它

向你的飞书机器人发送任意私信,例如 帮我总结一下 ~/projects 的 README —— agent 会运行,结果会返回到聊天中。

🛠 工具

| 工具 | 描述 |
|---|---|
| feishu_send | 面向模型:向飞书用户(ou_)或群聊(oc_)发送消息。 |
| feishu_send_image | 面向模型:向飞书用户或群聊发送本地图片文件。 |
| feishu_download | 面向模型:将 URL 下载到本地文件(以便生成的图片可通过 feishu_send_image 发送)。 |

🔌 工作原理

飞书私信 ──► lark-cli event consume(WebSocket 长连接,分离进程)
│  stdout 上的 NDJSON 事件
▼
feishu-resident.mjs(长期存活进程)
│  图片?→ 下载(messages-resources-download)
│          → 视觉描述(通过 SiliconFlow 使用 Qwen3-VL)
│  agents.create + followup(task) + whenIdle()
▼
最终助手文本(ev.data.message.content)
│  lark-cli im +messages-send
▼
飞书聊天回复

图片处理

- 图片的事件内容以 [Image: img_v3_xxx] 形式到达。
- 常驻进程检测到该模式后,通过
lark-cli im +messages-resources-download 下载资源(使用事件的真实 message_id
+ image_key),然后请求 SiliconFlow 视觉模型
(Qwen/Qwen3-VL-8B-Instruct,可通过 FEISHU_VISION_MODEL 覆盖)来
描述图片。
- 描述会被添加到用户消息前面,并输入给 DSH agent,
这样 agent 就能对图片进行推理并在飞书中回复。
- 下载的图片会存放在 IMG_DIR(默认为 /root/dsh /feishu-images;
下载命令要求 --output 使用相对路径,因此
常驻进程会先 cd 到该目录)。

⚠️ 注意事项
- 为什么需要常驻进程? DSH 的 shell 服务会将后台进程绑定到调用它的插件 fiber;在插件的 apply() 中启动的监听器会在该 fiber 结束时被终止。常驻启动器在自己的进程中持有该监听器,因此它能够存活下来。
- 文本提取:最终答案从会话日志的 assistant/message 事件中读取(ev.data.message.content,与官方无头模式 summarize() 保持一致)。
- 长任务:回复会被截断为最后一个文本块;非常长的运行可能会超出飞书消息限制。
- lark-cli 事件输出以 NDJSON 形式流式输出到 stdout(stderr 携带 [event] 日志行)——两者都会被解析。

📄 许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(ShiXiangYu2)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群