架构总览
目标
DojoAgents 的核心目标是把 LLM Agent、量化金融数据、工具执行、Dashboard、Gateway、插件和计划任务整合为一个可本地运行、可扩展的分析 runtime。
模块地图
dojoagents/
├── agent/ # Agent loop, providers, runtime, events, guardrails
├── cli/ # dojoagents console entry point
├── config/ # ConfigStore and frozen dataclass schema
├── cron/ # Scheduled jobs
├── dashboard/ # FastAPI backend, services, routers, React app
├── gateway/ # Chat platform gateway and adapters
├── memory/ # Memory providers and manager
├── multi_agent/ # Agent pool and delegation
├── planning/ # Plan models, execution, triggers
├── plugins/ # Plugin discovery and hooks
├── quant/ # Quant context and workflow primitives
├── skills/ # Skill loader/cache/manager
├── tools/ # ToolSpec registry, executor, sandbox, concrete tools
└── utils/ # Event bus and shared utilities
核心流程
- CLI、Dashboard 或 Gateway 构造请求。
Runtime从ConfigStore读取配置并组装 provider、tools、skills、memory、scheduler。AgentLoop调用 LLM provider。- 如果模型请求工具,
ToolExecutor经过 sandbox policy 后执行ToolSpec.handler。 - 工具结果被规范化为
ToolResult,再进入 Agent history、事件流和 Dashboard UI。 - Dashboard 通过 OpenAI-compatible response 或 SSE
dojo_event将结果返回前端。
关键边界
- 配置统一从
dojoagents/config/loader.py::ConfigStore读取和保存。 - 日志统一使用
dojoagents.logging.LOGGER或get_logger()。 - 工具统一通过
ToolRegistry、ToolSpec、ToolExecutor注册和执行。 - Dashboard 新能力按 routers、schemas、services、deps 分层。
- 插件从内置目录和
~/.dojo/plugins发现。
深入阅读
完整架构说明后续应以本节各页面为主继续补齐。