Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

牛火山企业智能体平台

中文 | English

牛火山企业智能体平台(内部代号:nhs)是基于 Java 21 与 AgentScope Java 构建的企业级通用智能体平台工程实践,围绕任务驱动、数字员工、工作空间与业务接入四个核心域,将系统划分为控制面、运行时、执行面与治理面:控制面负责 Agent、模型、Skill、MCP、知识与数据资源的声明式配置和版本化发布;运行时承载多 Agent 协作、上下文编排、工具路由与事件流;执行面通过 Browser 与 Sandbox 提供类 RPA 的受控操作环境和隔离计算能力;治理面统一接入身份、权限、审批、风控、审计与用量计量。平台支持多垂类 Agent 的能力装配与相互通信,目标是将模型推理转化为可授权、可执行、可观测、可验收、可追溯的企业级数字生产力。

文档状态:2026年08月27日 项目快照。当前仓库适合作为后续续建、拆分或重构的业务与工程参考,不应直接视为已经完成生产验收的发布版本。

1. 项目定位

牛火山企业智能体平台不是单纯的聊天页面,也不是只供研发人员使用的 Agent 配置工具。产品按使用人群拆成三个相互关联、权限隔离的工作面:

工作面 主要用户 入口 核心目标
用户客户端 普通业务用户、项目成员 /app,兼容别名 /client 用对话、任务和项目完成日常工作,不暴露底层工程配置
配置管理端 Agent 工程师、数据工程师、平台运维 /home 及动态授权菜单 配置 Agent、模型、Skill、MCP、知识库、数据源、自动化和开放能力
治理运营端 管理人员、安全人员、审计人员 /dashboard/risk-control/system 查看运行情况、Token 消耗、权限、风险、审批、审计和平台健康度

平台目前采用"单企业私有化"边界,不额外引入产品级多租户模型。不同用户、项目、任务和资源之间仍通过主体、角色、权限包、访问策略与数据范围进行隔离。

2. 当前业务状态

当前代码已经从基础框架扩展为覆盖面较广的智能体平台工程原型,核心领域、主要页面、数据库迁移和运行时适配均已形成。它具有继续开发和按模块复用的价值,但当前代码版本尚未作为一个完整候选版本重新做全量验收。

理解项目状态时需要区分三个层次:

层次 当前结论
历史联调结果 登录、私有会话、任务、Agent 调用、流式响应等核心链路曾完成阶段性联调,相关结果只能证明当时版本
当前源码实现 用户端、配置端、治理端及后端主要业务域均有源码实现,数据库迁移已推进至 V99
生产可用状态 尚不能据此判定为生产就绪;仍需从空库迁移、真实供应商接入、跨用户权限、浏览器与 Sandbox、性能安全和私有化交付验证

完整产品规划

本 README 主要记录当前实现情况,产品完整形态、16 个产品域及详细功能定义请参阅 企业级智能体工作平台功能模块规划.md

3. 产品界面

以下截图记录当前产品实现,原图统一归档在 doc/screenshots/

用户客户端

智能对话工作台

以项目和历史会话组织上下文,主区域聚焦对话内容与输入,支持自动路由、指定 Agent、文件与执行工具。

智能对话工作台

任务状态看板

按任务状态形成可拖动看板,并提供搜索、状态筛选、排序、视图切换和快速创建入口。

任务状态看板

重要/紧急四象限

根据重要性和紧急度排列任务,帮助用户区分优先处理、计划推进、快速处理和按序安排的工作。

任务重要紧急四象限

项目中心

集中展示项目状态、关联任务、默认智能体和协作空间,为会话与任务提供长期项目上下文。

项目中心

配置管理端

管理工作台

汇总个人待办、Token、技能、MCP、任务和数据入口,并通过推荐场景与最近任务连接日常配置和运营工作。

配置管理工作台

Agent 创建向导

通过基本信息、角色与指令、引擎与运行、能力装配、体验与发布五个步骤完成智能体配置,降低专业参数的理解成本。

Agent 创建向导

模型配置

以类型化表单配置 Provider、服务地址、凭证、模型能力、上下文长度和推理参数,并提供模型发现与连接测试。

模型配置

MCP 连接器

按步骤配置服务地址、传输协议、命名空间、鉴权方式和超时策略,并在接入前完成连接验证与工具发现。

MCP 连接器配置

知识库

统一管理知识库、文档、可见范围和检索能力,并提供跨库检索、A/B 检索与运营指标入口。

知识库管理

数据接入

围绕数据源、数据集与元数据、只读查询三个层次管理企业数据连接,支持托管凭证、连接测试和启停控制。

数据接入管理

治理运营端

风控中心

将审批工作台、审计日志、通知收件箱和风险策略放在同一治理入口,集中处理高风险执行和人工确认。

风控中心

开放接口与 Embed

提供 API 应用、服务账号、Playground、接口文档和 Embed 调试能力,支持将已发布 Agent 安全嵌入外部业务系统。

开放接口与 Embed 调试

成员与权限

在成员详情中统一查看并配置权限包、个人覆盖、临时授权和参考用户复制,兼顾授权效率与变更留痕。

成员与权限管理

Token 统计

按时间范围统计输入、输出和交互次数,展示智能体与用户消耗排行,并保留逐次调用明细。

Token 统计分析

4. 核心业务闭环

平台以"完成可验收的工作"为主线,而不是以模型返回一段文本为终点。

登录 / 身份识别
 -> 私有会话或显式创建任务
 -> 绑定项目与任务上下文
 -> 冻结 Agent、资源和权限快照
 -> 运行时执行(当前适配 AgentScope)
 -> 调用工具 / MCP / 知识库 / 数据源 / Sandbox / Browser
 -> 在高风险节点发起审批、确认或用户追问
 -> 生成消息、文件、报表等制品
 -> 用户验收或退回重做
 -> 留存通知、审计、Trace 和用量统计

核心对象的职责边界如下:

  • 会话:默认属于用户私域,用于低门槛交互、上下文延续和结果展示。
  • 项目:组织成员、任务、默认 Agent、文件与运行策略,是长期协作上下文。
  • 任务:企业共享和协作的正式工作单元,拥有目标、优先级、状态、版本和验收结果。
  • 执行:一次具体运行,拥有独立运行状态、事件时间线、资源快照、消耗和错误信息;任务状态与运行状态不混用。
  • 制品:执行产生的文件、查询结果、图表、报告或其他可交付结果。
  • 验收:由业务用户确认完成、驳回或要求重做。模型声称"已完成"不等于任务闭环。
  • 审批与审计:对敏感工具、数据访问和关键操作进行人工控制,并记录可追溯证据。

5. 业务模块

5.1 用户客户端

用户客户端采用独立全屏布局,默认进入 /app。它刻意隐藏大部分平台工程配置,只保留业务用户高频使用的三个入口。

模块 已有能力
智能对话 项目与会话分组、会话搜索、历史记录、自动路由、@Agent、指定 Agent、流式消息、执行事件、用户确认与追问、引用内容、图表、代码、SQL 计划、Mermaid、工作区文件和制品预览
任务中心 名称与条件筛选、列表视图、状态看板、重要/紧急四象限、新建任务、单 Agent 或固定多 Agent 编排、资源授权、运行详情、版本快照、步骤、制品和验收记录
项目中心 卡片与列表视图、项目搜索、新建与编辑、默认 Agent、项目成员、关联任务、工作区和隔离策略

客户端与管理端共用登录态和后端权限体系。只有拥有管理端路由权限的账号,才应看到并使用工作区切换入口。

5.2 配置管理端

配置管理端基于 SoybeanAdmin 标准布局,通过后端动态路由控制账号实际可见菜单。主要面向专业人员,而不是普通业务用户。

模块 路由 已有能力
管理工作台 /home 待办、常用 Agent、推荐场景、最近任务和数据入口
协作工作区 /workspace 管理端智能对话、工作区文件与浏览器控制
任务与项目运营 /task-center/project-center 企业任务运行和验收、项目成员与角色、文件、网络及通知策略
Agent 中心 /agent-center 向导式创建、系统提示词、模型与运行策略、Skill/工具/知识库装配、欢迎体验、版本发布、执行历史与 Trace
Agent 调试 /agent-debug 调试运行、实时事件、重放、审批状态和浏览器控制
资源中心 /resource-center 模型、MCP/Search/API 连接器、工具、Skill、记忆;包含连接测试、工具发现、ZIP Skill 导入、版本与发布审核
知识库 /knowledge 目录、权限、文档、解析、切片、Embedding、检索策略、指标和检索实验
数据接入 /data-source 数据源、数据集、元数据目录、字段与指标、画像、表关系、行策略、导入导出和只读查询
自动化 /automation 手动、Cron、Webhook 触发,绑定固定任务版本和服务账号,配置重试策略
开放接口 /open-api API 应用、服务账号、机器身份授权、凭证、接口文档、Playground、Embed 和迁移归档
提示词与场景 /prompt-studio/scenario-templates/slash-commands 提示词版本与变量测试、场景模板交付、个人快捷命令

配置体验遵循"表单、向导和分步选择优先"的原则。原始 JSON 只应作为系统内部传输或高级诊断数据存在,不应要求普通配置人员手工编写未知结构的 JSON。

5.3 治理与运营

模块 路由 已有能力
风控中心 /risk-control 审批工作台、审计日志、通知收件箱和风险策略
身份与系统管理 /system 成员、固定角色、权限包、权限复制历史、身份同步、Token 额度、运行健康、Redis 运维、日志留存和平台配置
运营看板 /dashboard/token-stats 执行成功率、Token/API 使用趋势、Agent 健康、用户与 Agent 排行和调用明细
数据门户与 ChatBI /data-portal/chatbi 数据目录、自然语言分析、只读 SQL、图表与透视、历史、简报、监控和下钻
报表与案例 /saved-reports/examples 报表定义、参数化运行、订阅、运行历史和 ChatBI 案例治理
个人与记忆 /personal-center/memory 个人资料、有效权限、额度、通知、个人资源、会话摘要、长期偏好和记忆运维

此外,前端保留 /embed/chat 嵌入式对话与 /client/debug Widget 协议调试能力,用于将平台能力集成进第三方业务系统。

6. 总体架构

flowchart LR
 User[业务用户] --> Client[用户客户端 /app]
 Engineer[工程与运维人员] --> Admin[配置与治理端 /home]
 Client --> API[nhs-admin REST / SSE]
 Admin --> API
 API --> Platform[nhs-platform 业务领域]
 API --> System[nhs-system / nhs-common 基础能力]
 Platform --> SPI[nhs-runtime-spi]
 SPI --> AgentScope[nhs-runtime-agentscope]
 Platform --> PostgreSQL[(PostgreSQL + pgvector)]
 Platform --> Redis[(Redis / Redisson)]
 Platform --> Browser[Node / Playwright Browser Worker]
 Platform --> Sandbox[Sandbox Runner]
 AgentScope --> Providers[模型 / MCP / API / Search]
 Platform --> DataSystems[知识库 / 数据源 / 文件系统]
Loading

6.1 前端

  • Vue 3、TypeScript、Vite 8、Naive UI、UnoCSS。
  • 以 SoybeanAdmin 作为管理端基座,保留其认证、动态路由、布局和工程工具链。
  • /app 使用独立客户端布局;/home 及其他管理页面使用标准后台布局。
  • 页面候选路由在前端生成,最终菜单与可访问范围由后端权限结果决定,不能只依赖"隐藏菜单"做安全控制。
  • 查询和配置采用 REST,长时间执行与对话增量结果采用 SSE/事件流展示。

6.2 后端模块

Maven 模块 职责
nhs-admin Spring Boot 应用入口、环境配置和模块装配
nhs-platform Agent、会话、项目、任务、执行、资源、知识、数据、审批、审计、开放接口等平台业务域
nhs-runtime-spi 与具体智能体引擎无关的运行时契约
nhs-runtime-agentscope AgentScope Java 运行时适配器
nhs-sandbox-runner 面向不可信或高隔离执行的独立 Runner
nhs-migration-cli 迁移清点、转换与验证辅助工具
nhs-systemnhs-common-* 继承基础框架的用户、权限、Web、MyBatis、Redis、日志、加密等通用能力
nhs-apinhs-extend 公共 API 契约及监控、任务等可选扩展服务

nhs-platform 内部按业务域组织代码,主要包括 agentconversationprojecttaskexecutionworkflowmodelconnectorskillknowledgememorydataapprovalartifactautomationnotificationidentityiamopenapiembedauditriskbrowsersandboxreportscenariooperationsportal

6.3 运行时与隔离执行

  • 项目已抽取 nhs-runtime-spi,AgentScope 通过适配模块接入,为未来增加运行引擎提供依赖边界;当前仍存在 AgentScope 专属语义和恢复协议,替换能力尚未验证。
  • AgentScope 适配器是条件启用组件。接手时必须核对实际运行 Profile 与 NHS_RUNTIME_AGENTSCOPE_ENABLED,不能仅凭 Maven 依赖存在就判断运行时已经启用。
  • Agent 发布后形成版本;任务运行时冻结 Agent、模型、工具、Skill、知识与权限快照,避免配置变化破坏历史可解释性。
  • Browser Worker 是独立 Node/Playwright 进程。Java 主进程只调用其 HTTP API,不在 JVM 中执行不可信浏览器代码;浏览器上下文只保存在 Worker 内存中,Worker 重启后必须失效旧会话并重新打开。
  • Sandbox Runner 承担代码与 Skill 依赖等隔离执行,避免主应用直接暴露宿主环境。
  • 高风险工具、浏览器接管、敏感数据操作和 Agent 主动提问通过可持久化的等待/恢复状态衔接人工操作。

6.4 数据与基础设施

  • PostgreSQL 16+ 是业务持久化事实源,pgvector 用于向量数据;Redis/Redisson 只承担缓存、锁和短期协调,不作为最终业务事实源。
  • 平台 SQL 位于 backend/script/sql/postgres/agent/。当前迁移头为 V99,共有 98 个迁移脚本,V58 为预留版本。该目录内的旧版说明仍停留在 V94,续建时应以实际迁移文件和本节为准并同步修正文档。
  • 已发布的迁移脚本应保持不可变,后续修改通过新增版本演进。
  • 数据模型尽量避免复杂外键和跨业务域级联耦合,优先使用唯一约束、状态机、事务、版本号和应用层校验;当前迁移中存在少量必要外键,不能假设数据库为"零外键"。
  • 平台按单企业私有部署设计,不在核心平台表中再复制一套产品级租户模型。
  • 密钥、数据库密码、模型 API Key 和连接器凭证必须加密存储或保存安全引用,不能出现在种子 SQL、前端回显、日志或截图中。

7. 设计理念

  1. 业务闭环优先:对话只是入口,任务、执行、制品和验收共同定义"工作完成"。
  2. 使用人群分层:普通用户只面对对话、任务和项目;复杂资源配置进入管理端;运营与安全信息进入治理端。
  3. 人类可理解的配置:模型、API、MCP、Search、Skill、知识和数据源使用类型化表单或向导,避免让用户直接填写无说明的 JSON。
  4. 配置与运行分离:可变配置形成不可变发布版本,执行引用冻结快照,支持审计、回放和问题定位。
  5. 最小权限与默认拒绝:显式拒绝优先;私有会话和企业共享任务属于不同可见域;后端必须再次执行资源级授权判断。
  6. 身份类型分离:人类用户、服务账号和 API 应用是不同主体,凭证、授权范围和审计记录不混用。
  7. 运行引擎解耦演进:已通过 SPI 建立依赖边界,后续仍需继续收敛 AgentScope 专属语义并验证第二种运行引擎。
  8. 持久化事实可追溯:关键状态、审批、事件、快照、消耗和结果进入 PostgreSQL,缓存丢失不应改变最终业务结论。
  9. 不可信执行隔离:浏览器、代码、第三方 Skill 和外部连接器按风险分区运行,并保留租约、超时、确认和审计机制。
  10. 私有化交付可运维:设计需覆盖离线安装、配置加密、健康检查、备份恢复、升级和回滚,而不仅是开发环境启动。

8. 权限与共享模型

平台权限不是单一"角色菜单"模型,而是多个层次共同决定:

登录主体
 -> 固定角色 / 权限包 / 直接授权
 -> 路由与操作权限
 -> 项目成员关系和任务访问规则
 -> Agent 与资源授权快照
 -> 数据目录、知识目录、连接器和工具的细粒度策略
 -> 风险策略、审批与审计

主要约束:

  • 私有会话默认仅会话所有者可见,不因同属一个企业而自动共享。
  • 项目和任务可按成员、角色和访问规则共享;任务运行只能使用当次已授权并冻结的资源。
  • deny 规则优先于 allow,不存在授权时默认拒绝。
  • 菜单权限只决定入口可见性,接口和数据访问仍由后端校验。
  • 权限复制面向"参考用户选择",不是让管理员手工输入用户 ID;复制行为本身需要留痕。
  • 服务账号用于自动化和机器调用,不应伪装成人类用户,也不应拥有不可解释的全局权限。

9. 开源许可

后端基于 RuoYi-Vue-Plus,前端基于 SoybeanAdmin,两个项目均采用 MIT License,许可证文件分别保留在 backend/LICENSEfrontend/LICENSEnhs 仅作为源码、服务和数据库对象的内部代号,产品名称为"牛火山企业智能体平台"。

后续计划:考虑到 AI 智能体领域的 Java 生态仍相对受限,项目后续将以全新的 Python 项目形态重新设计并开源,本仓库继续作为现有业务实现与架构设计的参考保留。

About

牛火山企业智能体平台是一套基于 Java 21、AgentScope Java、RuoYi-Vue-Plus 与 SoybeanAdmin 构建的企业级通用智能体平台工程实践。平台以任务驱动、数字员工、工作空间和业务接入为核心,提供多 Agent 协作、Skill/MCP 集成、模型管理、知识库、数据源、Browser 与 Sandbox 执行环境,并覆盖权限控制、风险审批、审计追踪和 Token 用量分析,面向企业私有化部署与智能化业务落地。

Topics

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /