accounts/docs/XCode-Agent-Framework-design.md
Haitao Pan 9e1112758a feat(dashboard-fresh): migrate and integrate dashboard source
- Add fresh app structure (auth, tenant, mail, insight, docs, panel)
- Include CMS content, API routes, scripts, and config
- Migrate UI components, themes, and extensions to fresh runtime
2025-11-04 18:06:21 +08:00

214 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Agent Framework 设计文档
版本v1.0
项目代号Project Codexium
作者svc.plus 架构组Pan Haitao
目标:统一代码智能、运维智能与模型桥接能力的开发者工作台
一、系统愿景
“让 AI 不只是写代码,而是理解系统。”
Codexium 的目标是构建一个统一的智能代理层,使得开发者在编程、测试、运维的整个生命周期中,都能通过 /api/agent/* 接口访问具备上下文记忆与验证能力的 LLM 工具链。
系统分为三大支柱:
模块 名称 职责
/api/agent/code CodeSmith 编码智能:分析、重构、生成、解释代码
/api/agent/ops OpsMind 运维智能:测试验证、性能剖析、异常诊断
/api/agent/bridge LLM-Bridge 桥接智能:与国内外大模型生态互联
二、系统架构概览
flowchart TB
subgraph UI["🖥️ Web IDE / Dashboard"]
C1[任务列表] --> C2[任务详情与日志]
C2 --> C3[运行面板Playwright / DevTools / LLM]
end
subgraph API["🧠 Agent Gateway (Node/Deno)"]
A1[/api/agent/code/]:::code --> A3
A2[/api/agent/ops/]:::ops --> A3
A4[/api/agent/bridge/]:::bridge --> A3
A3[(Runs Registry + Storage)]
end
subgraph Runtime["⚙️ Runners / Services"]
R1[Codex-CLI / Claude-CLI / Gemini-CLI]
R2[Playwright MCP Server]
R3[DevTools MCP Server]
R4[LLM-Bridge Adapter]
end
subgraph Infra["💾 Backend Infra"]
D1[(PostgreSQL / SQLite)]
D2[(S3 / Local Storage)]
end
UI --> API
API --> Runtime
API --> Infra
Runtime --> D2
classDef code fill=#C6E2FF,stroke=#4582EC;
classDef ops fill=#FFF2CC,stroke=#D6B656;
classDef bridge fill=#D9EAD3,stroke=#6AA84F;
三、API 模块划分与命名语义
模块路径 名称 职责描述 核心子接口
/api/agent/code CodeSmith 面向代码智能任务 analyze, refactor, generate, explain, review
/api/agent/ops OpsMind 面向运维与测试任务 playwright, devtools, profile, report
/api/agent/bridge LLM-Bridge 模型桥接与分发层 invoke, list-models, proxy
四、功能说明
1. CodeSmith编码智能
目标: 让 LLM 理解项目上下文并参与重构。
功能示例:
功能 说明 CLI 或工具
analyze 分析文件结构与依赖 codex-cli analyze
refactor 自动重构、删除死代码 codex-cli refactor
generate 根据提示生成新代码 claude-cli generate
explain 对复杂逻辑生成自然语言解释 gemini-cli explain
运行模式:
通过 child_process.spawn 调用 CLI并以 SSE 流式推送执行日志。
每次执行结果存储为 run 记录,并关联到任务。
2. OpsMind运维智能
目标: 自动化验证与性能剖析。
MCP 接口:
功能 MCP Server 说明
playwright mcp-playwright 执行端到端测试、截图、trace
devtools mcp-devtools 运行 CPU/Heap Profiler
profile mcp-devtools 生成 trace.json 与指标摘要
report 内部 汇总生成性能分析报告HTML/PDF
示例工作流:
POST /api/agent/ops/playwright
→ 启动 Playwright MCP → trace.zip → 存储为附件 → 任务run状态更新
3. LLM-Bridge模型桥接层
目标: 在不暴露私钥的前提下,统一访问国内外大模型生态。
功能 说明 适配对象
invoke 通用调用接口(支持 OpenAI 格式) ChatGPT / Claude / Qwen / Yi / Baichuan / Moonshot
list-models 返回所有可用模型及状态 从注册表动态读取
proxy 将 REST 调用转为相应 API 代理 可接入 WebSocket 流式返回
配置结构示例:
llm_bridge:
providers:
openai:
endpoint: https://api.openai.com/v1
api_key: $OPENAI_API_KEY
qwen:
endpoint: https://dashscope.aliyuncs.com/api/v1
api_key: $DASHSCOPE_API_KEY
moonshot:
endpoint: https://api.moonshot.cn/v1
api_key: $MOONSHOT_API_KEY
作用:
对上:所有 /api/agent/code、/api/agent/ops 请求可指定 provider 参数;
对下:桥接各类 LLM API兼容 JSON Schema 响应;
提供统一上下文缓存机制(如 KV/Redis session
五、数据库模型
CREATE TABLE tasks (
id TEXT PRIMARY KEY,
title TEXT,
summary TEXT,
status TEXT CHECK (status IN ('todo','doing','done','archived')),
tags TEXT[],
created_at TIMESTAMP DEFAULT now(),
updated_at TIMESTAMP DEFAULT now()
);
CREATE TABLE runs (
id TEXT PRIMARY KEY,
task_id TEXT REFERENCES tasks(id),
runner TEXT,
input JSONB,
output JSONB,
status TEXT CHECK (status IN ('queued','running','passed','failed')),
artifacts TEXT[],
started_at TIMESTAMP,
finished_at TIMESTAMP
);
CREATE TABLE attachments (
id TEXT PRIMARY KEY,
task_id TEXT REFERENCES tasks(id),
name TEXT,
kind TEXT,
mime TEXT,
url TEXT,
size INT,
created_at TIMESTAMP DEFAULT now()
);
六、前端设计Web 工作台)
结构:
区域 功能 技术栈
左栏 任务列表(搜索、筛选、状态切换) Zustand + SWR
右栏 任务详情、运行面板、上传区 Tailwind + shadcn/ui
底部 实时日志控制台 WebSocket/SSE
顶部 模型选择LLM-Bridge 模式切换) Select + Context Provider
七、安全与隔离设计
Runner 容器隔离:
所有 Playwright/DevTools Runner 运行于独立容器,带文件系统隔离。
命令白名单:
/api/agent/code 仅能执行 codex-cli 等注册命令。
模型访问控制:
LLM-Bridge 支持:
统一 API Key 管理;
访问审计;
模型路由黑白名单(例如禁止访问海外模型)。
上传验证:
图片/trace 文件 MIME 检查 + 大小上限(默认 50MB
八、部署与扩展
推荐部署模式:
服务 类型 部署建议
API Gateway Node 18+ Docker 容器,内网访问 MCP
Playwright MCP Sidecar mcr.microsoft.com/playwright 镜像
DevTools MCP Sidecar chrome-launcher 环境
LLM-Bridge 统一服务 可独立部署,实现模型代理
Storage S3 或 MinIO 附件与 trace 存储
DB PostgreSQL 任务、运行、模型状态持久化
九、未来路线图v1 → v3
阶段 特性 说明
v1.0 CodeSmith + OpsMind 基础实现 完成 CLI/MCP 集成、运行记录体系
v1.1 LLM-Bridge 接入国内模型 Qwen、Yi、Baichuan、Moonshot
v2.0 会话上下文与任务记忆 Redis + Vector Store
v2.1 Web 工作流可视化Flow View 支持多步骤组合任务
v3.0 多代理协作模式 让 CodeSmith 与 OpsMind 自动协作验证
十、总结与命名哲学
CodeSmith → “写得比人快一点”
OpsMind → “想得比机器深一点”
LLM-Bridge → “连接的不是模型,而是生态”
三者共同组成一个统一的“Agent Infra”能运行在开发机、CI/CD 管道、甚至本地容器中,为 Cloud-Neutral 工程体系提供智能层。