deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:1210316560/dsh-lark-bridge
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
飞书机器人 ↔ DeepSeek Harness (DSH) 会话桥接。通过飞书单聊/群聊与 DSH 会话对话,操作审批路由到飞书交互卡片。
DSH Store 插件兼容声明:
dsh.compatibility.dshReleases已在package.json中声明,支持 DSH0.1.0-rc.8/0.1.1-rc.1/0.1.1-rc.2。插件补丁清单见dsh-bundle-patch.json。
ask_user_question → 每个问题发一张飞书交互卡片| 指令 | 功能 |
|---|---|
/help |
显示所有指令 |
/new |
创建新会话(清空当前上下文) |
/list |
列出所有会话(过滤已删除的残留会话) |
/switch <序号/ID> |
切换到指定会话 |
/model |
列出可用模型,标注当前使用的 |
/model <序号> [effort] |
切换模型,可选设置推理强度(off/high/max) |
/mode <queue\|steer> |
切换发送模式(排队/插话) |
/stop |
停止当前正在运行的回合 |
/context [N] |
查看最近 N 条消息(默认 10,上下文查询) |
/compact |
触发上下文压缩(压缩历史,释放上下文窗口) |
/status |
查看当前桥接状态(含模型、上下文压力信息) |
/clean |
查看如何清理旧会话 |
/stop → 调用 DSH session.cancel 停止当前回合(保留排队中的消息)! → 插话模式(steer),打断当前回合并注入新消息| 指令 | 效果 |
|---|---|
/model |
列出所有可用模型,标注当前使用的 |
/model 2 |
切换到序号 2 对应的模型 |
/model 2 max |
切换模型并设置推理强度为 max |
/model fuyao fuyao-work |
用 provider + model 名精确切换 |
可用模型取决于 DSH 配置,常见包括 DeepSeek-V4-Flash、DeepSeek-V4-Pro、fuyao-coding 等。
| 操作 | 效果 |
|---|---|
| 默认(排队) | 消息排队等当前回合结束后处理 |
/mode steer |
每条消息立即打断当前回合 |
!消息内容 |
任何模式下临时插话(可跳出提问循环) |
| 操作 | 管理员 | 其他人 |
|---|---|---|
| 聊天问问题 | ✅ | ✅ |
| 斜杠指令 | ✅ | ❌ |
| 审批卡片 | ✅ | ❌ |
| 提问卡片选选项 | ✅ | ✅ |
| 消息已收表情 | ✅ | ✅ |
飞书用户 ←WS长连接→ 飞书开放平台 ←→ dsh-lark-bridge (bot进程)
↕ HTTP RPC + WebSocket
DSH 会话 (127.0.0.1:3080)
@larksuiteoapi/node-sdk 长连接(WebSocket,免公网 IP)接收飞书事件node setup.mjs
按提示依次填写飞书 App ID、App Secret、管理员 open_id,其余项回车用默认值。完成后自动生成 .env。
复制 .env.example 为 .env 并填写:
copy .env.example .env
| 环境变量 | 必填 | 说明 |
|---|---|---|
LARK_APP_ID |
✅ | 飞书应用 App ID |
LARK_APP_SECRET |
✅ | 飞书应用 App Secret |
LARK_TARGET_OPEN_ID |
✅ | 管理员的飞书 open_id(ou_xxx) |
LARK_BOT_NAME |
机器人显示名称(默认「DSH桥接机器人」) | |
BRIDGE_DSH_API_BASE |
DSH 地址(默认 http://127.0.0.1:3080) |
|
BRIDGE_DSH_CREATE_SESSION |
true 则创建独立会话并缓存(默认 true) |
|
BRIDGE_DSH_SESSION_CWD |
新会话工作目录(留空用 DSH 默认) | |
BRIDGE_DSH_SESSION_ID |
指定已有会话 ID(留空自动创建/复用) |
首次双击
start-bot.bat时如检测到没有.env,会提示你先运行node setup.mjs完成配置。
双击 start-bot.bat,弹出独立命令行窗口运行 bot。
cd E:\Workspace\dsh-lark-bridge
node src/bot.js
dsh-lark-bridge 的 node.exe → 结束任务im.message.receive_v1(接收消息)card.action.trigger(交互卡片回调)im:message、im:message:send_as_bot(发送消息)im:message.p2p_msg:readonly(接收单聊消息)dsh-lark-bridge/
├── src/
│ ├── bot.js # 主入口:多会话管理、消息路由、指令处理
│ ├── dsh/
│ │ └── client.js # DSH API 客户端(RPC + WS mux + 审批/提问/模型切换)
│ └── feishu/
│ └── bridge.js # 飞书传输层(LarkChannel 长连接 + 卡片构建)
├── setup.mjs # 交互式配置向导(生成 .env)
├── dsh-bundle-patch.json # DSH 插件补丁声明(DSH Store 上架契约)
├── .env.example # 配置模板
├── .session-cache.json # 会话缓存(自动生成)
├── .chat-session-map.json # 飞书chatId → DSH会话ID 映射(自动生成)
├── start-bot.bat # Windows 启动脚本
└── package.json
/new → 创建新会话,旧会话保留可 /switch 回去/list → 只显示磁盘上实际存在的会话(过滤 DSH 内存缓存的残留)/clean → 查看手动清理旧会话的方法(DSH 无删除 API,需手动删文件)CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。