
合集共 6 篇
Cordis 从零开始
从一个不需要框架的小程序开始,一步步引入事件、资源清理和动态依赖,看着 Cordis 这样一个插件化 Runtime 是怎么自然长出来的。Context、Plugin、Service、Event、Lifecycle 这些抽象,本质上都是在回答同一个问题:一个长期运行、能力会动态变化的系统,该怎么管理它的能力和生命周期——这也正是 Agent Runtime 每天都会遇到的问题。持续更新中。
010203040506
2026-08-17·5 分钟
Cordis 入门:Runtime 基础
为什么一个长期运行、能力会动态变化的系统最后会需要 Context、Plugin、Service、Event、Lifecycle 和 inject——从一个够小的问候程序出发,让需求一步步增长,看清楚这些抽象为什么会自然出现。
2026-08-18·7 分钟
第一篇:从一个变量开始,理解 Context、Service 和 Plugin
当系统里只有一个简单能力时,普通变量就已经够用;改用 Cordis 重写同样的需求后,Context、Service 和 Plugin 分别在替代什么,两者到底从哪里开始分叉。
2026-08-19·6 分钟
第二篇:从日志需求出发,理解 Event 和 Lifecycle
一个模块做完事情后,其他模块想感知却又不能直接耦合——手写一个最小事件系统不难,难的是 listener 的创建和清理,最终一定会把我们带到 Lifecycle。
2026-08-20·7 分钟
第三篇:从 Greeter 依赖 Clock 出发,理解 inject
当一个能力开始依赖另一个会动态出现、消失和恢复的能力时,系统该如何保持状态一致?inject 从“注入一个对象”变成“让 Runtime 接管依赖关系”。
2026-08-21·6 分钟
第四篇:当多个模块共享同一依赖时,会发生什么
只再增加一个同样依赖 Clock 的模块,看依赖图多出一条边时,外部同步逻辑会怎样迅速膨胀成一片胶水代码。
2026-08-22·7 分钟
第五篇:回头看 Cordis 的核心概念,以及它为什么像 Agent Runtime
把 Context、Plugin、Service、Event、Lifecycle 和 inject 重新收束成一张完整的 Runtime 心智图,并说明它为什么和 Agent Runtime 如此相似。