一个 AI 智能体管理与可视化编排平台。支持 Skill 文件管理、标签分类、可视化工作流编排和 DAG 调度执行。
|
|
1 місяць тому | |
|---|---|---|
| backend | 1 місяць тому | |
| docs | 1 місяць тому | |
| frontend | 1 місяць тому | |
| skills | 1 місяць тому | |
| .agentignore | 2 місяців тому | |
| .gitattributes | 2 місяців тому | |
| .gitignore | 1 місяць тому | |
| AGENTS.md | 1 місяць тому | |
| CLAUDE.md | 1 місяць тому | |
| README.md | 1 місяць тому | |
| RTK.md | 2 місяців тому | |
| prompt.md | 1 місяць тому | |
| run.bat | 2 місяців тому | |
| run.sh | 2 місяців тому |
智能体管理和编排平台 —— Skill 文件管理、标签分类、可视化工作流编排、DAG 调度执行、知识库与知识图谱一站式平台。
基于 Spring Boot + Vue 3 的全栈应用,前后端合并打包为单一 JAR 同端口部署。支持拖拽式工作流画布、多种节点类型、节点流式输出、运行历史回放,并集成知识库向量化检索、结构化数据源 SQL 控制台与 Neo4j 知识图谱。
SKILL.md 智能保存自动合并 frontmatter。X-API-Key 鉴权调用工作流,支持工作流 ID 白名单。.agentignore 过滤 — 仿 .gitignore 的工作目录过滤机制,输出节点与运行目录 zip 下载按规则过滤。| 层级 | 技术 |
|---|---|
| 后端框架 | Java 17 + Spring Boot 3.3.6 + Spring AI 1.0.0 |
| 数据访问 | Spring Data JPA + H2(嵌入式文件模式,存储运行日志) |
| WebSocket | spring-boot-starter-websocket |
| 文档解析 | Apache Tika 2.9.2(PDF/Word/Excel/PPT/HTML/TXT) |
| 向量库 | Spring AI Milvus Starter(Milvus 2.5+) |
| 知识图谱 | Neo4j Java Driver 5.27 |
| 数据库驱动 | MySQL 8.4 / PostgreSQL 42.7 / 达梦 8.1 / SQLite 3.45 |
| 安全 | Jasypt 3.0.5(凭据加密)+ Bean Validation |
| 工具库 | Lombok、commons-io 2.18、commons-compress 1.26 |
| 前端框架 | Vue 3.5 + Vue Router 4.6 + Pinia 3.0 |
| 前端 UI | Naive UI 2.44 + @vicons/ionicons5 |
| 画布编辑 | @vue-flow/core 1.48 + @vue-flow/background |
| 代码编辑 | Monaco Editor 0.55 |
| 图谱可视化 | Cytoscape 3.34 + cytoscape-cose-bilkent |
| HTTP / 构建 | Axios + Vite 8 |
| AI 服务 | Spring AI OpenAI 兼容接口(默认智谱 GLM) |
| 本地嵌入 | Embedding Bridge(Python 子进程,BAAI/bge-m3) |
| 智能体引擎 | Hermes Bridge(Python AIAgent 子进程,40+ 工具) |
| 构建 | Maven + Vite,前端产物嵌入 Spring Boot,单一 JAR |
├── backend/ # Spring Boot 后端
│ ├── embedding-bridge/ # 本地 Embedding Bridge(Python,bge-m3 向量与分块)
│ ├── src/main/java/com/agent/management/
│ │ ├── controller/ # REST API 控制器(15 个)
│ │ ├── service/ # 业务逻辑层
│ │ ├── engine/ # 工作流 DAG 调度引擎
│ │ │ └── executor/ # 节点执行器(9 种节点类型)
│ │ ├── model/ # 实体、DTO、VO
│ │ ├── repository/ # JPA 数据访问层
│ │ ├── parser/ # SKILL.md 解析器
│ │ ├── external/ # 外部 API(/api/v1/**)
│ │ ├── config/ # 配置类(CORS、SPA Fallback、Milvus 等)
│ │ └── common/ # 通用工具(统一响应、异常处理)
│ └── src/main/resources/
│ ├── application.yml # 后端配置(需从 .example 复制)
│ ├── application.yml.example # 配置示例(已脱敏)
│ └── static/ # 前端构建产物(Vite 直出)
├── frontend/ # Vue 3 前端
│ └── src/
│ ├── views/ # 页面(knowledge/skill/workflow/模型/标签/编排)
│ ├── components/ # 组件(knowledge/skill/tag/workflow/layout)
│ ├── composables/ # 组合式函数(工作流运行/版本/字段)
│ ├── api/ # API 请求封装
│ ├── stores/ # Pinia 状态管理
│ ├── router/ # 路由配置
│ └── utils/ # 工具函数(request、SSE)
├── hermes-bridge/ # Hermes Agent 执行桥(Python 子进程)
├── docs/ # 设计文档
├── run.sh / run.bat # 前后端合并构建部署脚本
└── pom.xml
复制示例配置文件并填入真实值:
cp backend/src/main/resources/application.yml.example backend/src/main/resources/application.yml
编辑 application.yml,按需填入 AI 服务 API Key、Milvus / Neo4j / 数据库连接信息(参见文件内注释)。敏感配置建议通过环境变量注入。
Windows:
run.bat
Linux / macOS:
chmod +x run.sh
./run.sh
仅构建(不启动):
run.bat build # Windows
./run.sh build # Linux/macOS
单独运行已构建的 JAR:
java -jar backend/target/agent-management-1.0.0.jar
启动后访问 http://localhost:2438。
# Embedding Bridge(知识库向量化,首次运行自动下载 bge-m3 约 2GB)
pip install -r backend/embedding-bridge/requirements.txt
# Hermes Bridge(智能体节点工具执行能力)
pip install -r hermes-bridge/requirements.txt
| 配置项 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
| 服务端口 | — | 2438 |
Spring Boot 监听端口 |
| Skill 存储目录 | SKILL_BASE_PATH |
./uploads/skills |
Skill 文件根目录 |
| JSON 存储目录 | JSON_STORE_DIR |
./data/json |
配置类数据存储 |
| 工作流运行目录 | WORKFLOW_RUN_DIR |
./data/workflow-runs |
每次运行的文件永久保留 |
| LLM API Key | OPENAI_API_KEY |
— | 智谱 AI Key,同时供 Hermes Bridge 回退使用 |
| LLM 服务地址 | — | 智谱 OpenAI 兼容地址 | 可改为 DeepSeek / Moonshot 等 |
| 知识库开关 | KB_ENABLED |
true |
false 时所有 kb 接口返回 503 |
| Milvus 地址 | MILVUS_HOST / MILVUS_PORT |
127.0.0.1 / 19530 |
gRPC 连接地址 |
| Milvus 开关 | MILVUS_ENABLED |
true |
文档向量化总开关 |
| Embedding Bridge | EMBEDDING_BRIDGE_ENABLED |
true |
本地 bge-m3 嵌入服务 |
| Embedding Bridge 端口 | EMBEDDING_BRIDGE_PORT |
18732 |
Python 子进程端口 |
| 嵌入模型 | EMBEDDING_MODEL |
BAAI/bge-m3 |
HuggingFace 模型 |
| Hermes Bridge | HERMES_ENABLED |
true |
关闭后 agent 节点退化为纯 LLM 对话 |
| Hermes Bridge 端口 | HERMES_BRIDGE_PORT |
18731 |
Python 子进程端口 |
| Hermes LLM Key | HERMES_BRIDGE_LLM_API_KEY |
— | 为空时回退到 OPENAI_API_KEY |
| Neo4j 连接 | NEO4J_URI / NEO4J_USER / NEO4J_PASSWORD |
本地默认 | 实际凭据存 GraphSource 表(Jasypt 加密) |
| Jasypt 密钥 | JASYPT_KEY |
dev-only-key-... |
⚠️ 生产环境务必设置强随机密钥 |
| 外部 API 开关 | EXTERNAL_API_ENABLED |
true |
第三方调用工作流接口 |
| 外部 API Key | EXTERNAL_API_KEY |
— | X-API-Key 鉴权 |
| 模块 | 前缀 | 主要功能 |
|---|---|---|
| Skill 管理 | /api/skills |
上传、编辑、删除、详情、文件树、版本管理、回滚 |
| 标签 | /api/tags |
标签组与标签的增删改查 |
| 技能分类 | /api/categories |
树形分类管理、移动 |
| 工作流分类 | /api/wf-categories |
工作流独立树形分类 |
| 智能体模板 | /api/agent-templates |
模板 CRUD |
| AI 模型 | /api/models |
多模型配置、测试、拉取、默认切换、优先级 |
| 工作流 | /api/workflows |
工作流编排、保存、执行(SSE) |
| 运行历史 | /api/run-history |
工作流与单次运行记录查看 / 删除 |
| 知识库文档 | /api/kb/documents |
上传、分块、向量化、移动、依赖检查 |
| 知识库分类 | /api/kb/categories |
知识库树形分类 |
| 知识库搜索 | /api/kb/search |
向量 + BM25 混合检索 |
| 数据源 | /api/kb/datasources |
动态数据源管理、连接测试 |
| SQL 查询 | /api/kb/datasources/{id} |
表结构、列、数据、查询、历史 |
| 知识图谱 | /api/kb/graphs |
Neo4j 图源管理、查询、标签 |
| 翻译 SSE | /api/translation |
实时翻译进度推送 |
| 外部 API | /api/v1/** |
第三方 X-API-Key 鉴权调用工作流 |
backend/src/main/resources/static/,后端 Maven 打包为单一 JAR。index.html,支持前端路由刷新。data/ 目录保存 JSON 配置、工作流运行文件与 H2 数据库,部署时注意持久化。私有项目,未指定开源许可证。