开发者文档
产品与架构
TJUClaw 平台的整体设计架构、分层职责与核心技术边界。
产品与架构
TJUClaw(面向天津大学校园场景优化的通用智能体平台)围绕真实学生场景,构建了一套连接前端客户端、云端服务、通用智能体与校园专有工具的系统体系。
整体架构视图
以下为目标架构与模块职责。各模块的独立验证不等于完整链路已上线;Pi 自动执行、沙箱交付与公网端到端流程仍需联合验收。
+-------------------------------------------------------------------+
| 客户端接入层 (Clients) |
| React + Vite Web 端 / Tauri 桌面端 / Android 移动端 |
+-------------------------------------------------------------------+
│
同源反向代理 /api/*
▼
+-------------------------------------------------------------------+
| 产品服务与安全网关 (Backend) |
| Go API (业务生命周期/工作空间/任务编排) <---> Ory Kratos 身份网关 |
+-------------------------------------------------------------------+
│
受控 RPC / API
▼
+-------------------------------------------------------------------+
| 智能体执行环境 (Agent Runtime) |
| Pi Runtime + 领域 Skill + 用户隔离的工作空间沙箱 |
+-------------------------------------------------------------------+
│
CLI / 工具协议调用
▼
+-------------------------------------------------------------------+
| 校园能力服务层 (Campus Tools) |
| tjucli 命令行工具 / 公开课程资料库 / 校园信息接口 |
+-------------------------------------------------------------------+核心模块与职责
1. 前端客户端(Frontend)
- 技术栈:React 19、Vite、Tailwind CSS、Radix UI、Tauri(支持跨平台打包)。
- 职责:提供学生交互界面,包括任务工作空间(Workspace)、目标输入、执行过程追溯(Trace)以及最终产物展示。
- 边界:所有服务端通信严格基于同源
/api/*,不直接保存密码或敏感凭据,会话状态完全由 Kratos HttpOnly Cookie 驱动。
2. 服务端与身份认证(Backend & Auth)
- 技术栈:Go 标准库 HTTP 路由、Ory Kratos(身份中枢)、PostgreSQL。
- 职责:负责用户鉴权、任务生命周期管理、工作空间元数据记录。
- 设计原则:Kratos 作为唯一身份凭证发行方;Go API 校验 Session 并严格隔离多用户数据,杜绝跨租户越权。
3. 通用智能体运行时(Pi + Skill)
- 技术栈:Pi 智能体运行时内核、领域专用 Skill 指引。
- 职责:负责根据用户的自然语言需求分解目标、规划执行步骤、调用对应校园工具并归纳执行结果。
- 设计原则:Skill 仅作为执行规范说明与参数指导,实际的权限控制与执行隔离由底层系统沙箱和网络策略强力保证。
4. 校园能力适配(tjucli)
- 技术栈:Go 编写的高性能独立 CLI。
- 职责:封装天津大学校园公开与私有资源访问(如课程分享平台、教学资料检索等),输出确定性的结构化 JSON,方便智能体消费。
- 设计原则:明确区分“公开共享数据”与“学生个人隐私数据”,杜绝伪造成功状态与越权爬取。
基础设施与云端部署架构
在生产环境中,系统采用现代云边协同架构:
- EdgeOne 边缘节点:托管静态 Web 与 Docs 文档站,提供全站加速与 DDoS 防护。
- 核心主机入口:通过独立安全端口接入边缘回源请求,后端服务经 HAProxy 调度至内部隔离容器。
- 服务隔离:Kratos 认证服务、Go API、NewAPI 模型网关均运行在专属独立网络中,数据库与管理端口不暴露公网。