核心原理

调用路由与隔离

解释 plugin 调用为什么不会串 agent 环境,以及路由如何解析

调用路由与隔离

简短答案

  • 一个运行中的 agent 只绑定一个项目根目录。
  • plugin 默认都在这个 agent 内执行。
  • 只有显式改了 host/port 或 target project,才会跨 agent 路由。

主调用链

1)CLI -> plugin

  1. 解析目标项目
  2. 解析 daemon endpoint
  3. /api/plugins/list/api/plugins/control/api/plugins/command 或其他 /api/plugins/*
  4. 在当前 agent 内分发

2)plugin -> plugin 点

plugin 不应该直接依赖 plugin 私有实现,而是只在自己定义好的扩展点上触发 plugin。

  • plugin 点调度发生在进程内
  • 复用同一份 agent execution context
  • 默认不经过 shell

endpoint 解析优先级

  1. CLI 显式 --host/--port
  2. DC_CITY_HOST/DC_CITY_PORT
  3. 当前项目 daemon metadata
  4. 默认 127.0.0.1:5314