dsh-feishu-channel:通过飞书 WebSocket 驱动本地 DeepSeek Harness Agent

前言

DeepSeek Harness (DSH) 专注于本地 Agent 运行与工具调用。在远程或移动场景下,直接控制本地 Agent 通常需要配置公网端口或隧道。dsh-feishu-channel 插件通过飞书官方 WebSocket 长连接接收指令,将本地 DSH Agent 的能力接入飞书。它不监听公网端口,通过飞书 Open API 回发文本,适合需要通过飞书进行会话复用与安全审批的开发场景。

核心能力

该插件通过飞书官方 WebSocket 长连接接收事件,本机不监听公网端口。它实现了以下功能:

  1. 会话复用与绑定:绑定项目目录后,会复用同一个 DSH Agent 会话,桌面端可以看到同一 session。
  2. 指令集:支持以下控制命令:
    • /project /absolute/path/to/project:绑定项目目录。
    • /status:查看当前状态。
    • /cancel:取消正在运行的任务。
    • /approve <id>:审批高风险工具调用。
    • /deny <id>:拒绝高风险工具调用。
    • /new:清除当前会话级模型选择,重置会话。
    • /help:显示帮助信息。
  3. 安全审批机制:高风险工具调用(如文件删除、外部写入、强制 Git 操作、系统级命令)需要一次性审批。审批默认 10 分钟过期,取消、断线或插件停止时按拒绝处理。
  4. 状态恢复:重启后恢复已保存的 session;若恢复失败,不会静默创建替代 session,需使用 /new 显式重置。
  5. 输出限制:仅回传阶段摘要和最终结果(文本),不发送工具参数、文件内容、环境变量或完整模型流。
  6. 配置白名单:私聊需配置 allowedOpenIds,群聊需配置发送者的 open_id 和群的 chat_id。

安装与凭证配置

插件依赖 @larksuiteoapi/node-sdk,需要 Node.js 版本 >= 22。通过 DSH 生态的 bundle 机制安装(具体安装方式请参考项目 package.json 中的 dsh 字段配置)。

使用前需配置飞书凭证。App ID 和 App Secret 只通过 DSH 凭据服务读取,插件配置和状态文件只保存引用,不保存凭证值:

dsh credentials set FEISHU_APP_ID <your-app-id>
dsh credentials set FEISHU_APP_SECRET <your-app-secret>

默认引用名必须保持为 FEISHU_APP_ID 和 FEISHU_APP_SECRET。

配置与安全

在 web profile 的 Cordis patch 中配置白名单和允许的项目根目录。所有列表默认为空,空列表会拒绝来源或项目绑定:

- insert:
    - id: feishu-channel
      name: dsh-feishu-channel
      config:
        allowedOpenIds: [ou_example]
        allowedChatIds: [oc_example]
        allowedProjectRoots:
          - /Users/example/Projects
        agentPreset: restricted

安全边界:
* 白名单成员拥有所选 Agent preset 在本机上的全部能力,应把飞书接入视为把终端交给白名单成员。
* 建议使用受限 preset,并只配置必要的 allowedProjectRoots。
* 插件创建或恢复会话前会强制使用 workspace-write 与 ask;已有但无法证明由插件管理的 live Agent 不会被复用。
* 文件删除、外部写入等需要一次性审批。
* 审批 token 只能由原 chat 使用一次,不能跨 chat 复用。
* stateFile 只能落在 DSH 主目录的 cache 内。

典型用法

在飞书聊天窗口中输入以下内容:

/project /absolute/path/to/project
请修改一个文件并运行测试
/status
/cancel
/approve <id>
/deny <id>
/new
/help

适用场景与注意

该插件适合需要在飞书环境中安全调用本地 DSH Agent 的场景。由于权限模型基于白名单,安装前应检查源码与许可证(MIT)。若 App Secret 曾泄露,需立即在飞书开放平台轮换,并通过 DSH 凭据服务更新。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜