dsh-notify
baka-world
DeepSeek Harness desktop notification plugin (notify-send / D-Bus)
PROJECT TOPICS
PROJECT README
企业微信智能机器人 ⇄ DeepSeek Harness Agent 桥接
通过企业微信智能机器人的 WebSocket 长连接,把企业微信消息交给 DeepSeek Harness 的 Agent 处理,再将结果流式回复到微信。
本仓库提供两种运行形态:
| 形态 | 说明 | 状态 |
|---|---|---|
plugin/ |
DSH 插件(推荐):挂进 dsh profile,进程内创建 Agent,per-sender 持久会话,会话在 Web GUI 实时可见,含 Settings 配置卡片 | ✅ 推荐 |
bridge.js |
旧版独立脚本:每条消息 spawn dsh --profile headless 子进程(无状态) |
保留作回退 |
persona.md 即机器人「人设」,作为系统提示词注入每个会话allowFrom / agentTimeoutSec / startHint 可在 Settings 插件配置页或 settings.yaml 修改,无需重启flowchart LR
U[企业微信用户] -- WebSocket --> B[dsh-im-bridge]
B -->|plugin 形态| A1[进程内 Agent<br/>agents.create + per-sender 会话]
B -->|bridge.js 形态| A2[dsh --profile headless<br/>每条消息独立进程]
A1 --> S[(会话/设置<br/>GUI 实时可见)]
A2 --> S
B -- replyStream 流式 Markdown --> U
bridge.js 需要;插件随 dsh 运行)BotID 与 Secret# 1) 把插件装进目标 profile(如 web)
dsh plugin --profile web add <本仓库路径>/plugin
# 2) 在 profile 的 cordis.patch.yml 中配置插件行
# - id: im-bridge
# config:
# botId: "<你的 BotID>"
# secret: "<你的 Secret>"
# workspace: "<你的工作区>"
# personaFile: "<绝对路径>/persona.md"
# 3) 重启 dsh 进程
# 4) 在企业微信给机器人发消息即可使用
企业微信收到机器人回复;同时该会话出现在 DSH Web GUI 的会话列表中(可实时查看、续聊)。
复制 config.example.json 为 config.json 并填写(config.json 含密钥,不入库):
| 字段 | 说明 |
|---|---|
botId / secret |
企业微信智能机器人凭证 |
workspace |
Agent 的工作目录(会话 cwd) |
dshCli |
dsh CLI 的入口脚本路径(仅旧版 bridge.js 需要) |
agentTimeoutSec |
单任务最长执行时间(秒) |
allowFrom |
允许的发送者 userid 列表;留空 [] = 允许所有人 |
startHint |
开始处理时的占位提示语 |
patch字段(旧版bridge.js专用,可选):指向工作区的--patch覆盖层文件 (默认workspace/headless.patch.yml,本地配置文件,不在本仓库内)。示例配置已移除该字段, 需要时自行添加,例如"patch": "headless.patch.yml"。
插件运行时,allowFrom / agentTimeoutSec / startHint 可在 Settings → 插件配置 页面编辑,
写入 settings.yaml 热生效,也可直接修改 profile patch。
persona.md 是机器人的人设(角色设定与行为规范),作为系统提示词注入每个会话,决定机器人以什么身份、按什么规则回答。
personaFile 指向该文件;想换人设就改这里plugin/persona.example.md(示例为"办公助手"人设,可改为客服、技术专家等)persona.md 可能包含你的环境凭据等敏感信息,不入库:复制 plugin/persona.example.md 为 plugin/persona.md 后按需填写{{model}} / {{cwd}} 两个占位符(未知变量会直接报错)cd <本仓库路径>
npm install
node bridge.js
看到 [bridge] 认证成功, 等待消息... 即可使用。每条消息会 spawn 一个独立的
dsh --profile headless 进程(无状态);config.json 在启动时读取一次,改动需重启。
bridge.js 在受限沙箱内测试可能报 spawn EPERM,请以普通方式启动config.json、plugin/persona.md 已被 .gitignore 排除,请勿强制添加或发布docs/、示例文件等是否含有环境专属信息docs/aibot-node-sdk-README.md)CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。