Phase 1.1: IPC trigger-sense — 支持按需触发 Sense compute #36

Closed
opened 2026-04-22 15:16:42 +00:00 by xiaoju · 0 comments
Owner

背景

RFC-001 §4.2 明确说明:

OnDemand(按需触发)不需要声明——引擎内置提供,任何 Sense 都可以被外部 API 调用触发。

当前 daemon-ipc.ts 只支持 trigger-workflow,缺少 trigger-sense

需求

1. daemon-ipc 新增 trigger-sense 请求类型

type TriggerSenseRequest = {
  type: "trigger-sense";
  sense: string;
};

收到后调用 kernel 的 compute 调度(走现有的 reflex scheduler 路径,尊重 throttle / pending 合并语义)。

2. Kernel 暴露 triggerSense(name: string) 方法

  • 验证 sense 存在
  • 向对应 group worker 发送 { type: 'compute', sense } 消息
  • 尊重现有 throttle/合并语义(如果 compute 正在执行,标记 pending)

3. CLI: nerve sense trigger <name>

通过 IPC socket 发送 trigger-sense 请求。

nerve sense trigger cpu-usage
# ✅ Triggered compute for "cpu-usage"

验证

  • 单元测试:daemon-ipc 解析 trigger-sense 请求
  • 集成测试:trigger-sense → kernel → worker compute → signal 产出
  • CLI 测试:nerve sense trigger 命令行为

参考

  • packages/daemon/src/daemon-ipc.ts
  • packages/daemon/src/kernel.ts
  • packages/cli/src/commands/workflow.ts
  • docs/rfc-001-observation-engine.md §4.2
## 背景 RFC-001 §4.2 明确说明: > OnDemand(按需触发)不需要声明——引擎内置提供,任何 Sense 都可以被外部 API 调用触发。 当前 `daemon-ipc.ts` 只支持 `trigger-workflow`,缺少 `trigger-sense`。 ## 需求 ### 1. daemon-ipc 新增 `trigger-sense` 请求类型 ```typescript type TriggerSenseRequest = { type: "trigger-sense"; sense: string; }; ``` 收到后调用 kernel 的 compute 调度(走现有的 reflex scheduler 路径,尊重 throttle / pending 合并语义)。 ### 2. Kernel 暴露 `triggerSense(name: string)` 方法 - 验证 sense 存在 - 向对应 group worker 发送 `{ type: 'compute', sense }` 消息 - 尊重现有 throttle/合并语义(如果 compute 正在执行,标记 pending) ### 3. CLI: `nerve sense trigger <name>` 通过 IPC socket 发送 `trigger-sense` 请求。 ```bash nerve sense trigger cpu-usage # ✅ Triggered compute for "cpu-usage" ``` ### 验证 - 单元测试:daemon-ipc 解析 trigger-sense 请求 - 集成测试:trigger-sense → kernel → worker compute → signal 产出 - CLI 测试:`nerve sense trigger` 命令行为 ### 参考 - `packages/daemon/src/daemon-ipc.ts` - `packages/daemon/src/kernel.ts` - `packages/cli/src/commands/workflow.ts` - `docs/rfc-001-observation-engine.md` §4.2
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#36