最近看 DeepSeek Harness 的源码,越看越觉得熟悉。它本质上是一个面向 Agent Runtime、支持动态插件生命周期的 IoC 模块系统。之前在公司也参与过企业级 Node.js 框架 Tegg 的设计,两者在很多架构思路上有着非常相似的地方。
Tegg 通过 SingletonProto()、ContextProto() 声明对象的作用域和访问级别,通过 Inject() 管理对象依赖;DeepSeek Harness 则通过 Service 注册和 inject,建立能力提供者与消费者之间的依赖关系。
Tegg 为对象提供了一套细致的生命周期:postConstruct → preInject → postInject → init → preDestroy → destroy;DeepSeek Harness 则通过 Fiber 管理插件的生命周期,正常情况下经历 PENDING → LOADING → ACTIVE → UNLOADING → DISPOSED,并通过 Effect 管理插件注册的资源和副作用。
Tegg 会解析模块间的依赖关系,管理访问级别、对象作用域和循环依赖约束;DeepSeek Harness 同样通过依赖关系组织运行系统,只是核心装配对象变成了 Plugin 和 Service,并进一步支持依赖驱动的动态加载、卸载和重新装配。
依赖注入、模块边界、生命周期、作用域、AOP、事件驱动、动态组合,这些思想在成熟的服务端框架中已经实践多年。如今,随着 Agent 系统的复杂度不断提升,这些经典的软件工程思想又开始在 Agent Runtime 中得到系统性的应用。
DSH 的设计,还是蛮有参考价值的,👍