前言¶
DeepSeek Harness 的插件化架构允许通过配置或代码扩展智能体行为。构建长期运行计划时,需要处理资源竞争、循环逻辑、并发控制以及潜在的死锁问题。yxie2/dsh-petrinet 插件引入了工作流网(Workflow-net)作为中间表示,将计划建模为令牌在网中的流转,从而解决这些问题。
这是什么¶
这是一款 DeepSeek Harness 工作流网运行时插件,由开发者 yxie2 维护。它将长期计划建模为状态,通过令牌在网中的移动来驱动执行。插件提供了资源感知并发、原生循环与扇出、静态健全性检查以及基于自身事件日志的过程挖掘能力。
核心功能¶
- 资源感知并发:通过声明式定义资源及其容量(如信号量、互斥锁),由统一的网驱动规则自动执行。
- 原生循环与扇出:支持重试、轮询、按发现项运行等模式,无需额外逻辑。
- 静态健全性检查:在计划持久化前,通过可达性分析检查是否存在死锁或无法完成的情况,并拒绝不可靠的计划。
- 过程挖掘:利用执行日志自动分析执行情况,提供一致性报告和改进建议。
安装与启用¶
通过官方插件管理命令安装。
dsh plugin add @yxie2/petrinet
典型用法¶
插件提供了多个工具命令和 DSL 定义方式。
1. 定义计划¶
使用 JSON DSL 定义资源和流程。模型主要写入结构,不直接生成弧。示例:
{
"resources": [{ "id": "A", "capacity": 1 }],
"flow": { "parallel": [...] }
}
2. 验证健全性¶
在执行前使用 petri_plan 检查计划是否为 SOUND。
3. 分析死锁¶
使用 petri_analyze 获取具体的死锁状态示例。
4. 获取洞察¶
使用 petri_insights 查看一致性分析和资源容量建议。
5. 重构网¶
使用 alphaMine 从观察到的行为中重新发现网结构。
适用场景与注意¶
适合需要严格资源管理和复杂流程控制的场景。需注意:
* 令牌机制:令牌是派生的而非存储的,系统通过重构会话日志来恢复状态。
* 两阶段模型:执行采用租约/验证两阶段模型,确保执行结果经过独立裁决。
* 依赖要求:需要安装 peer dependencies:@deepseek-ai/cordis、@deepseek-ai/dsh-agent、@deepseek-ai/dsh-commands、@deepseek-ai/dsh-invariants、@deepseek-ai/dsh-llm。
* 探索预算:可达性分析使用探索预算,超出预算时返回 UNKNOWN,而非乐观的 SOUND。
短结尾¶
该插件为 DSH 提供了基于 Petri Net 的严谨执行模型,结合静态检查与过程挖掘能力,有助于构建更可靠的长周期智能体计划。查看 目录页 或 源码。