21hbguo/dsh-feishu-bridge-plugin

21hbguo★ 1TypeScript最后同步: 2026-08-16

在 GitHub 打开

飞书机器人 ↔ DSH 对话桥:DSH 进程内 Cordis 插件,流式卡片 / 问答卡片 / 审批卡片 / 斜杠命令

README 摘要

@dsh-external/dsh-feishu-bridge 飞书机器人 ↔ DSH 对话桥:把 DeepSeek Harness(DSH)装进飞书,聊天即算力。 -4B32C3) DSH(DeepSeek Harness)的进程内 Cordis 插件:飞书 IM 收发消息,流式卡片实时呈现 DSH 的思考与工具调用进度;问答卡片、工具审批卡片直接在飞书里点按完成;斜杠命令全量遥控会话——无需打开 Web GUI,也能完整使用 DSH。 ✨ 功能特性 - 🚀 飞书 IM ↔ DSH 对话桥 :基于 WebSocket 长连接收发消息,私聊即聊即答,群聊 @ 机器人触发。 - 📬 出站 Outbox 零丢失 :非流式回复与兜底错误通知先进持久化队列再投递(JSONL 分段 + 原子落盘、幂等键防重复),失败按有界指数退避重试,进程崩溃 / 重启后自动续投,at-least-once 不丢消息。 - 📥 入站 WAL 请求补发 :消息注入 Agent 前先落盘,回复确认送达后记账;进程崩溃 / 重启后启动对账,自动重新触发未送达的纯文本消息(单条最多补发 2 次、30 分钟窗口内),不再静默丢请求。 - 🖼️ 入站多媒体 :图片消息自动下载 → 宿主 attachment 存储(ImageBlock)→ 注入 Agent 供视觉模型看图(宿主未装配 attachment 服务时降级为本地路径注记);文件消息 → 下载 → 有界文本提取(150KB 字节界 + 8000 字符截断,txt/md/json/csv/log 等文本类)或二进制仅注记文件名 / 大小 / 路径;下载失败或 401/403 无凭据场景安静降级,绝不阻塞主流程;媒体消息不进 WAL 补发(重放不可靠,设计决策);文件落盘 /.dsh/dsh-feishu-bridge/media/ 。 - 📤 出站文件工具 lark send local file :模型主动把本地文件回传到当前飞书会话——会话反查(agent id → chat 映射)+ realpath 白名单(仅当前工作区与插件数据目录,防路径穿越)+ 20MB 上限 + 扩展名白名单(图片 / 文档 / 压缩包等常见格式);png/jpg/webp/gif 发图片消息,其余发文件消息。 - ⚡ 流式卡片 :DSH 输出逐字实时渲染到飞书卡片,思考过程「看得见」。 - 📑 Markdown 结构化卡片 :非流式回复自动识别 Markdown 结构(标题 / 列表 / 代码块 / 表格 / 分隔线 / 引用)渲染为结构化飞书卡片;超长(60 行 / 4000 字符)或解析异常自动降级为纯文本卡片;流式卡片保持逐字渲染不变。 - 🔧 工具调用进度 :agent 调用工具时卡片实时显示「🔧 正在调用工具:xxx…」,多步回…

在 GitHub 查看完整 README →
工具/开发botchatbotcordisdeepseek-harnessdshdsh-pluginfeishulark

分类