在飞书里与 Agent 对话,流式卡片实时显示进度
29.2/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/wooxi/dsh-plugin-feishu.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 42 处,展示前 41 条)
- 发起网络请求lib/client.js:46
fetch(apiBase + '/api/feishu/config') - 发起网络请求lib/client.js:71
fetch(apiBase + '/api/feishu/qr/generate') - 发起网络请求lib/client.js:79
fetch(apiBase + '/api/feishu/qr/poll?token=' + token) - 发起网络请求lib/client.js:111
fetch(apiBase + '/api/feishu/config', { - 发起网络请求lib/transport/lark-client.js:22
const res = await fetch(`${this.baseUrl}/open-apis/auth/v3/tenant_access_token/internal`, { - 发起网络请求lib/transport/lark-client.js:61
const res = await fetch(url, { - 发起网络请求lib/transport/lark-client.js:81
const res = await fetch(url, { - 发起网络请求lib/transport/lark-client.js:105
const res = await fetch(url, { - 发起网络请求lib/transport/lark-client.js:128
const res = await fetch(url, { - 发起网络请求lib/transport/lark-client.js:152
const res = await fetch(url, { - 读取本地文件lib/host/session-bridge.js:28
const data = JSON.parse(readFileSync(this.bindingsPath, 'utf8')); - 写入本地文件lib/host/session-bridge.js:47
mkdirSync(this.storageDir, { recursive: true }); - 写入本地文件lib/host/session-bridge.js:48
writeFileSync( - 写入本地文件lib/media/image-downloader.js:10
mkdirSync(saveDir, { recursive: true }); - 发起网络请求lib/media/image-downloader.js:27
const res = await fetch(url, { - 写入本地文件lib/media/image-downloader.js:41
writeFileSync(targetPath, bufferData); - 读取本地文件lib/media/image-uploader.js:23
if (!filePath || !existsSync(filePath)) { - 读取本地文件lib/media/image-uploader.js:32
const fileBuffer = readFileSync(filePath); - 请求外部主机open.feishu.cnlib/media/image-uploader.js:40
const res = await fetch('https://open.feishu.cn/open-apis/im/v1/images', { - 发起网络请求lib/media/image-uploader.js:40
const res = await fetch('https://open.feishu.cn/open-apis/im/v1/images', { - 请求外部主机open.feishu.cnlib/host/config-router.js:171
const tokenResp = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', { - 发起网络请求lib/host/config-router.js:171
const tokenResp = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', { - 请求外部主机open.feishu.cnlib/host/config-router.js:185
const botResp = await fetch('https://open.feishu.cn/open-apis/bot/v3/info', { - 发起网络请求lib/host/config-router.js:185
const botResp = await fetch('https://open.feishu.cn/open-apis/bot/v3/info', { - 请求外部主机open.feishu.cnlib/host/config-router.js:195
const sendResp = await fetch('https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id', { - 发起网络请求lib/host/config-router.js:195
const sendResp = await fetch('https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id', { - 请求外部主机open.feishu.cnlib/host/config-router.js:316
const tokenResp = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', { - 发起网络请求lib/host/config-router.js:316
const tokenResp = await fetch('https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal', { - 请求外部主机open.feishu.cnlib/host/config-router.js:334
const botResp = await fetch('https://open.feishu.cn/open-apis/bot/v3/info', { - 发起网络请求lib/host/config-router.js:334
const botResp = await fetch('https://open.feishu.cn/open-apis/bot/v3/info', { - 请求外部主机open.feishu.cnlib/host/config-router.js:357
const sendResp = await fetch('https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id', { - 发起网络请求lib/host/config-router.js:357
const sendResp = await fetch('https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id', { - 写入本地文件lib/host/storage-manager.js:18
if (!existsSync(this.workspaceDir)) mkdirSync(this.workspaceDir, { recursive: true }); - 读取本地文件lib/host/storage-manager.js:18
if (!existsSync(this.workspaceDir)) mkdirSync(this.workspaceDir, { recursive: true }); - 写入本地文件lib/host/storage-manager.js:19
if (!existsSync(this.attachmentsDir)) mkdirSync(this.attachmentsDir, { recursive: true }); - 读取本地文件lib/host/storage-manager.js:19
if (!existsSync(this.attachmentsDir)) mkdirSync(this.attachmentsDir, { recursive: true }); - 写入本地文件lib/host/storage-manager.js:20
if (!existsSync(this.logsDir)) mkdirSync(this.logsDir, { recursive: true }); - 读取本地文件lib/host/storage-manager.js:20
if (!existsSync(this.logsDir)) mkdirSync(this.logsDir, { recursive: true }); - 写入本地文件lib/host/storage-manager.js:21
if (!existsSync(this.artifactsDir)) mkdirSync(this.artifactsDir, { recursive: true }); - 读取本地文件lib/host/storage-manager.js:21
if (!existsSync(this.artifactsDir)) mkdirSync(this.artifactsDir, { recursive: true }); - 写入本地文件lib/host/storage-manager.js:62
appendFileSync(this.messageLogFile, JSON.stringify(entry) + '\n', 'utf8');
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:open.feishu.cn
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的飞书/Lark 频道:支持 CardKit 2.0 流式卡片、思考折叠、工具调用追踪、瀑布式审批和多模态输入输出,走外连 WebSocket,无需公网端点。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-feishu DSH 飞书通道插件
在飞书里直接和你的 DeepSeek Harness Agent 对话。
English · 中文
流式卡片、思考折叠、工具调用进度、审批、图片收发 —— 全部在你团队已经在用的飞书里。不需要公网 IP,不需要 Webhook 地址,不需要端口映射。
能做什么
一张卡片,跟着 Agent 的思路长出来
回复不是等半天之后砸出来的一大段文字。你发消息的瞬间就开出一张飞书卡片,然后内容边想边长:工具调用跑一个显示一个,思考过程流进折叠面板,最终答案逐字打出来。
- 工具调用指示 —— 每次搜索、命令、读文件都会显示参数和耗时
- 思考过程折叠 —— 过程看得见,但答案一开始就自动收起,卡片不会长得离谱
- 底部实时统计 —— 状态、耗时、模型、token、缓存命中率挤在一行: ✅ 已完成 · 24s · gemini-3.8-flash · 33.0k tokens · 缓存 90%
- Markdown 正常渲染 —— 标题、列表、链接、代码块、表格都按该有的样子显示
是设置页,不是配置文件
所有配置都在 DSH 设置 → 飞书通道 里完成。凭据、管理员、目录、功能开关,全在界面上。
展开完整文档(README 剩余 1 节)
dsh-plugin-feishu DSH 飞书通道插件 在飞书里直接和你的 DeepSeek Harness Agent 对话。 English · 中文 流式卡片、思考折叠、工具调用进度、审批、图片收发 —— 全部在你团队已经在用的飞书里。不需要公网 IP,不需要 Webhook 地址,不需要端口映射。 能做什么 一张卡片,跟着 Agent 的思路长出来 回复不是等半天之后砸出来的一大段文字。你发消息的瞬间就开出一张飞书卡片,然后内容边想边长:工具调用跑一个显示一个,思考过程流进折叠面板,最终答案逐字打出来。 - 工具调用指示 —— 每次搜索、命令、读文件都会显示参数和耗时 - 思考过程折叠 —— 过程看得见,但答案一开始就自动收起,卡片不会长得离谱 - 底部实时统计 —— 状态、耗时、模型、token、缓存命中率挤在一行: ✅ 已完成 · 24s · gemini-3.8-flash · 33.0k tokens · 缓存 90% - Markdown 正常渲染 —— 标题、列表、链接、代码块、表格都按该有的样子显示 是设置页,不是配置文件 所有配置都在 DSH 设置 → 飞书通道 里完成。凭据、管理员、目录、功能开关,全在界面上。 - 保存并验证 —— 点一下:保存配置、验证鉴权、给你发一条真实测试消息、顺便把专用工作区建好 - 扫码配对 —— 用飞书 App 扫一下,管理员 Open ID 自动填进去 - 密钥不出服务端 —— App Secret 不会回传浏览器,界面上永远只有掩码 功能开关 | 开关 | 作用 | | CardKit 2.0 原生卡片流式输出 | 用会自己更新的卡片代替纯文本回复 | | 思考过程折叠 | 把推理过程收进可展开的面板 | | 工具调用状态指示 | 把工具调用显示成状态行 | | 多模态图文输入与输出回显 | 收图片,也能把本地图片发回飞书 | | 群聊 @ 机器人协作支持 | 允许在群里 @ 机器人 | 给共享机器准备的 - 只认一个主人 —— 这个机器人能跑命令、能碰文件,所以只回答一个飞书账号。不填管理员时,第一个发消息的人会被绑定并收到通知,之后其他人一律拒绝。 - 独立工作区 —— 飞书会话归在专属工作区分组下,不会和你浏览器里的会话混在一起,重启也还在。 - 独立目录 —— 附件、Agent 产物、消息流水账都在你指定的同一个文件夹里。 - 引用回复 —— 每条回答都是对你好条消息的回复,而不是飘在外面的新消息。 - 不开放入站端口 —— 连接是纯出站的。 安装 dsh plugin --profile web add dsh-plugin-feishu dsh --profile web 然后打开 DSH 设置 → 飞书通道,填入 App ID 和 App Secret,点 保存并验证。 飞书应用配置 在飞书开放平台的自建应用里: 1. 权限 —— 开通 im:message、im:message.p2p_msg:readonly、im:resource;要玩群聊再加 im:message.group_at_msg:readonly。 2. 事件 —— 订阅方式选「使用长连接接收事件」,添加 im.message.receive_v1 和 card.action.trigger。 3. 发布 —— 改过权限或事件后,要创建并发布新版本。 第 2 步是最容易漏的。如果发得出去但收不到回复,先查这里。 环境要求 - DSH 0.2.x,Web profile - Node >=20 - 一个开通了长连接事件订阅的飞书自建应用 常见问题 ERR_PNPM_IGNORED_BUILDS: protobufjs —— pnpm 拦了飞书 SDK 一个传递依赖的 postinstall。放行一次再装: ~/.dsh/profiles/<profile>/pnpm-workspace.yaml allowBuilds: protobufjs: true 消息进来了但不回复 —— 事件订阅方式还是 Webhook。改成「长连接」并发布版本。 会话跑到「未分组」里 —— 点一次 保存并验证,它会建好工作区。在这之前创建的会话留在原地。 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
wooxi/dsh-plugin-feishu
在飞书里与 Agent 对话,流式卡片实时显示进度
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,110已汉化DeepSeek 客户端
70.9
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,031已汉化DSH
70.7
这是你的仓库?认领条目