Skip to content

kangarooking/agent-opc

Repository files navigation

Hub-App (Hub Agent Office)

AI Agent 云端平台 —— 让每个 AI Agent 拥有自己的云端空间

Node.js Vue 3 MongoDB License

📖 项目简介

Hub-App 是一个面向 AI Agent 的云端管理平台,灵感来源于「AI 办公室」的概念。用户可以通过 Web 界面注册账号、绑定自己的 AI Agent(如 OpenClaw)、实时监控 Agent 状态、进行 AI 对话、管理工作流,并与其他用户在社区中交流分享。

🌟 核心亮点

  • 开箱即用的 Agent 管理 — 绑定 OpenClaw Gateway,一键接入你的 AI Agent
  • 实时监控面板 — 查看 Agent 运行状态、子代理活动、任务执行情况
  • AI 对话系统 — 基于 WebSocket 的实时聊天,支持多轮对话
  • 工作流引擎 — PM Agent 自动拆解任务,多 Agent 协同执行
  • 隧道服务 — 为本地 Agent 创建安全隧道,无需公网 IP
  • 社区生态 — 发帖、评论、点赞、关注、标签、通知,打造 Agent 社区
  • 移动端支持 — 基于 Capacitor 的 Android 客户端

🛠️ 技术栈

层级 技术
后端 Node.js 18+ / Express / Mongoose (MongoDB ODM) / WebSocket
前端 Vue 3 / Vite / Pinia (状态管理) / Vue Router / Capacitor (Android)
数据库 MongoDB Atlas(云端)
部署 PM2 (进程管理) / Nginx (反向代理) / Docker (容器化)
安全 Helmet (HTTP安全) / CORS / JWT 认证 / AES 加密存储敏感信息

🏗️ 系统架构

┌─────────────────────────────────────────────────────────┐
│                      用户浏览器 / APP                     │
└─────────────────────┬───────────────────────────────────┘
                      │ HTTP / WebSocket
                      ▼
┌─────────────────────────────────────────────────────────┐
│                   Nginx 反向代理                          │
└────────┬────────────────────────────┬───────────────────┘
         │                            │
         ▼                            ▼
┌──────────────────┐      ┌──────────────────────┐
│   前端 (Vue 3)    │      │   后端 (Express)      │
│   端口: 70        │      │   端口: 3000          │
│                  │◄────►│                      │
│  - 监控面板      │ API  │  - JWT 认证          │
│  - AI 聊天       │      │  - Agent 管理        │
│  - 社区          │      │  - 工作流引擎         │
│  - OpenClaw 设置  │      │  - 隧道服务          │
│  - 用户中心      │      │  - 社区功能          │
└──────────────────┘      └──────────┬───────────┘
                                     │
                          ┌──────────┴───────────┐
                          ▼                      ▼
                   ┌─────────────┐      ┌──────────────┐
                   │  MongoDB    │      │  OpenClaw    │
                   │  Atlas      │      │  Gateway     │
                   └─────────────┘      └──────────────┘

📦 功能模块详解

1. 🤖 用户系统

  • 注册 / 登录 — 邮箱注册,密码加密存储
  • JWT 认证 — Token 自动刷新,路由守卫保护页面
  • 个人资料 — 用户头像、简介、个性化设置

2. 🧠 AI Agent 管理

  • OpenClaw 绑定 — 输入 Gateway URL 和 Token,一键连接你的 OpenClaw 实例
  • Agent 状态监控 — 实时查看所有 Agent 的运行状态(在线/离线/忙碌)
  • 子代理追踪 — 查看 Subagent 的活动历史和执行结果
  • 看板任务 — 为 Agent 分配和管理待办任务

3. 💬 AI 聊天

  • WebSocket 实时通信 — 低延迟的双向消息通道
  • 多轮对话 — 支持上下文连续对话
  • 流式输出 — Agent 回复实时流式显示

4. ⚙️ 工作流引擎

  • PM Agent — 自动将需求拆解为多阶段任务
  • 多 Agent 协同 — 不同角色 Agent 各司其职,协同完成复杂任务
  • 状态追踪 — 实时查看工作流执行进度
  • 模板系统 — 内置工作流模板,快速启动常见任务流程

5. 🚇 隧道服务

  • 安全隧道 — 为本地运行的 Agent 创建加密隧道
  • 无需公网 IP — 本地 Agent 也能被外部访问
  • 连接管理 — 创建、查看、删除隧道,最多支持 3 个并发隧道
  • JWT 认证 — 隧道连接使用 JWT 令牌认证,30 天有效期

6. 📊 监控面板

  • Agent 运行概览 — 一目了然查看所有 Agent 状态
  • 性能指标 — CPU、内存、请求量等监控数据
  • 实时日志 — 查看 Agent 的运行日志和错误信息

7. 👥 社区功能

  • 帖子系统 — 发布、浏览、搜索帖子
  • 互动功能 — 评论、点赞、收藏
  • 社交关系 — 关注/粉丝系统
  • 标签分类 — 按标签筛选感兴趣的内容
  • 通知中心 — 实时接收点赞、评论、关注等通知

🚀 快速开始

环境要求

  • Node.js >= 18.0
  • MongoDB(推荐使用 MongoDB Atlas 免费版)
  • Git

1. 克隆项目

git clone https://gitee.com/tong-bei/hub-app.git
cd hub-app

2. 后端配置

cd backend
npm install

# 复制环境变量模板
cp ../.env.example .env

# 编辑 .env 文件
vim .env

.env 中填写:

# MongoDB Atlas 连接串(必填)
MONGODB_URI=mongodb+srv://username:password@cluster0.xxx.mongodb.net/?appName=Cluster0

# JWT 密钥(必填,自定义一个随机字符串)
JWT_SECRET=your-secret-key-here

# 后端端口
PORT=3000

# OpenAI API Key(可选,用于 AI 对话功能)
OPENAI_API_KEY=your-openai-api-key

# 前端 API 地址
VITE_API_URL=http://localhost:3000

3. 启动后端

# 开发模式
npm run dev

# 或生产模式(使用 PM2)
pm2 start ../ecosystem.config.js

后端启动后默认运行在 http://localhost:3000

4. 前端配置

cd ../frontend
npm install

前端会通过环境变量 VITE_API_URL 连接后端 API。

5. 启动前端

# 开发模式
npm run dev

# 构建生产版本
npm run build

前端开发服务器默认运行在 http://localhost:5173

6. 访问应用

打开浏览器访问前端地址,注册账号后即可开始使用。

🐳 Docker 部署

# 在项目根目录
docker-compose up -d

Docker Compose 会自动构建并启动前后端两个容器:

  • 后端:端口 3000
  • 前端:端口 80

🔧 Nginx 反向代理配置(生产环境)

# 前端
server {
    listen 70;
    server_name your-domain.com;

    root /www/wwwroot/hub-app/hub-app/dist;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

# 后端 API
server {
    listen 3000;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

📁 项目目录结构

hub-app/
├── backend/                  # 后端
│   ├── src/
│   │   ├── app.js           # Express 应用入口
│   │   ├── server.js        # HTTP 服务器启动
│   │   ├── config/          # 配置(数据库等)
│   │   ├── controllers/     # 控制器
│   │   ├── middleware/      # 中间件(认证、错误处理)
│   │   ├── models/          # Mongoose 数据模型
│   │   ├── routes/          # API 路由
│   │   │   ├── auth.js      # 认证路由
│   │   │   ├── agent.js     # Agent 监控
│   │   │   ├── ai.js        # AI 对话
│   │   │   ├── chat.js      # 聊天路由
│   │   │   ├── workflow.js  # 工作流
│   │   │   ├── tunnel.js    # 隧道服务
│   │   │   └── openclaw.js  # OpenClaw 集成
│   │   ├── services/        # 业务逻辑服务
│   │   └── utils/           # 工具函数(加密等)
│   └── .env.example         # 环境变量模板
├── frontend/                 # 前端
│   ├── src/
│   │   ├── main.js          # Vue 入口
│   │   ├── router/          # 路由配置
│   │   ├── views/           # 页面组件
│   │   │   ├── HomeView.vue
│   │   │   ├── LoginView.vue
│   │   │   ├── RegisterView.vue
│   │   │   ├── MonitorView.vue      # Agent 监控面板
│   │   │   ├── OpenClawSettingsView.vue  # OpenClaw 接入
│   │   │   ├── ProfileView.vue
│   │   │   ├── DiscoverView.vue    # 社区发现
│   │   │   └── CreatePostView.vue  # 发布帖子
│   │   └── ...
│   └── ...
├── tunnel/                   # 隧道相关脚本
├── deploy/                   # 部署脚本
├── design/                   # 设计稿
├── docker-compose.yml        # Docker 编排
├── ecosystem.config.js       # PM2 配置
├── Dockerfile.backend        # 后端 Dockerfile
├── Dockerfile.frontend       # 前端 Dockerfile
└── .env.example              # 环境变量模板

🔗 API 接口概览

模块 方法 路径 说明
认证 POST /api/v1/auth/register 用户注册
认证 POST /api/v1/auth/login 用户登录
Agent GET /api/v1/agents/status 获取 Agent 实时状态
Agent GET /api/v1/agents/subagents 获取子代理列表
AI POST /api/v1/ai/chat AI 对话
聊天 WS /ws/chat WebSocket 聊天连接
工作流 POST /api/v1/workflow/create 创建工作流
工作流 POST /api/v1/workflow/:id/start 启动工作流
工作流 GET /api/v1/workflow/templates 获取工作流模板
隧道 POST /api/v1/tunnel/create 创建隧道
隧道 GET /api/v1/tunnel/list 查看隧道列表
隧道 DELETE /api/v1/tunnel/:id 删除隧道
社区 GET /api/v1/posts 获取帖子列表
社区 POST /api/v1/posts 发布帖子

📄 开源协议

MIT License

🙏 致谢

About

agent-opc

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors