面向 DeepSeek Harness 的事件驱动自主 Agent 运行时
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add snhna-a/dsh-reactor该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 40 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/11/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-reactor(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 06:05:35
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 35 处,展示前 33 条)
- 发起网络请求src/actions/webhook.ts:12
const res = await fetch(action.target, { - 写入本地文件src/agent-session.ts:97
await mkdir(workspacePath, { recursive: true }) - 发起网络请求src/client/api.ts:132
const res = await fetch(`${this.base}${path}`, { - 发起网络请求src/client/api.ts:153
return this.request('/rules') - 发起网络请求src/client/api.ts:157
return this.request('/rules', { method: 'POST', body: JSON.stringify(input) }) - 发起网络请求src/client/api.ts:161
return this.request('/rules', { method: 'PATCH', body: JSON.stringify({ id, patch }) }) - 发起网络请求src/client/api.ts:165
return this.request(`/rules?ruleId=${encodeURIComponent(id)}`, { method: 'DELETE' }) - 发起网络请求src/client/api.ts:172
return this.request(`/history?${q.toString()}`) - 发起网络请求src/engine.ts:335
const res = await fetch(source.target, { - 读取本地文件src/engine.ts:354
const content = await readFile(source.target, 'utf8') - 写入本地文件src/goal-session.ts:28
mkdirSync(dirname(file), { recursive: true }) - 写入本地文件src/goal-session.ts:29
appendFileSync(file, line, 'utf8') - 读取本地文件src/host-modules.ts:25
if (!existsSync(pjPath)) return null - 读取本地文件src/host-modules.ts:27
const pj = JSON.parse(readFileSync(pjPath, 'utf8')) - 读取本地文件src/host-modules.ts:45
if (existsSync(join(pkgDir, cand))) return join(pkgDir, cand) - 读取本地文件src/host-modules.ts:82
if (existsSync(cacheBase)) { - 读取本地文件src/host-modules.ts:94
if (existsSync(profilesBase)) { - 读取本地文件src/host-modules.ts:126
if (!existsSync(pkgDir)) continue - 读取本地文件src/preflight.ts:28
if (existsSync(cwd)) { - 读取本地文件src/preflight.ts:30
accessSync(cwd, constants.R_OK) - 读取本地文件src/preflight.ts:32
readdirSync(cwd) - 写入本地文件src/preflight.ts:44
writeFileSync(probeFile, 'probe', 'utf8') - 删除本地文件src/preflight.ts:45
unlinkSync(probeFile) - 执行外部命令来自配置/变量src/preflight.ts:54
execFileSync(process.platform === 'win32' ? 'cmd.exe' : 'echo', - 执行外部命令固定命令src/preflight.ts:64
execFileSync('git', ['--version'], { timeout: 3000, stdio: 'ignore' }) - 读取本地文件src/store.ts:58
const raw = await readFile(this.filePath, 'utf8') - 写入本地文件src/store.ts:82
await mkdir(dirname(this.filePath), { recursive: true }) - 写入本地文件src/store.ts:84
await writeFile(tmp, JSON.stringify(state, null, 2), 'utf8') - 写入本地文件src/store.ts:85
await rename(tmp, this.filePath) - 读取本地文件src/store.ts:106
const raw = await readFile(this.filePath, 'utf8') - 写入本地文件src/store.ts:146
await mkdir(dirname(this.filePath), { recursive: true }) - 写入本地文件src/store.ts:149
await writeFile(tmp, body, 'utf8') - 写入本地文件src/store.ts:150
await rename(tmp, this.filePath)
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-invariants@deepseek-ai/dsh-tools@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 事件驱动自主运行
- 轮询与推送事件源
- 条件判断与组合动作
事件-条件-动作(ECA)自动化插件,给 DeepSeek Harness 用:把智能体变成主动看门狗,支持轮询/推送事件源、条件判断和可组合动作。
README
由 DeepSeek 最新模型翻译生成面向 DeepSeek Harness 的事件驱动自主 Agent 运行时
让 DeepSeek Agent 从"随叫随到的助理"变成"主动感知环境、自主完成目标的守护进程"。
dsh-reactor 不是另一个 cron 插件。它把 DeepSeek Harness 的 Agent 变成一个事件驱动的自主运行时:你告诉它"监控什么、什么时候值得处理、想达成什么目标",它就在后台持续观察,一旦条件命中,拉起一个隔离的 Agent Session,让 LLM 用 ReAct 自主完成任务、验证结果、自动恢复,并留下完整运行轨迹。
社区插件,非 DeepSeek 官方出品。
Listed on dsh-plugin.org
为什么不是 cron?
展开完整文档(README 剩余 1 节)
面向 DeepSeek Harness 的事件驱动自主 Agent 运行时
让 DeepSeek Agent 从"随叫随到的助理"变成"主动感知环境、自主完成目标的守护进程"。
dsh-reactor 不是另一个 cron 插件。它把 DeepSeek Harness 的 Agent 变成一个事件驱动的自主运行时:你告诉它"监控什么、什么时候值得处理、想达成什么目标",它就在后台持续观察,一旦条件命中,拉起一个隔离的 Agent Session,让 LLM 用 ReAct 自主完成任务、验证结果、自动恢复,并留下完整运行轨迹。
社区插件,非 DeepSeek 官方出品。
Listed on dsh-plugin.org
为什么不是 cron?
| 维度 | 传统 cron 插件 | dsh-reactor |
| 触发方式 | 固定时间 | 任意事件源 + 条件评估 |
| 决策逻辑 | 到点就执行 | 评估条件后决定是否执行 |
| 执行方式 | 跑预设脚本 | 拉起隔离 Agent,LLM ReAct 自主完成 |
| 结果验证 | 无 | 确定性验证(文件存在/命令退出码) |
| 失败恢复 | 无 | 自动分类 + 智能 retry |
| 状态感知 | 无 | 上次摘要注入,续作不重头开始 |
| 可审计 | 日志 | 完整 Run Trace 决策链 |
安装
dsh plugin --profile web add dsh-reactor
安装后重启 dsh web,右下角出现时钟主题挂件。
卸载
dsh plugin --profile web remove dsh-reactor
快速开始
安装后,在 DSH 对话中直接用自然语言描述你的目标:
"帮我监控 https://api.github.com/repos/snhna-a/dsh-reactor 的最新 commit,当 HEAD 变化时,在 C:\work\dsh-reactor 目录里 git pull 最新代码并跑 npm run build,然后告诉我结果。"
Agent 会自动调用 reactor_define 创建规则。之后无需人工干预,规则在后台持续运行。
更多示例:
- "监控 deploy.json 文件,当 version 字段变化时,发 webhook 通知"
- "每 5 分钟跑 git log --oneline -1,当输出变化时,在新会话里分析这次提交"
- "轮询某网站的监控 API,当 status 变成 error 时,让 Agent 自动诊断并修复"
核心概念:ECG(事件-条件-目标)
dsh-reactor 把传统 ECA 升级为 ECG:
Event(事件) ↓ 轮询/监听/接收推送 Condition(条件) ↓ JSONPath + 比较运算 + AND/OR + changed Goal(目标) ↓ 拉起隔离 Agent Session,LLM ReAct 自主完成
关键区别:Action 模式跑固定脚本;Goal 模式把你的目标 + 事件上下文注入隔离 Agent Session,让 LLM 自己决定怎么完成——拉代码、跑测试、分析报错、修复、再验证,全程自主。
事件源
| 类型 | 说明 |
| http-poll | 轮询 HTTP 接口,解析 JSON/文本 |
| file-watch | 读取本地文件(自动处理 BOM) |
| command | 执行 shell 命令,解析 stdout |
| webhook | 外部系统 HTTP POST 主动推送 |
条件
JSONPath($.status、$.data.count)+ 运算符(eq/ne/gt/contains/exists/changed)+ AND/OR 组合。
两种执行模式
Action 模式(传统 ECA)
- shell:执行命令(支持 {{payload.field}} 模板)
- webhook:POST JSON 到指定 URL
- agent-talk:在隔离 Session 中跑提示词
Goal 模式(ECG,推荐)
- 拉起隔离 Agent Session
- 注入你的目标 + 上次运行摘要(续作)
- LLM ReAct 自主完成:读文件、跑命令、调工具、验证结果
- 完成后自动做确定性验证(文件存在/命令退出码)
- 失败自动分类 + 智能 retry
安全与防护
| 机制 | 说明 |
| Budget Gate | maxRunsPerDay / maxTokens 硬门,超限 blocked 0 token |
| Approval Gate | riskLevel: high + requireApproval → 等人工批准才跑 |
| Preflight | 启动 Agent 前检查工作目录/文件系统/网络能力,缺能力 blocked 0 token |
| Cooldown | 触发后冷却时间,防刷屏 |
| Overlap Protection | 同一规则不并发跑 |
| Failure Classification | 自动分类 transient/repairable/dangerous |
| Smart Retry | transient 错误(网络 blip/超时)自动多 retry 一次 |
可视化挂件
DSH Web 右下角常驻时钟主题挂件:
- 拖拽吸附:可拖到四边/四角,左吸附自动镜像翻转
- 大小调节:0.6–2.5x,半透明设置面板
- 触发提醒:规则触发、失败、重试时气泡提示
- 管理面板:总览 stats、规则列表(启停/删除)、规则详情
- Run Trace:每次 run 完整决策链时间线
- Failure 标签:一眼看出失败类型
- Token 消耗:每次 run 的 input/output/cache token
模型工具 Agent 通过以下工具管理规则(自然语言即可,无需手动操作):
| 工具 | 用途 |
| reactor_define | 创建规则(支持 action/goal 模式) |
| reactor_list | 列出所有规则及运行状态 |
| reactor_status | 查看规则详情 |
| reactor_test | 用模拟载荷手动测试规则 |
| reactor_remove | 删除规则 |
| reactor_history | 查看执行历史 |
规则持久化与审计
- 规则自动持久化到 ~/.dsh/reactor/rules.json,重启自动恢复
- 每次触发记录到 ~/.dsh/reactor/history.jsonl(ring buffer 500 条)
- 历史包含:触发时间、匹配结果、事件载荷、Agent 会话 ID、Token 消耗、Run Trace steps、失败分类
- 下次同规则触发时,上次摘要自动注入 goal prompt(续作不重头开始)
与其他 DSH 插件的关系
- dsh-cron / dsh-automation:定时任务。dsh-reactor 是事件驱动 + Agent ReAct,不重复。
- dsh-cron-panel:定时任务面板。dsh-reactor 挂件是事件驱动规则的可视化。
- dsh-taskboard:人机协作看板。dsh-reactor 是后台自主运行,不需要人逐条验收。
- dsh-agent-teams:多 Agent 编排。dsh-reactor 是事件路由,每个事件拉起一个隔离 Agent。
权限与风险
- shell 动作在 dsh 运行环境执行命令,仅信任你自己创建的规则。
- http-poll向配置 URL 发请求,确保目标可信。
- Goal 模式在隔离工作区创建 Agent Session,使用 permissionPreset 控制能力边界。
- webhook 入口默认仅本地回环监听;对外暴露请配置 webhookToken + TLS。
- 所有数据存储在本地 ~/.dsh/reactor/,不上传第三方。
兼容性
| 项 | 说明 |
| DeepSeek Harness | ≥ 0.1.2-rc.1(@deepseek-ai/cordis ^4.0.0) |
| Node.js | ≥ 22 |
| profile | web 完整能力;headless 自动降级 |
| 平台 | Windows / Linux / macOS |
开发
pnpm install
pnpm typecheck
pnpm build
dsh-reactor
面向 DeepSeek Harness 的事件驱动自主 Agent 运行时
将你的 DeepSeek Agent 从按需响应的助手,转变为主动感知世界、对真实条件采取行动并自主完成任务的守护进程。
社区插件——非 DeepSeek 官方产品。
为什么不用 cron?
| 维度 | 传统 cron 插件 | dsh-reactor |
| 触发 | 固定时间表 | 任意事件源 + 条件评估 |
| 决策 | 到点即运行 | 先评估条件 |
| 执行 | 预设 shell 脚本 | 拉起隔离 Agent,由 LLM ReAct 完成工作 |
| 验证 | 无 | 确定性检查(文件存在 / 命令退出码) |
| 恢复 | 无 | 失败分类 + 智能重试 |
| 状态 | 无状态 | 注入上次摘要——从上次中断处继续 |
| 审计 | 仅日志 | 完整 Run Trace 决策链 |
安装
dsh plugin --profile web add dsh-reactor
安装后重启 dsh web。右下角会出现一个时钟主题的挂件。
卸载
dsh plugin --profile web remove dsh-reactor
快速开始
安装后,只需在 DSH 聊天中描述你的目标:
“监视 https://api.github.com/repos/snhna-a/dsh-reactor 的新提交。当 HEAD 变化时,在 C:\work\dsh-reactor 中执行 git pull 并运行 npm run build,然后告诉我结果。”
Agent 会调用 reactor_define 创建规则。它会在后台运行,无需进一步输入。
更多示例:
- “监视 deploy.json;当 version 变化时,发送 webhook 告警。”
- “每 5 分钟运行 git log --oneline -1;当输出变化时,在新会话中分析该提交。”
- “轮询状态 API;当状态变为 error 时,让 Agent 诊断并修复它。”
核心概念:ECG(Event-Condition-Goal)
dsh-reactor 将传统 ECA 升级为 ECG:
Event
↓ poll / watch / webhook
Condition
↓ JSONPath + operators + AND/OR + changed
Goal
↓ spawn isolated Agent Session, LLM ReAct autonomously
关键区别:Action 模式运行固定脚本。Goal 模式将你的目标 + 事件上下文注入一个隔离的 Agent Session——由 LLM 决定如何执行:拉取代码、运行测试、读取错误、修复、重新验证,全部自主完成。
事件源
| 类型 | 描述 |
| http-poll | 轮询 HTTP 端点,解析 JSON/text |
| file-watch | 读取本地文件(已处理 BOM) |
| command | 执行 shell 命令,解析 stdout |
| webhook | 外部系统直接 POST 事件 |
条件
JSONPath($.status、$.data.count)+ 运算符(eq/ne/gt/contains/exists/changed)+ AND/OR。
两种执行模式
Action 模式(经典 ECA)
- shell:运行命令(支持 {{payload.field}} 模板)
- webhook:向 URL POST JSON
- agent-talk:在隔离会话中运行 prompt
Goal 模式(ECG,推荐)
- 生成隔离的 Agent Session
- 注入你的目标 + 上次运行摘要(延续)
- LLM ReAct 自主工作:读取文件、运行命令、调用工具、验证
- settle 后自动进行确定性验证(文件存在 / 退出码)
- 失败自动分类 + 智能重试
安全与防护
| 机制 | 描述 |
| Budget Gate | maxRunsPerDay / maxTokens 硬限制;超出 → 阻止,0 tokens |
| Approval Gate | riskLevel: high + requireApproval → 等待人工批准 |
| Preflight | 生成 Agent 前检查 workspace/filesystem/network;缺失 → 阻止,0 tokens |
| Cooldown | 窗口期内不重复触发 |
| Overlap Protection | 同一规则绝不并发运行 |
| Failure Classification | 自动标记 transient/repairable/dangerous |
| Smart Retry | 瞬时错误(网络抖动/超时)自动重试一次 |
Widget UI
DSH Web 右下角的时钟主题浮动 widget:
- 拖拽与吸附:拖到任意边缘/角落;左吸附自动镜像
- 尺寸:0.6–2.5x,半透明设置面板
- 触发警报:触发/失败/重试时气泡提示
- 管理面板:统计概览、规则列表(切换/删除)、规则详情
- Run Trace:完整决策链时间线(trigger→decision→approval→budget→retry→agent→verify→result)
- 失败标签:一眼识别失败类型(transient/repairable/dangerous)
- Token 用量:每次运行的 input/output/cache tokens
模型工具
Agent 通过这些工具管理规则(自然语言,无需手动 UI):
| 工具 | 用途 |
| reactor_define | 创建规则(action/goal 模式) |
| reactor_list | 列出所有规则及其状态 |
| reactor_status | 规则详情(上次 payload、运行状态) |
| reactor_test | 使用模拟负载测试规则 |
| reactor_remove | 删除规则 |
| reactor_history | 执行历史(Run Trace、tokens、失败类别) |
持久化与审计
- 规则自动持久化到 ~/.dsh/reactor/rules.json,重启时恢复
- 每次触发都记录到 ~/.dsh/reactor/history.jsonl(环形缓冲区,500 条)
- 历史包含:时间戳、匹配结果、负载、会话 ID、token 用量、Run Trace 步骤、失败类别
- 上次摘要会在下次触发时自动注入目标提示词(续接)
与其他 DSH 插件的关系
- dsh-cron / dsh-automation:定时任务。dsh-reactor 是事件驱动 + Agent ReAct。
- dsh-cron-panel:cron UI 面板。dsh-reactor 组件用于事件规则。
- dsh-taskboard:人机看板。dsh-reactor 在后台自主运行。
- dsh-agent-teams:多 Agent 编排。dsh-reactor 是事件路由——每个事件一个隔离的 Agent。
权限与风险
- shell 动作在 dsh 进程中运行;只信任你自己创建的规则。
- http-poll 会向配置的 URL 发起请求;确保目标可信。
- 目标模式会创建隔离的 Agent 会话,并通过 permissionPreset 进行边界控制。
- webhook 默认监听回环地址;如需对外暴露,请配置 webhookToken + TLS。
- 所有数据都存储在本地 ~/.dsh/reactor/;无第三方遥测。
兼容性
| 项目 | 要求 |
| DeepSeek Harness | ≥ 0.1.2-rc.1(@deepseek-ai/cordis ^4.0.0) |
| Node.js | ≥ 22 |
| Profile | web 全功能;无头模式自动降级 |
| 平台 | Windows / Linux / macOS |
开发
pnpm install
pnpm typecheck
pnpm build
许可证
MIT
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
snhna-a/dsh-reactor
面向 DeepSeek Harness 的事件驱动自主 Agent 运行时
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目