← 返回目录

第 4 卷

第 4 / 4 卷日期:

怎么感觉 Cordis 插件机制确实很像 Java 里的“插件接口 / SPI”,由各个插件提供实现

作者回复: 你好,确实,它们的思路的确很像——都是"使用方只认契约、实现由外部提供";区别在于实现上,一个侧重启动时的静态发现,另一个是可撤销的注册(effect):卸载时按逆序自动撤销回退。

图 10-1
图 10-1

安如衫

2026-09-11 来自上海

  1. 不报错。脚本里靠进程退出被 OS 收走,长进程就是泄漏。
  2. 逆序。

作者回复: 赞👍

图 10-2
图 10-2

MAPS

2026-09-05 来自陕西

老师好,有个疑问,既然一个fiber触发dispose时,挂载到他下的disposer是并发执行的,那逆序还有什么必要呢,因为就算逆序执行也不能保证并发的各个disposer的真正按照逆序完成

作者回复: 你好,非常好的问题。我们可以先分成两层来看,内层我们没有疑问,其中外层又可以分为同步段和异步段。具体来说,外层逆序在同步段兑现 LIFO、在异步段至少保住发起序;真正的完成保证交给内层的排队链。你的质疑(并发下逆序无完成保证)在"异步的外层"这个狭窄窗口里是对的,但它覆盖不到同步段,更管不到内层——而那两处恰恰是逆序真正起作用的地方。

图 10-3
图 10-3

大雄

2026-08-30 来自天津

张老师,请问下这个context是一个插件对应一个,还是所有的插件共享一个总的context?问了几个ai回答都有矛盾

作者回复: 你好,很好的问题。这两种说法可能都不完全准确。

具体来说:每个插件挂载时,extend 出一个以父 Context 为原型、只多一个 fiber 自有属性的空壳,这些空壳沿原型链连成一棵树;树上的基础设施(reflect 的 store、registry、events)物理上只在根上存在一份,子 ctx 读到的只是绑定自己视角的包装。服务是否"共享同一份",最终由 isolat

e 的 symbol 键决定——同一个 symbol 共享一份实例,不同 symbol 各成平行世界。

图 11-1
图 11-1

Leo Zhao

2026-08-30 来自美国

还是想从 Agent 的角度来告诉我们为什么要学习这个功能. 只是从 JavaScript 的角度来讲,理解上没有办法找到与Agent 的连接联系。

作者回复: 你好,基础篇的内容主要是针对dsh底层的cordis框架,cordis本身确实和agent没有直接关系,只是在dsh中,cordis承担了插件动态管理的底座。下周应该会开始更新核心篇的内容,核心篇开始会有更多的agent harness本身的内容。

图 11-2
图 11-2

Angus

2026-08-30 来自浙江

感觉这里的设计思想和React有点像

作者回复: 你好,确实,无论是时间维度还是空间维度,其实这些能力或多或少都能在已有的各种框架中找到熟悉的影子,但cordis做的更专注更深入或者说更极端一些,并且把这两个维度结合在了一起。

全站分卷索引 · 4 卷
  1. 1第 1 卷
  2. 2第 2 卷
  3. 3第 3 卷
  4. 4第 4 卷