dsh-reactor:面向 DeepSeek Harness 的事件驱动自主 Agent 运行时

前言

DeepSeek Harness 的核心设计理念是「一切皆插件」。在构建自动化工作流时,除了通过对话直接调用 Agent,通常还需要处理周期性任务或外部事件触发。传统的 Cron 方式只能按固定时间执行预设脚本,缺乏智能判断和自主处理能力。

dsh-reactor 是一个面向 DeepSeek Harness 的事件驱动自主 Agent 运行时。它将 Agent 从「随叫随到的助理」转变为「主动感知环境、自主完成目标的守护进程」。插件通过定义事件源、条件评估和目标(ECG 模式),让 LLM 在后台持续观察环境,一旦条件命中,便拉起隔离的 Session,利用 ReAct 机制自主完成任务。

插件简介

  • 定位:面向 DeepSeek Harness 的事件驱动自主 Agent 运行时 (ECG)。
  • 开发者:snhna-a。
  • 类别:工作流。
  • 核心价值:通过事件驱动代替固定时间调度,让 Agent 在后台自主感知变化并执行任务。

安装与启用

插件以社区形式提供,非 DeepSeek 官方出品。安装前请确认你的 DeepSeek Harness 版本满足要求(≥ 0.1.2-rc.1)。

1、执行以下命令安装插件:

dsh plugin --profile web add dsh-reactor

2、安装完成后重启 dsh web 服务。

3、在 DSH Web 界面的右下角,会出现一个时钟主题的可视化挂件。你可以通过拖拽调整位置,或点击进入管理面板查看规则状态。

核心功能

dsh-reactor 提供了一套完整的事件处理与 Agent 执行机制:

  • ECG 运行时:将传统的 ECA(Event-Condition-Action)升级为 ECG(Event-Condition-Goal)。事件发生后先评估条件,再决定是否拉起 Agent。
  • 多种事件源:支持通过 http-poll(轮询)、file-watch(监听文件)、command(执行命令)、webhook(接收推送)来获取外部或本地事件。
  • 条件评估:使用 JSONPath 提取数据,配合运算符(eq/ne/gt/contains/exists/changed)以及逻辑组合(AND/OR)来判断事件是否需要触发。
  • Goal 模式:这是推荐的执行方式。它会在隔离的 Agent Session 中运行。LLM 会接收到目标描述和事件上下文,利用 ReAct 机制自主决定如何完成任务(如读取文件、执行命令、调用工具)。
  • 确定性验证:任务完成后,系统会自动进行验证(如检查文件是否存在或命令退出码),只有验证通过才视为成功。
  • 智能恢复:系统具备失败分类机制,能识别 transient(瞬时故障)、repairable(可修复)等错误类型,并自动进行重试。
  • 可审计性:提供完整的运行轨迹,记录每次触发的决策链、Token 消耗和执行细节。

典型用法

安装后,你可以在 DSH 对话中直接使用自然语言定义规则。Agent 会自动调用 reactor_define 等工具接口创建后台规则。

以下是基于插件功能描述的典型场景:

1、监控 GitHub commits,当 HEAD 变化时自动拉取代码并构建:

“帮我监控 https://api.github.com/repos/snhna-a/dsh-reactor 的最新 commit,当 HEAD 变化时,在 C:\work\dsh-reactor 目录里 git pull 最新代码并跑 npm run build,然后告诉我结果。”

2、监控本地配置文件变化并触发通知:

“监控 deploy.json 文件,当 version 字段变化时,发 webhook 通知。”

3、定期分析代码变更:

“每 5 分钟跑 git log --oneline -1,当输出变化时,在新会话里分析这次提交。”

4、主动诊断修复错误:

“轮询监控某网站的 API,当 status 变成 error 时,让 Agent 自动诊断并修复。”

安全与注意事项

  • 权限控制:在 Goal 模式下,使用 permissionPreset 参数来控制 Agent 的能力边界,防止 Agent 执行超出预期的操作。
  • 数据存储:所有规则和历史数据存储在本地 ~/.dsh/reactor/ 目录下,不上传第三方服务器。
  • Webhook 安全:默认情况下,Webhook 仅监听本地回环地址。如果需要对外提供服务,必须配置 webhookToken 并配合 TLS 加密。
  • Shell 执行:插件在 DSH 运行环境中执行命令,仅信任你自己创建的规则。建议在执行 Shell 动作前仔细审查规则内容。

生态链接

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

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

小夜