Help us shape the future of Go! Take the 2026 Go Developer Survey

runtime

module
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2026 License: MIT

README

runtime

Agent 进程运行时——LLM token 流式节控/泛型事件总线/子进程最小环境/运行时热插拔/生命周期钩子 —— oagentkit 模块矩阵 tier 0(基础层,零仓内依赖或仅依赖同仓包)。

go get github.com/oagentkit/runtime
包 职责
pacer 流式增量节流器:LLM token 分片攒够窗口再发,避免逐条发布洪泛事件通道
progress 泛型事件总线 Bus[T](发布订阅 + 慢消费者丢弃计数)
procx 子进程最小环境构造 ChildEnv + 执行封装,供 spawn 外部进程的包共用
hotplug 运行时插拔与原子热替换:Plugboard 启停视图 + Holder[T] 快照持有点
hookx 外部 hook 拦截协议:在关键拦截点派生子进程,stdin 喂 JSON

定位

tier 0 — 基础层,零仓内依赖或仅依赖同仓包。

  • 本仓无矩阵内依赖,可被任意层引用。

外部依赖地板

  • 零外部依赖。

与 oekit 的关系

本矩阵(oagentkit,Agent/LLM 编排工具链)依赖 oekit(Open Easy Kit,Go 微服务工具链): oekit/pkg / oekit/concurrency / oekit/logx 等。oekit 是另一套独立矩阵,不是子品牌。

开发

go test ./... -race
go vet ./...
gofmt -l .

规范见 AGENTS.md。

License

MIT

progress 撞名但语义相反(最容易踩)
  • oekit/concurrency/progress = 长任务阶段进度追踪器(NewTracker/PhaseConfig/PhaseStatus)
  • 本仓 progress = 泛型事件总线(Bus[T],发布订阅 + 慢消费者丢弃计数)

任何按包名对齐的迁移/退役判断都会做错。对齐必须按语义。

pacer ≠ ratelimit

oekit/concurrency/ratelimit 是准入控制(允许发/不允许发),本仓 pacer 是聚合缓冲 (攒够窗口再发)。不是同一语义,不要互相替代。

procx 的分层硬约束

procx 被 tier1 的 mcpkit、promptx 使用,必须留在 tier0。 把它并入 tier2 的 tools 会造成 tier1→tier2 分层倒挂,违反矩阵不变量。

breaker 已退役

原三态熔断器已迁到 oekit/concurrency/breaker,由 llm 仓的准入适配层消费。 本仓不再有熔断实现 —— 不要在本仓重新实现熔断。

上游已知缺口:WithConsecutiveFailures 只切状态、切不了放行决策 (实测阈值 3、第 12 次才真正拒绝),见 https://github.com/oekit/concurrency/issues/25 。 llm 侧用本地计数型准入否决兜底,上游修好后删掉那段即可。

Directories

Path Synopsis
Package hookx 外部 hook 拦截协议:在关键拦截点派生子进程,stdin 喂 JSON 事件载荷、stdout 收 JSON 决策,归并多 hook 结果。
Package hookx 外部 hook 拦截协议:在关键拦截点派生子进程,stdin 喂 JSON 事件载荷、stdout 收 JSON 决策,归并多 hook 结果。
Package hotplug 运行时插拔与原子热替换:启停视图(Plugboard)+ 泛型快照持有点(Holder)。
Package hotplug 运行时插拔与原子热替换:启停视图(Plugboard)+ 泛型快照持有点(Holder)。
Package pacer 流式增量节流器:LLM token 级分片若逐条发布会洪泛事件通道与 前端(每秒数次×千字级文本),按「距上次发布 ≥interval 或缓冲 ≥bytes」合并 发布;总量帽内单流 seq 自 1 单调递增;权威快照到达即 Absorb 收口(此后迟到 分片丢弃);收尾残尾用 Flush 落地。
Package pacer 流式增量节流器:LLM token 级分片若逐条发布会洪泛事件通道与 前端(每秒数次×千字级文本),按「距上次发布 ≥interval 或缓冲 ≥bytes」合并 发布;总量帽内单流 seq 自 1 单调递增;权威快照到达即 Absorb 收口(此后迟到 分片丢弃);收尾残尾用 Flush 落地。
Package procx 子进程托管纪律单源:进程组执行(Setpgid 建组 → 超时/取消 TERM 整组 → 宽限 SIGKILL)、限容采集(stdout/单行双上限)、stdout 按行拆分、 子进程环境白名单(绝不继承宿主全量环境)。
Package procx 子进程托管纪律单源:进程组执行(Setpgid 建组 → 超时/取消 TERM 整组 → 宽限 SIGKILL)、限容采集(stdout/单行双上限)、stdout 按行拆分、 子进程环境白名单(绝不继承宿主全量环境)。
Package progress 泛型事件总线。
Package progress 泛型事件总线。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL