22-ai-00/dsh-enhanced--plugins-assistant-proactive2

@dsh-enhanced/assistant-proactive

提供目标事件机会过滤与决策冷却机制

AI 分析

用于主动式任务的效用决策与频控,需配合goals和事件触发插件。

包名
@dsh-enhanced/assistant-proactive
版本
0.1.28
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:22-ai-00/dsh-enhanced#bb3fb924f1bdb946901614b8b848ac3a1d60c642&path:plugins/assistant-proactive

配置与使用

在本插件的 Cordis 配置行设置(将数据库路径替换为本机私有目录):

databasePath: /home/operator/.dsh/assistant-proactive.sqlite
profiles:
  - id: useful-report
    mode: execute
    expectedBenefit: 100
    successPpm: 900000
    executionCost: 10
    interruptionCost: 5
    possibleLoss: 5
    minimumUtility: 1
    mergeWindowMs: 2000
    cooldownMs: 60000
    rejectionCooldownMs: 3600000
    quietHours:
      timezone: Asia/Shanghai
      startMinute: 1380
      endMinute: 480
    maxDecisionsPerGoal: 20
    maxExecutionsPerGoal: 2
    maxRemindersPerGoal: 0
  - id: useful-draft
    mode: prepare
    preparation:
      provider: configured-provider
      model: configured-model
      budgetId: preparation-runs
      maxOutputTokens: 2048
      timeoutMs: 120000
    expectedBenefit: 100
    successPpm: 900000
    executionCost: 10
    interruptionCost: 5
    possibleLoss: 5
    minimumUtility: 1
    mergeWindowMs: 2000
    cooldownMs: 60000
    rejectionCooldownMs: 3600000
    maxDecisionsPerGoal: 20
    maxExecutionsPerGoal: 0
    maxRemindersPerGoal: 0

useful-draft 还需要在 Policy 的 budgets 中配置 id: preparation-runsmetric: automation-runs、例如 limit: 5periodMs: 86400000scope: subject,并为 background:assistant-proactive/v1 授予目标资源的 prepare。subject 预算固定统计 assistant-proactive-v1-preparation,不会随事件或目标变更另开额度。将 provider/model 替换为当前实际可用线路。

对话示例:为当前目标等待 report-file 触发器,使用 useful-report 机会策略,截止时间为一小时后。 模型在当前主人请求中调用 goal_wait_event,显式提供 opportunity_profile: useful-report,以及实际目标 ID、native revision、触发器 ID 和毫秒时间戳。未知策略在暂停前被拒绝;省略策略保留 Goals 原有行为。

  • execute:达到条件后返回执行候选;Goals 再次核验当前目标和授权,才能恢复。
  • remind:向冻结的主人会话投递一条持久提醒,包含目标、事件标识与配置估值;不调用模型,不执行目标。要求 Delivery 支持 enqueueOwnerNotification、已配置主人路由,并为背景主体 assistant-proactive/v1 授予该会话消息的 send 权限。设置 maxRemindersPerGoal 为正数;重复处理同一决定复用相同投递键。Web 在原会话输入区显示“主动提醒”,重启后可继续读取;其他渠道通过已有适配器发送。
  • prepare:默认只保存目标、事件标识与判断理由,供 proactive_status 查询;省略 preparation 时不生成模型草稿、不修改业务文件。显式配置 preparation { provider, model, budgetId, maxOutputTokens, timeoutMs } 后,才会排入持久准备队列并请求一次真实模型草稿。该草稿使用独立 Session、最多一次模型请求、tools: []maxToolCalls: 0;准备运行只解析预设身份,不装载预设工具和 persona,原目标保持 paused;运行器禁止工具执行;提示要求只提供草稿、不声称完成或验收。模型文本本身不构成执行或验收证据。proactive_status 返回的草稿始终是 verified: false / unverified-draft,不是验收结果。目标继续等待后续事件,直到截止或主人控制。
  • proactive_feedback:当前已认证主人可以接受或拒绝指定决定;拒绝为该目标/策略的后续决定设置持久冷却。反馈不会撤销已经执行的业务动作,也不会创建执行授权;对准备任务,拒绝会取消排队、请求在途运行停止并拒收迟到结果。

收益值为操作者配置的同一抽象单位,公式为 floor(expectedBenefit * successPpm / 1000000) - executionCost - interruptionCost - possibleLoss。它们不是独立测得的成功概率、货币成本或真实效果。策略首次用于目标时冻结;改变部署配置不会放宽该目标已冻结的策略。预算统计覆盖同一主人和目标下的所有策略;执行预算仍由 Goals 单独强制执行。

静默时段按 IANA 时区计算,支持跨午夜。合并等待和静默结束依靠 Goals 的周期核对;重启后继续读取原记录。事件内容不提供权限,也不作为新的目标指令。提醒投递有效期不晚于目标等待期限或下一个静默时段开始;未及时发送的提醒会失效,不跨静默时段补发。发送前及 Web 读取时重查原主人、绑定代次、路由和当前发送权限。Web 接受表示通知已可供读取,不表示用户已阅读。