专为多智能体设计、OpenAPI 标准化、基于 OSS 的企业级智能体云盘中间件
Apache 2.0 开源协议,永久免费商用
AgentDisk 是一款面向 AI 智能体生态的专用云盘,解决多智能体文件共享、产物持久化、权限隔离、资产沉淀问题。目前全网无同类开源项目,填补多智能体云盘技术空白。
本项目剥离业务耦合,纯中立中间件,任何 AI Agent 平台均可快速集成。
- 多智能体Team架构:支持多智能体协作、资源隔离、权限分发
- OpenAI 风格 OpenAPI:Bearer Token、统一返回、AI生态无缝接入
- 全量OSS兼容:MinIO、阿里云OSS、腾讯云COS、华为OBS
- 细粒度RBAC权限:用户、智能体双维度权限管控
- 高级文件能力:版本回溯、回收站、标签检索、在线预览
- 安全外链分享:时效、提取码、访问次数、手动作废
- 生产级安全规范:审计日志、数据脱敏、防越权、防注入
- 语言:Golang
- 框架:Gin
- 数据库:MySQL 8.0
- 存储:MinIO SDK(全OSS兼容)
- 鉴权:JWT(Bearer Token) + OAuth2(Web 登录)
- 缓存:Redis(可选关闭)
- 部署:Docker / 单二进制文件
- 运行时:Node.js + TypeScript
- 框架:Express
- 功能:OAuth2 Provider(授权/令牌/用户信息端点)、PKCE 支持、测试用户管理
- 框架:React 18 + Vite + TypeScript
- UI 库:Ant Design 5
- 状态管理:Zustand + TanStack React Query
- 预览渲染:react-markdown、react-syntax-highlighter
- 路由:React Router v6
make build
./bin/agentdisk --config config.yamlmake docker-up需要同时启动三个服务:
确保 MySQL 和 MinIO 已启动,然后配置 OAuth2(使用测试网关):
# config.yaml 中 oauth2 部分
oauth2:
enabled: true
client_id: "agentdisk"
client_secret: "agentdisk-secret"
auth_url: "http://localhost:3000/oauth2/authorize"
token_url: "http://localhost:3000/oauth2/token"
userinfo_url: "http://localhost:3000/oauth2/userinfo"
redirect_url: "http://localhost:5173/auth/callback"
scopes:
- openid
- profile启动后端:
make run # 端口 9100cd gateway
npm install
npm run dev # 端口 3000网关预置测试账号:
| 用户 ID | 用户名 | 密码 |
|---|---|---|
| user001 | 张三 | test123 |
| user002 | 李四 | test123 |
| user003 | 王五 | test123 |
cd web
npm install
npm run dev # 端口 5173前端通过 Vite 代理将 /v1、/auth、/health 请求转发到后端 9100 端口,确保 Cookie 同源。
打开浏览器访问 http://localhost:5173,将自动跳转到网关登录页。
管理控制台提供系统管理功能,首次访问时需初始化管理员账户。
- 打开浏览器访问 http://localhost:5173/admin/login
- 系统检测到未初始化,自动跳转到管理员创建页面
- 设置用户名、密码和显示名称,点击"创建管理员"
- 创建成功后自动登录,进入管理后台
也可以通过命令行创建管理员:
go run scripts/add_admin/main.go \
-dsn 'root:@tcp(127.0.0.1:3306)/agentdisk?charset=utf8mb4&parseTime=True&loc=Local' \
-username admin \
-password admin123 \
-displayName Admin| 功能 | 说明 |
|---|---|
| 公共目录 | 创建和管理全局/部门级公共文件目录 |
| API Key | 生成、重命名、吊销 API 访问密钥 |
| 管理员 | 创建、删除管理员账户,重置密码 |
| OAuth2 配置 | 配置和测试 OAuth2 认证集成 |
agent-disk/
├── CLAUDE.md # 智能体团队开发约束
├── config.yaml # 配置模板
├── main.go # 入口文件
├── config/ # 配置加载
├── internal/
│ ├── model/ # 数据模型(8张表)
│ ├── middleware/ # 中间件(JWT/CORS/Logger/HybridAuth)
│ ├── handler/ # API处理器
│ ├── service/ # 业务逻辑层
│ ├── repository/ # 数据访问层
│ └── router/ # 路由注册
├── pkg/
│ ├── oss/ # OSS客户端封装
│ ├── response/ # 统一响应体
│ ├── jwt/ # JWT工具
│ ├── oauth2client/ # OAuth2客户端
│ └── download_token/ # 下载令牌工具
├── sql/ # 数据库建表脚本
├── docker/ # Docker部署文件
├── docs/ # OpenAPI文档 + 认证集成指南
├── gateway/ # 测试网关(Node.js OAuth2 Provider)
│ ├── src/
│ │ ├── index.ts # Express 入口
│ │ ├── oauth2/ # OAuth2 端点实现
│ │ ├── store/ # 内存数据存储
│ │ └── views/ # 内嵌 HTML 页面
│ └── package.json
├── web/ # Web 前端(React)
│ ├── src/
│ │ ├── api/ # API 客户端层
│ │ ├── components/ # UI 组件
│ │ ├── pages/ # 页面
│ │ ├── router/ # 路由 + 登录守卫
│ │ ├── store/ # 状态管理
│ │ └── utils/ # 工具函数
│ └── package.json
└── test/ # 测试
- HTTP API接入:5分钟快速对接,无需侵入源码。
- SDK接入:提供 Go / Python SDK,深度嵌入智能体框架。
- 私有化部署:无厂商绑定、无平台锁定。
- 用户空间、目录管理、文件CRUD
- 基础权限、回收站、标签检索
- 在线预览、基础外链
- 完整OpenAPI文档
- 数据加密存储、超大文件分片
- 分布式检索、运维监控面板
- 高级审计、专属技术支持
本项目采用 Apache 2.0 开源协议,商用免费,唯一要求:保留开源声明。
如果本项目对你有用,请点亮 Star,助力 AI 智能体开源生态。