README 更新:仓库定位为 L1 客户端 + L2 中台引擎,补充 server/ 目录结构与启动说明

This commit is contained in:
fiser_jun 2026-08-20 01:10:01 +08:00
parent 30419250bf
commit e00396e221

View File

@ -1,14 +1,14 @@
# Agent · MCP 智能体 Web 客户端
# Agent · 城轨智能中台(L1 Web 客户端 + L2 中台引擎)
基于 MCP(Model Context Protocol)协议的智能体 Web 客户端,使用 **TypeScript** 开发,经 esbuild 编译为浏览器原生 ES module,加载即用。
基于 MCP(Model Context Protocol)协议的智能体系统:仓库根目录为 **L1 AI 客户端**(Web UI,TypeScript,经 esbuild 编译为浏览器原生 ES module,加载即用);`server/` 为 **L2 中台引擎**(Express API,仅绑定 127.0.0.1)
## 项目定位
这是一个**协议原生的智能体 Web 客户端**:
这是一个**协议原生的智能体系统**:
- 不依赖任何 Skill 脚本机制 — 工具全部是注册的 JS 函数,AI 只填 JSON Schema 参数
- 不依赖特定模型 — 4 种模型源任选(Ollama / oMLX / Sparkle / 云端 API),换模型不改业务代码
- 不依赖特定业务 — 通过 MCP 协议接入任意子系统(本仓库自带 webui,业务子系统各自独立部署)
- 不依赖特定业务 — 通过 MCP 协议接入任意子系统(本仓库自带 L1 webui + L2 中台引擎,业务子系统各自独立部署)
## 核心特性
@ -82,6 +82,18 @@ Agent/
│ ├── md-splitter.ts # Markdown 分模块
│ └── markdown.ts # 轻量 Markdown 渲染器
├── server/ # L2 中台引擎(Express API,:8088,仅 127.0.0.1)
│ ├── src/main.js # 入口(本地回环监听)
│ ├── src/auth/ # JWT Ed25519 鉴权 + 密钥管理
│ ├── src/audit/ # 审计日志(链式哈希防篡改)
│ ├── src/rbac/ # 角色权限
│ ├── src/import/ upload/ # 数据导入(batch_uuid 幂等防重)
│ ├── src/precompute/ # 业务预计算(AI 不算账,业务系统算好)
│ ├── src/export/ # 报表导出工作队列
│ └── README.md # 中台引擎详细说明
├── packages/shared/ # 中台公共包(模块注册表 / 常量 / 备份表定义)
└── utils/ # 工具函数
├── config.ts # 全局配置 + localStorage 持久化
├── metrics-client.ts # 资源监控 + Token 速率
@ -194,9 +206,20 @@ OLLAMA_ORIGINS=http://localhost:8090 ollama serve
- 有业务子系统 → 子系统启动后,从其日志或 `~/.metro-driver/token` 读取,然后 `http://localhost:8090/?token=<读取的值>`
- 没有业务子系统(只看 webui)→ 留空,前端能跑但 MCP 调用会失败(预期行为)
### 可选:启动中台 proxy
### 可选:启动中台引擎(L2,:8088)
如果用云端 API / oMLX,浏览器直调会被 CORS 拦截。需要起一个本地 proxy 转发(本项目不含,自行实现):
仓库已含 L2 中台引擎源码(`server/`,运行说明见 `server/README.md`):
```bash
cd server
cp .env.example .env
npm install
npm start # 监听 http://127.0.0.1:8088/api/v1
```
职责:请求验证与路由转发、JWT Ed25519 鉴权、链式哈希审计、RBAC、数据导入/导出与预计算。业务子系统(MCP Server,:7777/:7778)不在本仓库。
如用云端 API / oMLX,浏览器直调仍会被 CORS 拦截,需本地 proxy 转发(本项目不含,自行实现):
```
POST /proxy/anthropic-messages # 转发到 Anthropic 兼容端点