evolcore 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +64 -0
- package/LICENSE +21 -0
- package/MIGRATION-0.5.0.md +378 -0
- package/README.md +318 -14
- package/ROLE_ACCESS_CONTROL.md +174 -0
- package/assets/.env.template +4 -0
- package/bin/ec-safe-output.js +161 -0
- package/bin/ec.js +29 -0
- package/dist/agents/baseagent.js +163 -0
- package/dist/agents/claude-runner.js +2565 -0
- package/dist/agents/codex-app-server-client.js +448 -0
- package/dist/agents/codex-runner.js +2682 -0
- package/dist/agents/gemini-runner.js +666 -0
- package/dist/agents/runner-types.js +75 -0
- package/dist/aun/aid/agentmd.js +216 -0
- package/dist/aun/aid/client.js +132 -0
- package/dist/aun/aid/control-aid.js +91 -0
- package/dist/aun/aid/identity.js +518 -0
- package/dist/aun/aid/index.js +4 -0
- package/dist/aun/aid/store.js +74 -0
- package/dist/aun/aid/types.js +1 -0
- package/dist/aun/aid/validation.js +21 -0
- package/dist/aun/group-identity.js +10 -0
- package/dist/aun/msg/group-index.js +6 -0
- package/dist/aun/msg/group.js +1231 -0
- package/dist/aun/msg/history.js +123 -0
- package/dist/aun/msg/index.js +5 -0
- package/dist/aun/msg/p2p.js +393 -0
- package/dist/aun/msg/payload-type.js +27 -0
- package/dist/aun/msg/upload.js +137 -0
- package/dist/aun/outbox.js +168 -0
- package/dist/aun/rpc/caller.js +42 -0
- package/dist/aun/rpc/connection.js +25 -0
- package/dist/aun/rpc/index.js +2 -0
- package/dist/aun/service-proxy.js +225 -0
- package/dist/aun/storage/download.js +29 -0
- package/dist/aun/storage/index.js +3 -0
- package/dist/aun/storage/manage.js +10 -0
- package/dist/aun/storage/upload.js +68 -0
- package/dist/channels/aun.js +4164 -0
- package/dist/channels/contact-bind-code.js +134 -0
- package/dist/channels/daemon.js +422 -0
- package/dist/channels/dingtalk.js +1479 -0
- package/dist/channels/feishu.js +1865 -0
- package/dist/channels/qqbot.js +409 -0
- package/dist/channels/wechat.js +817 -0
- package/dist/channels/wecom-card.js +101 -0
- package/dist/channels/wecom-onboarding.js +82 -0
- package/dist/channels/wecom-state.js +191 -0
- package/dist/channels/wecom.js +1157 -0
- package/dist/cli/agent-command.js +642 -0
- package/dist/cli/agent.js +1059 -0
- package/dist/cli/aun-commands.js +2003 -0
- package/dist/cli/bench.js +1228 -0
- package/dist/cli/cli-argv.js +66 -0
- package/dist/cli/code-stats.js +329 -0
- package/dist/cli/command-log.js +82 -0
- package/dist/cli/config-selector.js +69 -0
- package/dist/cli/config.js +261 -0
- package/dist/cli/contact.js +71 -0
- package/dist/cli/ctl-command.js +62 -0
- package/dist/cli/daemon-commands.js +2750 -0
- package/dist/cli/fs-command.js +1447 -0
- package/dist/cli/handoff-command.js +302 -0
- package/dist/cli/help.js +35 -0
- package/dist/cli/index.js +374 -0
- package/dist/cli/init-channel.js +1372 -0
- package/dist/cli/init.js +590 -0
- package/dist/cli/link-rules.js +240 -0
- package/dist/cli/model.js +591 -0
- package/dist/cli/net-check.js +723 -0
- package/dist/cli/queue-command.js +150 -0
- package/dist/cli/raw-key-input.js +25 -0
- package/dist/cli/response.js +344 -0
- package/dist/cli/restart-monitor.js +480 -0
- package/dist/cli/stats.js +609 -0
- package/dist/cli/task-context.js +80 -0
- package/dist/cli/trigger-command.js +545 -0
- package/dist/cli/version.js +93 -0
- package/dist/cli/watch-logs.js +33 -0
- package/dist/cli/watch-msg.js +673 -0
- package/dist/config/boot-log.js +266 -0
- package/dist/config/builtin-role-templates.js +42 -0
- package/dist/config/builtin-roles.js +91 -0
- package/dist/config/config-batch-get.js +11 -0
- package/dist/config/config-field-policy.js +261 -0
- package/dist/config/config-manager.js +1120 -0
- package/dist/config/config-operation-service.js +384 -0
- package/dist/config/contact-alias.js +68 -0
- package/dist/config/contact-book-store.js +454 -0
- package/dist/config/contact-book-v2-startup.js +35 -0
- package/dist/config/contact-book.js +224 -0
- package/dist/config/contact-operation-service.js +110 -0
- package/dist/config/gateway-config.js +858 -0
- package/dist/config/lifecycle.js +17 -0
- package/dist/config/mention-mode.js +27 -0
- package/dist/config/merge.js +161 -0
- package/dist/config/owner-policy.js +4 -0
- package/dist/config/peer-role-resolver.js +218 -0
- package/dist/config/resolved-config-op.js +483 -0
- package/dist/config/role-config-v4-startup.js +32 -0
- package/dist/config/role-config-v5-startup.js +27 -0
- package/dist/config/role-ranks.js +18 -0
- package/dist/config/role-schema.js +105 -0
- package/dist/config/role-service.js +156 -0
- package/dist/config/role-store.js +215 -0
- package/dist/config/roles.js +64 -0
- package/dist/config/schema-registry.js +154 -0
- package/dist/config/snapshot.js +598 -0
- package/dist/config-store.js +501 -0
- package/dist/core/auth/agent-delegation.js +111 -0
- package/dist/core/auth/auth-gateway.js +166 -0
- package/dist/core/auth/authenticated-actor.js +6 -0
- package/dist/core/auth/authorization-audit.js +119 -0
- package/dist/core/auth/operation-authorizer.js +720 -0
- package/dist/core/auth/operation-catalog.js +731 -0
- package/dist/core/baseagent-loader.js +54 -0
- package/dist/core/bootstrap-service.js +175 -0
- package/dist/core/capability/capability-manager.js +316 -0
- package/dist/core/capability/providers/claude-capability-provider.js +176 -0
- package/dist/core/capability/providers/codex-capability-provider.js +148 -0
- package/dist/core/capability/providers/gemini-capability-provider.js +10 -0
- package/dist/core/capability/types.js +27 -0
- package/dist/core/causation/audit.js +103 -0
- package/dist/core/causation/aun-association.js +111 -0
- package/dist/core/causation/context.js +93 -0
- package/dist/core/causation/index.js +4 -0
- package/dist/core/causation/types.js +2 -0
- package/dist/core/channel-loader.js +277 -0
- package/dist/core/command/agent-control.js +616 -0
- package/dist/core/command/cli-intent-parser.js +225 -0
- package/dist/core/command/command-handler.js +1733 -0
- package/dist/core/command/connect-menu.js +374 -0
- package/dist/core/command/menu-handler.js +3452 -0
- package/dist/core/command/menu-protocol.js +247 -0
- package/dist/core/command/role-menu.js +1623 -0
- package/dist/core/command/slash-gate.js +148 -0
- package/dist/core/command/slash-handler.js +3066 -0
- package/dist/core/daemon-file-cache.js +222 -0
- package/dist/core/event-bus.js +32 -0
- package/dist/core/event-catalog.js +810 -0
- package/dist/core/evolagent-registry.js +545 -0
- package/dist/core/evolagent.js +342 -0
- package/dist/core/handoff/dispatcher.js +229 -0
- package/dist/core/handoff/mutex.js +46 -0
- package/dist/core/handoff/runtime.js +324 -0
- package/dist/core/handoff/store.js +537 -0
- package/dist/core/handoff/types.js +12 -0
- package/dist/core/inference/text-inference.js +173 -0
- package/dist/core/interaction-registration.js +10 -0
- package/dist/core/interaction-router.js +278 -0
- package/dist/core/message/create-status.js +67 -0
- package/dist/core/message/im-renderer.js +659 -0
- package/dist/core/message/items-formatter.js +76 -0
- package/dist/core/message/logical-queue-bridge.js +123 -0
- package/dist/core/message/message-bridge.js +874 -0
- package/dist/core/message/message-cache.js +56 -0
- package/dist/core/message/message-log.js +339 -0
- package/dist/core/message/message-processor.js +4 -0
- package/dist/core/message/message-queue.js +1446 -0
- package/dist/core/message/message-utils.js +76 -0
- package/dist/core/message/peer-mode.js +105 -0
- package/dist/core/message/pending-hints.js +232 -0
- package/dist/core/message/response-depth.js +33 -0
- package/dist/core/message/response-engine.js +4020 -0
- package/dist/core/message/response-snapshot.js +83 -0
- package/dist/core/message/send-receipt.js +24 -0
- package/dist/core/message/stream-debouncer.js +139 -0
- package/dist/core/message/stream-idle-monitor.js +124 -0
- package/dist/core/model/config-scope.js +162 -0
- package/dist/core/model/field-scope.js +78 -0
- package/dist/core/model/model-catalog.js +227 -0
- package/dist/core/model/model-diagnostics.js +182 -0
- package/dist/core/model/model-permission.js +90 -0
- package/dist/core/permission/approval-gateway.js +1017 -0
- package/dist/core/permission/ec-command-parser.js +347 -0
- package/dist/core/permission/execution-sandbox.js +16 -0
- package/dist/core/permission/index.js +6 -0
- package/dist/core/permission/mode.js +24 -0
- package/dist/core/permission/sandbox-runtime.js +265 -0
- package/dist/core/permission/tool-policy.js +1019 -0
- package/dist/core/permission/unix-socket-policy.js +99 -0
- package/dist/core/protected-paths.js +332 -0
- package/dist/core/relation/peer-identity.js +222 -0
- package/dist/core/relation/peer-key.js +1 -0
- package/dist/core/role/runtime-policy.js +141 -0
- package/dist/core/session/adapters/claude-session-file-adapter.js +218 -0
- package/dist/core/session/adapters/codex-session-file-adapter.js +333 -0
- package/dist/core/session/adapters/gemini-session-file-adapter.js +181 -0
- package/dist/core/session/session-file-adapter.js +7 -0
- package/dist/core/session/session-file-health.js +45 -0
- package/dist/core/session/session-fs-store.js +273 -0
- package/dist/core/session/session-key.js +24 -0
- package/dist/core/session/session-manager.js +1643 -0
- package/dist/core/session/session-mapper.js +100 -0
- package/dist/core/session/session-renew.js +314 -0
- package/dist/core/session/session-title.js +128 -0
- package/dist/core/session/session-turn-coordinator.js +205 -0
- package/dist/core/session/session-turns.js +67 -0
- package/dist/core/system-channels.js +29 -0
- package/dist/eck/baseagent-caps.js +18 -0
- package/dist/eck/detect.js +47 -0
- package/dist/eck/group-rules-sync.js +345 -0
- package/dist/eck/init.js +77 -0
- package/dist/eck/kit-renderer.js +359 -0
- package/dist/eck/manifest-engine.js +446 -0
- package/dist/eck/message-renderer.js +199 -0
- package/dist/eck/rules-loader.js +28 -0
- package/dist/index.js +2926 -4
- package/dist/ipc.js +777 -0
- package/dist/paths.js +262 -0
- package/dist/product.js +18 -0
- package/dist/response-system/context-builder.js +71 -0
- package/dist/response-system/coordinator.js +117 -0
- package/dist/response-system/decision-executor.js +86 -0
- package/dist/response-system/engines/v1/index.js +21 -0
- package/dist/response-system/engines/v1/interactive-flow.js +27 -0
- package/dist/response-system/engines/v1/proactive-flow.js +137 -0
- package/dist/response-system/engines/v1/types.js +1 -0
- package/dist/response-system/extensions.js +41 -0
- package/dist/response-system/index.js +6 -0
- package/dist/response-system/modes/index.js +7 -0
- package/dist/response-system/modes/single-session/index.js +72 -0
- package/dist/response-system/queues/fifo-queue.js +44 -0
- package/dist/response-system/queues/index.js +6 -0
- package/dist/response-system/queues/lifo-queue.js +42 -0
- package/dist/response-system/queues/priority-queue.js +63 -0
- package/dist/response-system/registry.js +97 -0
- package/dist/response-system/resolver.js +37 -0
- package/dist/response-system/selector.js +23 -0
- package/dist/response-system/types.js +7 -0
- package/dist/stats/billing.js +163 -0
- package/dist/stats/budget.js +93 -0
- package/dist/stats/db.js +403 -0
- package/dist/stats/eck-vars.js +89 -0
- package/dist/stats/index.js +11 -0
- package/dist/stats/normalizer.js +80 -0
- package/dist/stats/price-resolver.js +138 -0
- package/dist/stats/query.js +763 -0
- package/dist/stats/role-budget.js +168 -0
- package/dist/stats/writer.js +151 -0
- package/dist/trigger/anomaly-store.js +258 -0
- package/dist/trigger/audit.js +152 -0
- package/dist/trigger/event-source.js +119 -0
- package/dist/trigger/feedback.js +685 -0
- package/dist/trigger/history.js +290 -0
- package/dist/trigger/manager.js +294 -0
- package/dist/trigger/parser.js +595 -0
- package/dist/trigger/patch.js +155 -0
- package/dist/trigger/scheduler.js +1602 -0
- package/dist/trigger/script-executor.js +155 -0
- package/dist/trigger/state.js +145 -0
- package/dist/trigger/types.js +1 -0
- package/dist/trigger/validation.js +634 -0
- package/dist/types.js +12 -0
- package/dist/utils/aid-bind.js +313 -0
- package/dist/utils/atomic-write.js +95 -0
- package/dist/utils/avatar-upload.js +123 -0
- package/dist/utils/cross-platform.js +297 -0
- package/dist/utils/ecweb-utils.js +73 -0
- package/dist/utils/error-dict.json +153 -0
- package/dist/utils/error-utils.js +349 -0
- package/dist/utils/instance-registry.js +444 -0
- package/dist/utils/locale.js +21 -0
- package/dist/utils/log-writer.js +270 -0
- package/dist/utils/logger.js +89 -0
- package/dist/utils/markdown-to-plain-text.js +20 -0
- package/dist/utils/media-cache.js +274 -0
- package/dist/utils/model-prices.jsonl +20 -0
- package/dist/utils/npm-ops.js +210 -0
- package/dist/utils/process-introspect.js +133 -0
- package/dist/utils/process-tree-stats.js +271 -0
- package/dist/utils/project-path.js +74 -0
- package/dist/utils/restart-safety.js +31 -0
- package/dist/utils/stats.js +410 -0
- package/dist/utils/system-memory.js +62 -0
- package/dist/utils/tool-summary.js +284 -0
- package/dist/utils/welcome.js +268 -0
- package/kits/docs/GUIDE.md +20 -0
- package/kits/docs/INDEX.md +66 -0
- package/kits/docs/aun/CHEATSHEET.md +19 -0
- package/kits/docs/aun/SYNC_PROTOCOL.md +15 -0
- package/kits/docs/channels/aun.md +65 -0
- package/kits/docs/channels/feishu.md +56 -0
- package/kits/docs/context-assembly.md +366 -0
- package/kits/docs/eck_templates/GUIDE.template.md +22 -0
- package/kits/docs/eck_templates/INDEX.template.md +28 -0
- package/kits/docs/eck_templates/path-registry.template.md +33 -0
- package/kits/docs/eck_templates/runtime.template.md +19 -0
- package/kits/docs/evolcore/INDEX.md +68 -0
- package/kits/docs/evolcore/agent.md +77 -0
- package/kits/docs/evolcore/aid.md +52 -0
- package/kits/docs/evolcore/config.md +149 -0
- package/kits/docs/evolcore/contact.md +57 -0
- package/kits/docs/evolcore/ctl.md +46 -0
- package/kits/docs/evolcore/event.md +216 -0
- package/kits/docs/evolcore/fs-architecture.md +1215 -0
- package/kits/docs/evolcore/fs.md +110 -0
- package/kits/docs/evolcore/group-fs.md +17 -0
- package/kits/docs/evolcore/group-rules.md +226 -0
- package/kits/docs/evolcore/group.md +150 -0
- package/kits/docs/evolcore/model.md +50 -0
- package/kits/docs/evolcore/msg.md +136 -0
- package/kits/docs/evolcore/response.md +75 -0
- package/kits/docs/evolcore/rpc.md +37 -0
- package/kits/docs/evolcore/self-summary.md +29 -0
- package/kits/docs/evolcore/stats.md +83 -0
- package/kits/docs/evolcore/storage.md +50 -0
- package/kits/docs/evolcore/trigger.md +539 -0
- package/kits/docs/identity/AID_PROFILE_SPEC.md +26 -0
- package/kits/docs/identity/PATH_OPS.md +16 -0
- package/kits/docs/identity/ROLE_DETAIL.md +23 -0
- package/kits/docs/identity/identity-tools.md +26 -0
- package/kits/docs/path-registry.md +43 -0
- package/kits/docs/prompt-loading-architecture.md +266 -0
- package/kits/docs/venues/aun-group.md +45 -0
- package/kits/docs/venues/aun-private.md +10 -0
- package/kits/docs/venues/client-desktop.md +10 -0
- package/kits/docs/venues/client-mobile.md +10 -0
- package/kits/docs/venues/feishu-group.md +13 -0
- package/kits/docs/venues/feishu-private.md +9 -0
- package/kits/docs/venues/group.md +25 -0
- package/kits/docs/venues/private.md +10 -0
- package/kits/eck_manifest.auxiliary.json +43 -0
- package/kits/eck_manifest.json +203 -0
- package/kits/eck_message_manifest.json +63 -0
- package/kits/migrations/README-role-config-v4.md +32 -0
- package/kits/migrations/migrate-contact-book-v2.mjs +747 -0
- package/kits/migrations/migrate-role-config-v4.mjs +623 -0
- package/kits/migrations/migrate-role-config-v5.mjs +346 -0
- package/kits/migrations/rename-config-file.mjs +99 -0
- package/kits/rules/01-overview.md +142 -0
- package/kits/rules/02-navigation.md +76 -0
- package/kits/rules/03-identity.md +34 -0
- package/kits/rules/04-relation.md +59 -0
- package/kits/rules/05-venue.md +44 -0
- package/kits/rules/06-channel.md +59 -0
- package/kits/schemas/_meta.json +32 -0
- package/kits/schemas/agent-config.schema.1.json +177 -0
- package/kits/schemas/agent-config.schema.2.json +239 -0
- package/kits/schemas/agent-config.schema.3.json +119 -0
- package/kits/schemas/agent-config.schema.4.json +208 -0
- package/kits/schemas/agent-config.schema.5.json +326 -0
- package/kits/schemas/agent-config.schema.6.json +322 -0
- package/kits/schemas/contact-book.schema.1.json +36 -0
- package/kits/schemas/contact-book.schema.2.json +43 -0
- package/kits/schemas/daemon.schema.1.json +90 -0
- package/kits/schemas/defaults.schema.1.json +81 -0
- package/kits/schemas/menu-exec-schema-commands.md +208 -0
- package/kits/schemas/migrations/README.md +28 -0
- package/kits/schemas/relation-config.schema.1.json +158 -0
- package/kits/schemas/relation-config.schema.2.json +73 -0
- package/kits/schemas/relation-config.schema.3.json +50 -0
- package/kits/schemas/relation-config.schema.4.json +47 -0
- package/kits/schemas/relation-config.schema.5.json +47 -0
- package/kits/schemas/role-config.schema.1.json +201 -0
- package/kits/schemas/role-registry.schema.1.json +35 -0
- package/kits/schemas/single-session.schema.1.json +31 -0
- package/kits/templates/bootstrap-welcome.md +15 -0
- package/kits/templates/message-fragments/handoff-request-to-target.md +13 -0
- package/kits/templates/message-fragments/handoff-response-to-origin.md +10 -0
- package/kits/templates/message-fragments/inject-default.md +2 -0
- package/kits/templates/message-fragments/item.md +2 -0
- package/kits/templates/roles/admin.json +9 -0
- package/kits/templates/roles/member.json +41 -0
- package/kits/templates/roles/owner.json +9 -0
- package/kits/templates/roles/visitor.json +40 -0
- package/kits/templates/system-fragments/baseagent.md +14 -0
- package/kits/templates/system-fragments/bootstrap.md +16 -0
- package/kits/templates/system-fragments/channel.md +48 -0
- package/kits/templates/system-fragments/commands.md +28 -0
- package/kits/templates/system-fragments/identity.md +11 -0
- package/kits/templates/system-fragments/relation.md +19 -0
- package/kits/templates/system-fragments/session.md +53 -0
- package/kits/templates/system-fragments/venue.md +31 -0
- package/package.json +50 -15
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
# ec trigger - 定时与事件触发器
|
|
2
|
+
|
|
3
|
+
创建、查看、启停、删除和手动运行本机 daemon 管理的 trigger。触发词:触发器/定时任务/cron/提醒/定时检查/自动执行/巡检/禁用 trigger/删除 trigger。
|
|
4
|
+
|
|
5
|
+
> `ec trigger` 通过 daemon IPC 直接操作 TriggerRuntimeScheduler。agent 会话内省略 `--agent` 时,CLI 使用当前任务上下文里的 agent AID;只有跨身份操作或脱离 agent 会话执行时才需要显式传 `--agent <aid>`。
|
|
6
|
+
|
|
7
|
+
## 什么时候用
|
|
8
|
+
|
|
9
|
+
- 用户要求“稍后/每天/每小时/定时/周期性”执行任务
|
|
10
|
+
- 需要无人值守巡检、升级检查、日报、仓库同步
|
|
11
|
+
- 需要基于系统事件触发时,先读 `evolcore/event.md`
|
|
12
|
+
- 需要一次性立即排队执行时,使用 `--once`
|
|
13
|
+
|
|
14
|
+
不要用 trigger 代替当前会话内的即时动作;一次性马上执行直接处理当前请求。
|
|
15
|
+
|
|
16
|
+
## 查询
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
ec trigger list
|
|
20
|
+
ec trigger list --all
|
|
21
|
+
ec trigger show <triggerId>
|
|
22
|
+
ec trigger show <triggerId> --json
|
|
23
|
+
ec trigger history [triggerId]
|
|
24
|
+
ec trigger history [triggerId] --limit 500 --json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`list` 默认只显示 enabled trigger。排查历史、禁用项或已达到 limits 的 trigger 时加 `--all`。
|
|
28
|
+
|
|
29
|
+
`list --json` 返回列表摘要,不返回完整 definition。每项只包含 `id/name/enabled/description`、精简后的 `source`、`execution.type`、`feedback.strategy/target`、`nextFireAt`、最近运行状态和 `updatedAt`。event source 只返回 `eventPattern`,不返回 `filter`;不会返回 prompt/script 参数、model、effort、permissionMode、反馈分支模板、reliability、limits 或 origin。
|
|
30
|
+
|
|
31
|
+
`show --json` 返回完整 definition、definition `revision` 和精简运行态。active run 只包含标识、阶段、时间和 `eventCount`;schedule 不返回 `sourceSignature`;recent runs 只包含状态与时间摘要;script 只返回路径、runtime、大小和 mtime,不内联脚本文本。完整运行审计使用 `history` 查询。
|
|
32
|
+
|
|
33
|
+
`history` 查询 `data/triggers/<aid>/history.jsonl` 中的长期审计事件,包括定义创建、完整更新快照、启停、删除 tombstone 和 run 终态。删除 trigger 目录后,历史仍保留。
|
|
34
|
+
|
|
35
|
+
## 创建
|
|
36
|
+
|
|
37
|
+
创建操作统一使用 `create`:
|
|
38
|
+
|
|
39
|
+
| 入口 | 正式命令 | 兼容别名 |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| CLI | `ec trigger create ...` | `ec trigger set ...` |
|
|
42
|
+
| Slash | `/trigger create ...` | `/trigger set ...` |
|
|
43
|
+
| Menu Protocol | `menu.action name=trigger action=create` | `action=set` |
|
|
44
|
+
|
|
45
|
+
新调用只使用 `create`;`set` 仅用于兼容旧脚本和旧客户端。三种入口最终都映射到内部操作 `trigger.create`。
|
|
46
|
+
|
|
47
|
+
Flag 模式适合 agent 现场创建常规 trigger:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
ec trigger create \
|
|
51
|
+
--cron '0 9 * * *' \
|
|
52
|
+
--exec target-session \
|
|
53
|
+
--prompt '生成昨日摘要并发送给我' \
|
|
54
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
55
|
+
--target-session main \
|
|
56
|
+
--model <model> --effort high \
|
|
57
|
+
--name daily-summary \
|
|
58
|
+
--enable
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
CLI flag 模式必须显式指定 `--target-channel` 和 `--target-channel-id`,并生成 `feedback.strategy=target`。需要 `origin` 或 `silent` feedback 时,用 `/trigger` 或 `--file` 导入 Trigger V3 第二阶段 JSON。
|
|
62
|
+
|
|
63
|
+
支持的触发来源:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
--once
|
|
67
|
+
--delay 30m
|
|
68
|
+
--at 2026-06-28T09:00:00+08:00
|
|
69
|
+
--cron '0 9 * * *'
|
|
70
|
+
--every 4h
|
|
71
|
+
--event 'message:received'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
这些来源互斥,只能指定一个。`--cron` 表达式必须加引号,避免被 shell 拆成多个参数。`--every` 是固定间隔,`--cron` 是日历调度。`--once` 创建后立即进入一次 run,完成后自动禁用。
|
|
75
|
+
|
|
76
|
+
`--event` 基于 EventBus 事件触发,事件模式支持精确事件名、命名空间前缀和全量:`message:received`、`message:*`、`*`。flag 模式只支持设置 `eventPattern`;需要按 payload 字段过滤时,使用 Trigger V3 第二阶段 JSON 的 `source.filter.match`,再通过 `--file` 导入。事件清单、payload 字段和过滤操作见 `$KITS_DOCS/evolcore/event.md`。
|
|
77
|
+
|
|
78
|
+
## 执行类型
|
|
79
|
+
|
|
80
|
+
Trigger V3 第二阶段使用 `execution.type` 区分执行位置:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
--exec script
|
|
84
|
+
--exec trigger-session
|
|
85
|
+
--exec target-session
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`target-session` 是默认值:把 `--prompt` 当作一条 trigger 来源消息投递进目标会话队列,并等待该会话处理完成。
|
|
89
|
+
|
|
90
|
+
`trigger-session` 在 daemon 内部 trigger 会话执行 prompt,再把最终结果按 feedback 投递:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
--exec trigger-session \
|
|
94
|
+
--prompt '检查服务状态并总结异常' \
|
|
95
|
+
--trigger-thread per-run
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
省略 `--trigger-thread` 时默认使用 `by-trigger`,同一个 trigger 复用同一条 trigger 会话;只有显式指定 `--trigger-thread per-run` 时,每次 run 才使用独立 trigger 会话。
|
|
99
|
+
|
|
100
|
+
`script` 执行随 trigger 一起保存的脚本:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
--exec script \
|
|
104
|
+
--script-path scripts/check.js \
|
|
105
|
+
--script-runtime node \
|
|
106
|
+
--script-timeout 30s \
|
|
107
|
+
--script-args '{"scope":"daily"}'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
`script` 不使用 `--prompt`。脚本路径必须在 trigger 目录内;通过 `--file` 导入目录时,脚本文件会随 definition 一起上传。
|
|
111
|
+
|
|
112
|
+
## 目标与反馈
|
|
113
|
+
|
|
114
|
+
目标会话字段:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
--target-channel <channelKey>
|
|
118
|
+
--target-channel-id <channelId>
|
|
119
|
+
--target-session main
|
|
120
|
+
--target-session thread --target-thread-id <threadId>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
AUN 渠道由 agent AID 隐式创建,不需要写入 agent 配置的 `channels[]`。CLI 和 Trigger V3.1 definition 均可将 `aun` 用作 `channelKey` 简写;保存前会按 `agentAid` 展开为 `aun#<agentAid>#main`。其他渠道仍需指定完整的实例 channel key。
|
|
124
|
+
|
|
125
|
+
Trigger V3.1 feedback 是单策略:
|
|
126
|
+
|
|
127
|
+
- `origin`:送回创建 trigger 的来源会话
|
|
128
|
+
- `target`:送到 `feedback.target`
|
|
129
|
+
- `silent`:不投递最终结果
|
|
130
|
+
|
|
131
|
+
`target-session` 执行类型只支持 `origin` 或 `target`,因为它本身就是投递到一个会话执行;`script` 和 `trigger-session` 可以使用 `silent`。
|
|
132
|
+
|
|
133
|
+
默认反馈文本:
|
|
134
|
+
|
|
135
|
+
- success:`reply.text`
|
|
136
|
+
- noop:空文本,不发送
|
|
137
|
+
- failure:标准失败文本
|
|
138
|
+
|
|
139
|
+
通常不要显式设置 template。只有 `script` 支持 `feedback.onReply/onNoop/onFailure` 分支模板;`trigger-session` 和 `target-session` 不支持自定义分支模板。
|
|
140
|
+
|
|
141
|
+
可用占位符示例:
|
|
142
|
+
|
|
143
|
+
```text
|
|
144
|
+
{{reply.text}}
|
|
145
|
+
{{trigger.name}}
|
|
146
|
+
{{reply.meta.durationMs}}
|
|
147
|
+
{{error.message}}
|
|
148
|
+
{{date}} {{time}}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
script trigger 返回 `[[NOOP]]` 或 `outcome: "noop"` 时走 noop 分支;默认 noop 静默。
|
|
152
|
+
|
|
153
|
+
## 模型与权限
|
|
154
|
+
|
|
155
|
+
执行模型可按 trigger 单独覆盖:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
--model <模型>
|
|
159
|
+
--effort <low|medium|high|xhigh|max>
|
|
160
|
+
--baseagent <claude|codex|gemini>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
`--model` / `--effort` 只覆盖本 trigger 执行时传给 base agent 的模型与推理强度。
|
|
164
|
+
`--baseagent` 仅支持 `--exec trigger-session`,用于给该 trigger 会话单独选择 base agent;
|
|
165
|
+
`script` 和 `target-session` 不接受该参数。未设置时沿用 trigger 所属 agent 当前 active baseagent。
|
|
166
|
+
|
|
167
|
+
无人值守 trigger 不适合 `request`。需要写文件、git、安装升级、重启服务、管理 trigger 时应显式使用:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
--permission bypass
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
owner/admin 通过 `/trigger create` 创建时默认使用 `bypass`;非 admin 默认 `readonly`,不能提权到 `bypass`,也不能跨渠道或跨会话指定 target。历史 `/trigger set` 仍是兼容别名。
|
|
174
|
+
|
|
175
|
+
## 执行边界
|
|
176
|
+
|
|
177
|
+
周期任务建议设置系统边界,避免无限运行:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
--max-runs 10
|
|
181
|
+
--max-duration 3d
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
任一边界命中后,scheduler 会禁用后续调度,不中断当前 run。
|
|
185
|
+
|
|
186
|
+
## 管理
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
ec trigger enable <triggerId>
|
|
190
|
+
ec trigger disable <triggerId>
|
|
191
|
+
ec trigger cancel <triggerId> # disable 的兼容别名
|
|
192
|
+
ec trigger delete <triggerId>
|
|
193
|
+
ec trigger remove <triggerId> # delete 的兼容别名
|
|
194
|
+
ec trigger rm <triggerId> # delete 的兼容别名
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
语义区别:
|
|
198
|
+
|
|
199
|
+
| 命令 | 定义文件 | 后续调度 | 当前 run | 可恢复 |
|
|
200
|
+
| --- | --- | --- | --- | --- |
|
|
201
|
+
| `disable` / `cancel` | 保留,写 `enabled: false` | 清理 | 不中断 | 可 `enable` |
|
|
202
|
+
| `delete` | 删除整个 trigger 运行态目录,保留 history tombstone | 清理 | 不中断 | 定义不可恢复,审计可复查 |
|
|
203
|
+
|
|
204
|
+
`delete` 不需要先执行 `disable/cancel`;它内部会先清理 timer/event/schedule,再删除定义。
|
|
205
|
+
|
|
206
|
+
## 局部更新
|
|
207
|
+
|
|
208
|
+
`update` 是 patch 语义,只提交需要修改的字段;未指定字段(包括长 prompt)保持不变。不接受 `--file` 或完整 definition:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
ec trigger update <triggerId> --cron '0 10 * * *'
|
|
212
|
+
ec trigger update <triggerId> --prompt '新的任务内容' --name new-name
|
|
213
|
+
ec trigger update <triggerId> --cron '0 10 * * *' --if-revision 'sha256:...'
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
可更新参数只保留三组常用字段:
|
|
217
|
+
|
|
218
|
+
- 调度:`--once`、`--delay`、`--at`、`--cron`、`--every`、`--event`、`--tz`
|
|
219
|
+
- 内容:`--prompt`、`--name`
|
|
220
|
+
- 执行配置:`--model`、`--effort`、`--permission`
|
|
221
|
+
- 运行边界:`--max-runs`、`--max-duration`、`--concurrency`、`--missed-policy`
|
|
222
|
+
|
|
223
|
+
脚本、投递目标、feedback、reliability、limits、event filter 或执行类型需要变化时,删除后重新创建 trigger,避免 `update` 演变成完整 definition 编辑器。
|
|
224
|
+
|
|
225
|
+
`--if-revision` 是可选的乐观并发检查;值来自 `show --json` 顶层的 `revision`。revision 不一致时更新失败,不覆盖较新的 definition。
|
|
226
|
+
|
|
227
|
+
`--tz` 只对 cron 有效,用 IANA 时区(如 `Asia/Shanghai`、`UTC`)解释 cron;不写时使用运行进程时区。`--concurrency` 控制上一 run 仍在执行时的行为(`forbid`/`replace`/`allow`);`--missed-policy` 控制错过触发时间后的行为(`skip`/`run-once`/`run-all`)。
|
|
228
|
+
|
|
229
|
+
`update --json` 返回更新后的列表摘要和新 revision,不回传包含长 prompt 的完整 definition。
|
|
230
|
+
|
|
231
|
+
## 手动运行
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
ec trigger run <triggerId>
|
|
235
|
+
ec trigger run <triggerId> --dry-run
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
`--dry-run` 不写 active 状态、不写正式 audit、不执行真实副作用,适合验证 prompt/template。
|
|
239
|
+
|
|
240
|
+
## 审计存储
|
|
241
|
+
|
|
242
|
+
```text
|
|
243
|
+
data/triggers/<aid>/<triggerId>/trigger.json
|
|
244
|
+
data/triggers/<aid>/<triggerId>/active.json
|
|
245
|
+
data/triggers/<aid>/history.jsonl
|
|
246
|
+
logs/trigger-runs.log
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
- `history.jsonl` 是长期 append-only 审计真相源,默认不自动清理。
|
|
250
|
+
- 旧版 done 归档行保持可读,不会在升级时重写。
|
|
251
|
+
- `trigger-runs.log` 是短期运维日志,按天轮转并保留 7 天。
|
|
252
|
+
- `show` 的 recent run 摘要、运行统计和 `history` 命令读取长期历史。
|
|
253
|
+
- 启动时会把仍保留的旧 `trigger-runs*.log` 幂等补导入 `history.jsonl`。
|
|
254
|
+
|
|
255
|
+
## 从文件导入
|
|
256
|
+
|
|
257
|
+
复杂 trigger 使用 Trigger V3 第二阶段 JSON:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
ec trigger create --file ./trigger.json --enable
|
|
261
|
+
ec trigger create --file ./trigger-dir --enable
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
当前产品版本是 Trigger V3 第二阶段;其持久化定义版本为 `$schema_version: 3.1`。旧 `$schema_version: 4` 文件加载时会自动规范化为 `3.1`。
|
|
265
|
+
|
|
266
|
+
### target-session 示例
|
|
267
|
+
|
|
268
|
+
```json
|
|
269
|
+
{
|
|
270
|
+
"$schema_version": 3.1,
|
|
271
|
+
"agentAid": "<aid>",
|
|
272
|
+
"enabled": true,
|
|
273
|
+
"name": "daily-summary",
|
|
274
|
+
"source": {
|
|
275
|
+
"type": "cron",
|
|
276
|
+
"expression": "0 9 * * *",
|
|
277
|
+
"timezone": "Asia/Shanghai"
|
|
278
|
+
},
|
|
279
|
+
"execution": {
|
|
280
|
+
"type": "target_session",
|
|
281
|
+
"prompt": "生成昨日摘要并发送给我",
|
|
282
|
+
"model": "<model>",
|
|
283
|
+
"effort": "high",
|
|
284
|
+
"permissionMode": "bypass",
|
|
285
|
+
"onError": "fail",
|
|
286
|
+
"noopSentinel": "[[NOOP]]"
|
|
287
|
+
},
|
|
288
|
+
"feedback": {
|
|
289
|
+
"strategy": "target",
|
|
290
|
+
"target": {
|
|
291
|
+
"channelKey": "<channelKey>",
|
|
292
|
+
"channelId": "<channelId>",
|
|
293
|
+
"session": "main"
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
"reliability": {
|
|
297
|
+
"concurrency": "forbid",
|
|
298
|
+
"missedPolicy": "run_once",
|
|
299
|
+
"retry": {
|
|
300
|
+
"maxAttempts": 0,
|
|
301
|
+
"backoffMs": 30000
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### trigger-session 示例
|
|
308
|
+
|
|
309
|
+
```json
|
|
310
|
+
{
|
|
311
|
+
"$schema_version": 3.1,
|
|
312
|
+
"agentAid": "<aid>",
|
|
313
|
+
"enabled": true,
|
|
314
|
+
"name": "hourly-health-check",
|
|
315
|
+
"origin": {
|
|
316
|
+
"channelKey": "<channelKey>",
|
|
317
|
+
"channelId": "<channelId>",
|
|
318
|
+
"session": "main"
|
|
319
|
+
},
|
|
320
|
+
"source": {
|
|
321
|
+
"type": "interval",
|
|
322
|
+
"everyMs": 3600000
|
|
323
|
+
},
|
|
324
|
+
"execution": {
|
|
325
|
+
"type": "trigger_session",
|
|
326
|
+
"prompt": "检查服务状态并总结异常;无异常输出 [[NOOP]]",
|
|
327
|
+
"thread": "per_run",
|
|
328
|
+
"permissionMode": "readonly",
|
|
329
|
+
"onError": "retry",
|
|
330
|
+
"noopSentinel": "[[NOOP]]"
|
|
331
|
+
},
|
|
332
|
+
"feedback": {
|
|
333
|
+
"strategy": "origin"
|
|
334
|
+
},
|
|
335
|
+
"reliability": {
|
|
336
|
+
"concurrency": "forbid",
|
|
337
|
+
"missedPolicy": "run_once",
|
|
338
|
+
"retry": {
|
|
339
|
+
"maxAttempts": 1,
|
|
340
|
+
"backoffMs": 30000
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### script 示例
|
|
347
|
+
|
|
348
|
+
```json
|
|
349
|
+
{
|
|
350
|
+
"$schema_version": 3.1,
|
|
351
|
+
"agentAid": "<aid>",
|
|
352
|
+
"enabled": true,
|
|
353
|
+
"name": "script-health",
|
|
354
|
+
"source": {
|
|
355
|
+
"type": "cron",
|
|
356
|
+
"expression": "0 */4 * * *",
|
|
357
|
+
"timezone": "Asia/Shanghai"
|
|
358
|
+
},
|
|
359
|
+
"execution": {
|
|
360
|
+
"type": "script",
|
|
361
|
+
"script": {
|
|
362
|
+
"path": "scripts/health.js",
|
|
363
|
+
"runtime": "node",
|
|
364
|
+
"timeoutMs": 30000
|
|
365
|
+
},
|
|
366
|
+
"onError": "retry",
|
|
367
|
+
"noopSentinel": "[[NOOP]]"
|
|
368
|
+
},
|
|
369
|
+
"feedback": {
|
|
370
|
+
"strategy": "target",
|
|
371
|
+
"target": {
|
|
372
|
+
"channelKey": "<channelKey>",
|
|
373
|
+
"channelId": "<channelId>",
|
|
374
|
+
"session": "main"
|
|
375
|
+
},
|
|
376
|
+
"onReply": {
|
|
377
|
+
"template": "{{reply.text}}"
|
|
378
|
+
},
|
|
379
|
+
"onNoop": {
|
|
380
|
+
"template": ""
|
|
381
|
+
},
|
|
382
|
+
"onFailure": {
|
|
383
|
+
"template": "健康检查失败:{{error.message}}"
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
"reliability": {
|
|
387
|
+
"concurrency": "forbid",
|
|
388
|
+
"missedPolicy": "run_once",
|
|
389
|
+
"retry": {
|
|
390
|
+
"maxAttempts": 2,
|
|
391
|
+
"backoffMs": 30000
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## 事件触发
|
|
398
|
+
|
|
399
|
+
简单事件触发可直接用 flag 模式:
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
ec trigger create --event 'message:received' \
|
|
403
|
+
--exec target-session \
|
|
404
|
+
--prompt '检查收到的消息是否需要自动跟进;无动作输出 [[NOOP]]' \
|
|
405
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
406
|
+
--target-session main \
|
|
407
|
+
--name on-message-received --enable
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
监听某个命名空间下的所有事件:
|
|
411
|
+
|
|
412
|
+
```bash
|
|
413
|
+
ec trigger create --event 'task:*' \
|
|
414
|
+
--exec target-session \
|
|
415
|
+
--prompt '任务完成或失败后生成简短诊断;无动作输出 [[NOOP]]' \
|
|
416
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
417
|
+
--target-session main \
|
|
418
|
+
--name on-task-events --enable
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
flag 模式不能配置过滤条件。需要根据事件 payload 过滤时,写完整的 Trigger V3 第二阶段 JSON:
|
|
422
|
+
|
|
423
|
+
```json
|
|
424
|
+
{
|
|
425
|
+
"$schema_version": 3.1,
|
|
426
|
+
"agentAid": "<aid>",
|
|
427
|
+
"enabled": true,
|
|
428
|
+
"name": "on-important-message",
|
|
429
|
+
"source": {
|
|
430
|
+
"type": "event",
|
|
431
|
+
"eventPattern": "message:received",
|
|
432
|
+
"filter": {
|
|
433
|
+
"match": {
|
|
434
|
+
"channel": "<channelKey>",
|
|
435
|
+
"channelId": "<channelId>",
|
|
436
|
+
"content": { "$regex": "日报|告警|失败" }
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
"execution": {
|
|
441
|
+
"type": "target_session",
|
|
442
|
+
"prompt": "根据事件内容判断是否需要处理;无动作输出 [[NOOP]]",
|
|
443
|
+
"permissionMode": "readonly",
|
|
444
|
+
"onError": "retry",
|
|
445
|
+
"noopSentinel": "[[NOOP]]"
|
|
446
|
+
},
|
|
447
|
+
"feedback": {
|
|
448
|
+
"strategy": "target",
|
|
449
|
+
"target": {
|
|
450
|
+
"channelKey": "<channelKey>",
|
|
451
|
+
"channelId": "<channelId>",
|
|
452
|
+
"session": "main"
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
"reliability": {
|
|
456
|
+
"concurrency": "forbid",
|
|
457
|
+
"missedPolicy": "run_once",
|
|
458
|
+
"retry": {
|
|
459
|
+
"maxAttempts": 0,
|
|
460
|
+
"backoffMs": 30000
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
`source.filter.match` 的 key 是 payload 字段路径,支持等值、`$in`、`$regex`、数值比较和 `$exists`。例如 `message:received` 可过滤 `channel`、`channelId`、`content`、`userId`、`sessionId`;完整字段以事件目录为准。
|
|
467
|
+
|
|
468
|
+
## 常用例子
|
|
469
|
+
|
|
470
|
+
一次性提醒:
|
|
471
|
+
|
|
472
|
+
```bash
|
|
473
|
+
ec trigger create --delay 30m \
|
|
474
|
+
--exec target-session \
|
|
475
|
+
--prompt '提醒用户检查部署状态' \
|
|
476
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
477
|
+
--target-session main \
|
|
478
|
+
--name deploy-reminder --enable
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
创建后立即执行一次:
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
ec trigger create --once \
|
|
485
|
+
--exec target-session \
|
|
486
|
+
--prompt '生成一次当前状态摘要' \
|
|
487
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
488
|
+
--target-session main \
|
|
489
|
+
--name one-shot-summary --enable
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
每天巡检:
|
|
493
|
+
|
|
494
|
+
```bash
|
|
495
|
+
ec trigger create --cron '30 9 * * *' \
|
|
496
|
+
--exec target-session \
|
|
497
|
+
--prompt '检查服务状态并汇报异常;无异常输出 [[NOOP]]' \
|
|
498
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
499
|
+
--target-session main \
|
|
500
|
+
--name daily-health-check --enable
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
复用 trigger 会话做周期跟踪:
|
|
504
|
+
|
|
505
|
+
```bash
|
|
506
|
+
ec trigger create --every 4h \
|
|
507
|
+
--exec trigger-session \
|
|
508
|
+
--trigger-thread by-trigger \
|
|
509
|
+
--prompt '继续跟踪升级状态并输出最新结论;无变化输出 [[NOOP]]' \
|
|
510
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
511
|
+
--target-session main \
|
|
512
|
+
--name upgrade-watch --enable
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
定时尝试升级,最多 10 次或 3 天:
|
|
516
|
+
|
|
517
|
+
```bash
|
|
518
|
+
ec trigger create --every 4h \
|
|
519
|
+
--max-runs 10 --max-duration 3d \
|
|
520
|
+
--permission bypass \
|
|
521
|
+
--model <model> --effort high \
|
|
522
|
+
--exec target-session \
|
|
523
|
+
--prompt '尝试执行升级检查;成功后调用 ec trigger disable auto-updater;无变化输出 [[NOOP]]' \
|
|
524
|
+
--target-channel <channelKey> --target-channel-id <channelId> \
|
|
525
|
+
--target-session main \
|
|
526
|
+
--name auto-updater --enable
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
硬删除:
|
|
530
|
+
|
|
531
|
+
```bash
|
|
532
|
+
ec trigger delete auto-updater
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
## 相关文档
|
|
536
|
+
|
|
537
|
+
- event source 可监听事件:`$KITS_DOCS/evolcore/event.md`
|
|
538
|
+
- Trigger V3 第二阶段执行与反馈设计:`$PACKAGE_ROOT/docs/trigger-v3-phase2-execution-feedback-design.md`
|
|
539
|
+
- limits / disable / delete 语义:`$PACKAGE_ROOT/docs/trigger-limits-feature-v2.md`
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# AID 档案规范
|
|
2
|
+
|
|
3
|
+
<!-- TODO: 填充 AID 档案格式规范 -->
|
|
4
|
+
|
|
5
|
+
## 档案类型
|
|
6
|
+
|
|
7
|
+
| 类型 | 位置 | 说明 |
|
|
8
|
+
|------|------|------|
|
|
9
|
+
| 自身人格 | `$SELF_DIR/persona.md` | 行为规范、人格定义 |
|
|
10
|
+
| 关系档案 | `$RELATIONS_DIR/<peerKey>/profile.md` | 对端关系记录(含具体群实例) |
|
|
11
|
+
|
|
12
|
+
## persona.md 结构
|
|
13
|
+
|
|
14
|
+
```markdown
|
|
15
|
+
# <agent-name>
|
|
16
|
+
|
|
17
|
+
## 基本信息
|
|
18
|
+
- AID: <aid>
|
|
19
|
+
- 名称: <name>
|
|
20
|
+
|
|
21
|
+
## 行为规范
|
|
22
|
+
(定义称呼、语气、风格等)
|
|
23
|
+
|
|
24
|
+
## 能力声明
|
|
25
|
+
(对外公开的能力描述)
|
|
26
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 路径运维操作
|
|
2
|
+
|
|
3
|
+
<!-- TODO: 填充路径失效处理、迁移、新增路径等运维操作 -->
|
|
4
|
+
|
|
5
|
+
## 路径失效处理
|
|
6
|
+
|
|
7
|
+
当 `$ECK/path-registry.md` 中某路径不存在时:
|
|
8
|
+
1. 检查路径是否已迁移(查 git log)
|
|
9
|
+
2. 尝试按派生规则重新计算
|
|
10
|
+
3. 如无法恢复,标记为 `❌` 并通知用户
|
|
11
|
+
|
|
12
|
+
## 新增路径
|
|
13
|
+
|
|
14
|
+
1. 在 `$KITS_DOCS/path-registry.md` 添加定义
|
|
15
|
+
2. 在 `$ECK/path-registry.md` 添加实例值
|
|
16
|
+
3. 更新 `$KITS_DOCS/INDEX.md`
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 角色与场景详细规则
|
|
2
|
+
|
|
3
|
+
<!-- TODO: 填充权限矩阵、场景矩阵、对端发现流程 -->
|
|
4
|
+
|
|
5
|
+
## 权限矩阵
|
|
6
|
+
|
|
7
|
+
| 角色 | 对话 | 配置 | 管理 | 运维 |
|
|
8
|
+
|------|------|------|------|------|
|
|
9
|
+
| owner | Yes | Yes | Yes | Yes |
|
|
10
|
+
| admin | Yes | Yes | Yes | No |
|
|
11
|
+
| member | Yes | 仅自身关系 | No | No |
|
|
12
|
+
| visitor | Yes | No | No | No |
|
|
13
|
+
| none | No | No | No | No |
|
|
14
|
+
|
|
15
|
+
进程级 daemon owner 是最高管理者;它通过 agent channel 进入时按设计作为该 agent 的 owner 处理。
|
|
16
|
+
|
|
17
|
+
## 场景矩阵
|
|
18
|
+
|
|
19
|
+
| 场景 | 响应策略 | 工具可用性 |
|
|
20
|
+
|------|----------|-----------|
|
|
21
|
+
| coding | 每条响应 | 全部 |
|
|
22
|
+
| private | 自主决定 | 全部 |
|
|
23
|
+
| group | 被@响应 | 全部 |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 身份/环境层工具用法
|
|
2
|
+
|
|
3
|
+
## 身份识别
|
|
4
|
+
|
|
5
|
+
当你在对话中识别出对端的真实身份时,可以调用:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ec ctl identity.identify --aid <对端AID> --name <名称> --type person --method self-declaration
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 查看对端信息
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
ec ctl identity.show <对端AID>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 查看当前环境
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
ec ctl venue.show
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 注意
|
|
24
|
+
|
|
25
|
+
- 身份层工具仅在身份层运行时实现后可用(当前为占位文档)
|
|
26
|
+
- 对端名片通过 `https://<aid>/agent.md` 获取,由 AUN 网络提供
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 路径定义
|
|
2
|
+
|
|
3
|
+
本文件定义所有预定义路径的含义和派生规则。运行时实际值在 `$ECK/path-registry.md`。
|
|
4
|
+
|
|
5
|
+
## 基础路径(三个锚点)
|
|
6
|
+
|
|
7
|
+
| 名称 | 含义 | 来源 |
|
|
8
|
+
|------|------|------|
|
|
9
|
+
| `$EVOLCORE_HOME` | evolcore 用户数据根 | 环境变量 `EVOLCORE_HOME` 或默认 `~/.evolcore` |
|
|
10
|
+
| `$PACKAGE_ROOT` | evolcore 包根目录 | `require.resolve('evolcore')` 所在目录 |
|
|
11
|
+
| `$CURRENT_PROJECT` | 当前工作目录 | `process.cwd()` |
|
|
12
|
+
|
|
13
|
+
## 包内路径(从 $PACKAGE_ROOT 派生)
|
|
14
|
+
|
|
15
|
+
| 名称 | 派生规则 | 说明 |
|
|
16
|
+
|------|----------|------|
|
|
17
|
+
| `$KITS` | `$PACKAGE_ROOT/kits` | kits 根目录 |
|
|
18
|
+
| `$KITS_RULES` | `$KITS/rules` | 自动加载的规则文件 |
|
|
19
|
+
| `$KITS_DOCS` | `$KITS/docs` | 按需加载的文档 |
|
|
20
|
+
| `$KITS_TEMPLATES` | `$KITS/templates` | 运行时 prompt 组装模板 |
|
|
21
|
+
|
|
22
|
+
## 用户数据路径(从 $EVOLCORE_HOME 派生)
|
|
23
|
+
|
|
24
|
+
| 名称 | 派生规则 | 说明 |
|
|
25
|
+
|------|----------|------|
|
|
26
|
+
| `$ECK` | `$EVOLCORE_HOME/eck` | ECK 实例数据(路径注册表实例等) |
|
|
27
|
+
| `$AGENTS_DIR` | `$EVOLCORE_HOME/agents` | 所有 agent 数据根 |
|
|
28
|
+
| `$AGENT_DIR` | `$AGENTS_DIR/<self-aid>` | 当前 agent 数据目录 |
|
|
29
|
+
| `$SELF_DIR` | `$AGENT_DIR/personal` | 自己的身份档案 |
|
|
30
|
+
| `$RELATIONS_DIR` | `$AGENT_DIR/relations` | 对端关系档案(含具体群/私聊实例数据) |
|
|
31
|
+
| `$VENUES_DIR` | `$AGENT_DIR/venues` | 环境层(预留,更高抽象,非实例) |
|
|
32
|
+
| `$AGENT_INDEX` | `$AGENT_DIR/index` | agent 级索引 |
|
|
33
|
+
|
|
34
|
+
## 外部依赖路径(需寻找)
|
|
35
|
+
|
|
36
|
+
| 名称 | 寻找规则 | 说明 |
|
|
37
|
+
|------|----------|------|
|
|
38
|
+
| `$KITE` | 在 `$EVOLCORE_HOME/config.json` 的 `kitePath` 字段查找 | Kite 框架根 |
|
|
39
|
+
| `$AUN_SDK_CORE` | `$KITE/aun-sdk-core` | AUN SDK 源码 |
|
|
40
|
+
|
|
41
|
+
## 路径实例文件
|
|
42
|
+
|
|
43
|
+
运行时实际路径值写入 `$ECK/path-registry.md`,格式见 `$KITS_DOCS/eck_templates/path-registry.template.md`。
|