DeepSeek Harness Hub
← 返回列表

WyattJHayes/dsh-feishu-channel

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

在飞书中驱动本机 DeepSeek Harness Agent。插件使用飞书官方 WebSocket…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/1 · 已提供中文文档
综合分
29
GitHub 分
29
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add WyattJHayes/dsh-feishu-channel
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-feishu-channel

在飞书中驱动本机 DeepSeek Harness Agent。插件使用飞书官方 WebSocket 长连接接收事件,再经 Open API 回发文本;本机不监听公网端口。

当前版本支持:

- 绑定项目目录后复用同一个 DSH Agent 会话;桌面端可以看到同一 session。
- /new 会清除当前会话级模型选择;下一次创建 Agent 时使用当前默认模型。
- 同一 chat 的普通 prompt 按 FIFO 顺序执行,阶段摘要和最终结果回发飞书。
- /project、/new、/status、/cancel、/approve、/deny、/help。
- 高风险工具调用的一次性审批。审批默认 10 分钟过期,取消、断线或插件停止时按拒绝处理。
- 重启后恢复已保存 session;恢复失败不会静默创建替代 session,请使用 /new 显式重置。

凭证

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

dsh credentials set FEISHU_APP_ID
dsh credentials set FEISHU_APP_SECRET

默认引用名必须保持为 FEISHU_APP_ID 和 FEISHU_APP_SECRET。凭证引用只允许环境变量格式的名称,例如 feishu.app_id 不合法。

配置

在 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

私聊至少需要 allowedOpenIds。群聊同时需要发送者的 open_id 和群的 chat_id。项目路径必须是允许根目录内的已有目录,插件会按真实路径检查符号链接和路径边界;不会默认放行当前目录、用户目录或整个文件系统。

群聊回复默认只发给通过白名单的发送者,避免群内其他成员旁观 Agent 输出。确实需要共享群聊结果时,显式设置 groupOutputMode: group,并确认群成员都属于可信输出受众。未授权事件不会回发拒绝消息,以避免身份探测和出站队列消耗。

可选配置包括 stateFile、groupOutputMode、approvalTimeoutMs、progressIntervalMs、maxProgressMessages、progressStatusTtlMs、maxProgressSessions、maxPromptLength、maxQueuedPrompts、maxOutboundQueue、maxOutboundTextLength、maxOutboundChunks、dedupeCapacity、dedupeTtlMs、agentOperationTimeoutMs、whenIdleTimeoutMs 和 cancelTimeoutMs。数值配置有保守上限,maxProgressMessages 默认是 12,progressStatusTtlMs 默认是 900000 毫秒,maxProgressSessions 默认是 1024,maxQueuedPrompts 默认是 8,maxOutboundQueue 默认是 64,maxOutboundTextLength 默认是 12000,maxOutboundChunks 默认是 4,stateFile 只能落在 DSH 主目录的 cache 内;未设置 DSH_HOME 时沿用 DSH 的默认 ~/.dsh 主目录。

使用

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

普通文本必须先绑定项目。控制命令不会进入 prompt 队列。未知 slash 文本按普通 prompt 处理。工具参数、文件内容、环境变量和完整模型流不会自动发送到飞书,只回传阶段摘要和最终文本。

安全边界

白名单成员拥有所选 Agent preset 在本机上的全部能力,应把飞书接入视为把终端交给白名单成员。建议使用受限 preset,并只配置必要的 allowedProjectRoots。插件创建或恢复会话前会强制使用 workspace-write 与 ask;已有但无法证明由插件管理的 live Agent 不会被复用,请使用 /new。

文件删除、外部写入、发布推送、强制 Git 操作、系统级或高权限命令需要一次性审批;未知工具、无法判断的命令和越出项目目录的访问会拒绝。审批 token 只能由原 chat 使用一次,不能跨 chat 复用。

如果 App Secret 曾经出现在聊天、日志或屏幕中,应立即在飞书开放平台轮换 App Secret,然后通过 DSH 凭据服务写入新值,并重启 web profile。不要把新旧密钥写进插件配置、状态文件或 README。

人工冒烟

插件测试只使用假的 Agent 和 Lark 输出,不会自动向飞书发送消息。真实验证需由用户在已授权 chat 中手动发送:绑定项目、执行只读任务、触发并批准/拒绝高风险操作、取消运行、/new、重启恢复,以及未授权来源拒绝。

License

MIT

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

💬 加入 DPharness 群聊

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

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