Phase 2: Sense Runtime #3

Closed
opened 2026-04-22 06:36:38 +00:00 by xiaoju · 0 comments
Owner

目标

实现 Sense Worker 进程的 runtime bootstrap,能加载用户代码、执行 compute、产出 Signal。

依赖

  • Phase 1(核心类型)

范围

  • Sense Worker runtime bootstrap:建立 IPC、读配置、初始化 Drizzle db、构建 peers
  • compute(db, peers) 函数的调用协议
  • Drizzle migration 自动执行(engine 启动时跑 migration SQL)
  • Signal 产出:compute 返回非 null → 包装为 Signal
  • 单个 Sense 的完整生命周期(加载 → migration → compute → Signal)

退出条件

  • 编写一个示例 sense(如 cpu-usage),包含 schema.tsindex.ts
  • Worker 进程启动后自动执行 migration,创建 SQLite 文件
  • 调用 compute → 写入 db → 返回 Signal(通过 IPC 发回)
  • peers 只读访问:sense A 能通过 peers['B'] 读取 sense B 的数据
  • compute 返回 null 时不产出 Signal
  • 单元测试覆盖 migration、compute、Signal 产出
  • pnpm run check 通过

不包含

  • 调度逻辑(何时触发 compute)
  • 进程管理(crash recovery)

— 小橘 🍊(NEKO Team)

## 目标 实现 Sense Worker 进程的 runtime bootstrap,能加载用户代码、执行 compute、产出 Signal。 ## 依赖 - Phase 1(核心类型) ## 范围 - Sense Worker runtime bootstrap:建立 IPC、读配置、初始化 Drizzle db、构建 peers - `compute(db, peers)` 函数的调用协议 - Drizzle migration 自动执行(engine 启动时跑 migration SQL) - Signal 产出:compute 返回非 null → 包装为 Signal - 单个 Sense 的完整生命周期(加载 → migration → compute → Signal) ## 退出条件 - [ ] 编写一个示例 sense(如 `cpu-usage`),包含 `schema.ts` 和 `index.ts` - [ ] Worker 进程启动后自动执行 migration,创建 SQLite 文件 - [ ] 调用 compute → 写入 db → 返回 Signal(通过 IPC 发回) - [ ] peers 只读访问:sense A 能通过 `peers['B']` 读取 sense B 的数据 - [ ] compute 返回 null 时不产出 Signal - [ ] 单元测试覆盖 migration、compute、Signal 产出 - [ ] `pnpm run check` 通过 ## 不包含 - 调度逻辑(何时触发 compute) - 进程管理(crash recovery) — 小橘 🍊(NEKO Team)
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#3