前言¶
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 的嚴謹執行模型,結合靜態檢查與過程挖掘能力,有助於構建更可靠的長週期智能體計劃。查看 目錄頁 或 源碼。