集成方案¶
当前章节还未完善
本文说明外部系统如何与 PE Agent、PowerCore(aipower) 进行接口对接,涵盖架构关系、认证模式、典型集成路径与环境配置。
1. 系统架构与集成边界¶
1.1 组件关系¶
┌─────────────────┐
│ Nginx / 网关 │
└────────┬────────┘
┌─────────────────┼─────────────────┐
▼ ▼ ▼
pe-agent-web pe-agent-server PowerCore
(PE Agent 前端) (PE Agent 后端) (基座)
│ │ │
│ │ customize.py │
│ │ (LDAP/SSO) │
│ └──── AI_POWER_* ─┘
│ REST / WebSocket
└──── deploy 网关 ──── GraphRAG / PPT / 静态资源
| 组件 | 职责 | 对外集成点 |
|---|---|---|
| pe-agent-web | 用户 Web 界面 | 品牌定制、入口跳转、功能开关 |
| pe-agent-server | 登录、会话、任务入口 | customize.py 外部账号校验;调用 PowerCore |
| PowerCore | Agent 引擎、任务、知识库、开放 API | /peagent/* 内部 API;/peagent/api/* 开放平台 |
| deploy 网关 | GraphRAG、PPT 合并等 | 由 PowerCore 通过 URL 配置调用 |
集成原则
PE Agent 不替代 PowerCore。前端/业务入口可定制,但 Agent 执行、任务状态、知识库等核心能力由 PowerCore 提供。PE Agent Server 通过 AI_POWER_* 配置作为 PowerCore 的调用方。
1.2 四类集成场景¶
| 场景 | 适用对象 | 对接方式 | 典型用途 |
|---|---|---|---|
| A. 用户登录集成 | 企业 IT、已有账号体系 | customize.py / AD 登录 / JWT 联邦 |
统一 SSO,关闭本地注册 |
| B. PE Agent 产品集成 | 部署 PE Agent 完整产品 | AI_POWER_* 环境变量 |
PE Agent Web + Server 对接 PowerCore |
| C. 开放平台 API 集成 | 第三方业务系统 | App 凭证 + 双 Token | ERP/PLM/自研系统程序化调用 Agent |
| D. PE Agent 开放 API | 第三方对接 PE Agent Server | /open/v1 轮询 HTTP |
无需 WebSocket,JWT 登录 + 轮询结果 |
四类场景可组合:例如 B + A(PE Agent 对接 PowerCore,同时 SSO 登录),或 C/D 独立接入(不部署 PE Agent Web)。
2. 认证与账号对接¶
2.1 本地账号模式(默认)¶
PowerCore 与 PE Agent Server 均支持手机号/邮箱 + 密码本地注册登录。
PowerCore 初始管理员(docker-aipower-bin/.env):
PE Agent Server 账号能力开关:
ENABLE_REGISTER=true
ENABLE_RESET_PASSWORD=true
ENABLE_CHANGE_PASSWORD=true
ENABLE_EXTERNAL_LOGIN_CHECK=false
ENABLE_AUTO_REGISTER=false
REGISTER_INVITE_CODE=
ENABLE_VERIFICATION_CODE=false
用户侧操作说明见 用户操作手册 · 注册登录。
2.2 外部账号校验(customize.py)¶
企业统一账号体系对接时,在 pe-agent-server 部署包 中扩展 customize.py:
ENABLE_EXTERNAL_LOGIN_CHECK=true # 登录时走外部校验,跳过本地密码
ENABLE_AUTO_REGISTER=false # 外部校验通过但本地无用户时,是否自动建档
ENABLE_REGISTER=false # 关闭公开注册
ENABLE_RESET_PASSWORD=false
ENABLE_CHANGE_PASSWORD=false
对接流程:
用户提交账号密码
↓
pe-agent-server 调用 customize.py
↓
向 LDAP / OAuth / 企业内部 SSO 校验
↓
返回标准用户对象(用户名、昵称等)
↓
签发 JWT,进入 PE Agent 主界面
扩展点说明
customize.py 位于 peagent-onekey-deploy / pe-agent-server 部署包,不在 PowerCore 源码仓库。具体函数签名与返回字段以部署包内注释为准。LDAP、OAuth、内部 SSO 均在此实现。
2.3 PowerCore Active Directory 登录(可选)¶
PowerCore 可在 taida-login 等分支启用 AD 模块,提供独立登录端点:
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /ad-auth/login |
AD 用户名密码登录 |
| POST | /ad-auth/refresh |
刷新 Token |
| GET | /ad-auth/test |
Cookie 测试页 |
相关环境变量:
AD_DOMAIN=deltaww.com
AD_DOMAIN_NAME=delta.corp
AD_SERVERS=ldap1.example.com,ldap2.example.com
AD_MOCK_MODE=false
JWT_SECRET_KEY=...
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30
适用于直接调用 PowerCore、不经过 PE Agent Server 的场景。
2.4 JWT 联邦¶
多系统共享登录态时,需统一 JWT 策略:
PE Agent Server 与 PowerCore 的密钥策略需按安全要求统一或建立联邦映射。
2.5 邀请码与验证码¶
| 配置位置 | 变量 | 说明 |
|---|---|---|
| pe-agent-web | ENABLE_INVITE_CODE |
注册页是否展示邀请码 |
| pe-agent-server | REGISTER_INVITE_CODE |
服务端校验码;留空=不校验 |
| pe-agent-server | ENABLE_VERIFICATION_CODE |
注册/忘记密码验证码 |
| pe-agent-server | TENCENTCLOUD_* / TENCENT_MAIL_* |
短信/邮件验证码通道 |
Web 端与服务端开关需策略一致。
3. PE Agent ↔ PowerCore 对接¶
3.1 必配环境变量¶
在 pe-agent-server/.env 中配置:
AI_POWER_APP_ID=app_default
AI_POWER_APP_SKEY=sk_secret
AI_POWER_API_URL=http://host.docker.internal:5080
| 变量 | 说明 |
|---|---|
AI_POWER_APP_ID |
与 PowerCore app_auth.appid 一致 |
AI_POWER_APP_SKEY |
与 PowerCore app_auth.skey 一致 |
AI_POWER_API_URL |
PowerCore 后端根地址(默认端口 5080) |
PowerCore 侧需在 MySQL app_auth 表注册对应应用凭证(可用 gen_keys.py 生成)。
3.2 Agent ID 映射¶
AI_POWER_CURRENT_TASK_AGENT_ID=4221
AI_POWER_HUMAN_MACHINE_DELIVERY_AGENT_ID=4315
AI_POWER_SCHEDULED_TASK_AGENT_ID=4327
AI_POWER_HIDE_END_AGENT_IDS=
| 变量 | 用途 |
|---|---|
CURRENT_TASK_AGENT_ID |
即时任务 / 入口智能体 |
HUMAN_MACHINE_DELIVERY_AGENT_ID |
专家团队 / 人机交付 |
SCHEDULED_TASK_AGENT_ID |
定时任务 |
HIDE_END_AGENT_IDS |
隐藏结束节点的 Agent ID,逗号分隔 |
上述 Agent 需在 PowerCore 中已创建且为 Public;定制环境请替换为实际 ID。
3.3 网络与连通性¶
- pe-agent-server 与 PowerCore 可不在同一 Docker 网络,通过宿主机端口或
host.docker.internal互通 - deploy 网关(默认 8500)提供 GraphRAG;PowerCore 的
RAG_URL指向 GraphRAG 服务 PPT_MERGE_BASE_URL指向 deploy 网关,供 PowerCore 调用 PPT 合并
连通性验证:
docker exec -it pe-agent-server sh
wget -qO- http://host.docker.internal:5080/peagent/login || curl -I http://host.docker.internal:5080/peagent/login
3.4 调用关系¶
pe-agent-web → pe-agent-server → PowerCore /peagent/*
│ │
│ ├─ Agent 执行
│ ├─ 任务查询
│ └─ WebSocket 对话
└─ 用户 JWT / 会话管理
PE Agent Server 使用 App 凭证代表产品调用 PowerCore;用户身份由 PE Agent 登录层维护。
4. 开放平台 API 对接(第三方系统)¶
第三方业务系统不部署 PE Agent Web,可直接对接 PowerCore 开放平台 API。
4.1 接入流程概览¶
① 在 PowerCore 注册 App(appid + skey)
↓
② POST /peagent/api/get_token → app_token(应用级,约 2h)
↓
③ POST /peagent/api/add_user → 同步外部用户(可选,预注册)
↓
④ POST /peagent/api/user_login → user_token(用户级,约 24h)
↓
⑤ 调用 Agent / 对话 / 任务 API(Bearer user_token)
↓
⑥ WebSocket /peagent/api/chat_ws 实时对话(可选)
详细请求参数、响应字段见 接口 API;平台协议与联调流程见 PE Agent 集成;本仓库实现见 PowerCore 集成。
4.2 App 凭证与签名¶
get_token 请求头:
| Header | 说明 |
|---|---|
X-App-Id |
应用 ID,如 APP_XXXXXXXX |
X-Timestamp |
Unix 时间戳(秒) |
X-Signature |
HMAC-SHA256(appid + timestamp + skey, key=skey) 十六进制 |
Token 类型:
| Token | 用途 | 有效期 |
|---|---|---|
app_token |
用户同步、管理类 API | 约 2 小时 |
user_token |
调用 Agent、对话、任务 | 约 24 小时 |
4.3 Agent 授权绑定¶
开放平台调用 Agent 前,需在 PowerCore 将 App 与 Agent 绑定(表 app_auth_agent)。未绑定的 Agent 调用将返回 403。
4.4 主要 API 分组¶
| 分组 | 前缀 | 能力 |
|---|---|---|
| 认证 | /peagent/api/get_token 等 |
签名换 Token、用户登录 |
| Agent | /peagent/api/enter_agent 等 |
进入 Agent、CRUD Agent |
| 对话/任务 | /peagent/api/re_generate、chat_ws 等 |
重生成、暂停/恢复、WebSocket |
| 文件 | /peagent/api/common/upload_file 等 |
上传/下载/删除附件 |
在线文档(运行时):
- Swagger:
https://<域名>/peagent/api-docs - OpenAPI JSON:
https://<域名>/peagent/openapi.json
4.5 内部 REST API(备选)¶
若对接方已有 PowerCore 平台账号,也可使用内部 REST API(用户 JWT):
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /peagent/login |
手机号 + 密码 → access_token |
| GET | /peagent/agents/ |
Agent 列表 |
| POST | /peagent/agents/call-agent |
调用 Agent,返回 task_id |
| GET | /peagent/tasks/query_task/{task_id} |
查询任务状态与结果 |
认证:Authorization: Bearer <access_token>
适用于内部脚本、CLI(aiPower.py)等场景;不推荐作为第三方生产对接主路径(无 App 级隔离)。
4.6 PE Agent Server 开放 API(/open/v1)¶
部署 pe-agent-server 时,第三方也可通过 Open API 对接(路由前缀 /open/v1),采用 提交运行 + 轮询结果 模式,无需 WebSocket。
| 要点 | 说明 |
|---|---|
| 鉴权 | POST /open/v1/login(username 或等价字段 account)→ JWT |
| Token 有效期 | 响应 access_token_expire 约为 JWT 有效期减 200 秒(默认 JWT 72h,约 259000 秒) |
| 运行 | POST /open/v1/agent/run → record_id → GET /open/v1/agent/run/{record_id} 轮询 |
| 多轮 | dialog / confirm + 附件 upload |
| 轮询结果 | status=completed 时读 content;若最新 assistant 为「结束」节点,会跳过并返回上一条 |
| 错误码 | 含 500001 响应体校验失败 |
完整接口说明见 接口 API。与场景 C(PowerCore App 凭证 + WebSocket)为不同入口,勿混用 Base URL 与 Token。
5. 前端与品牌定制(可选)¶
部署 PE Agent Web 时,可通过环境变量定制品牌与入口,不影响 API 对接逻辑。
# pe-agent-web/.env
APP_DOMAIN=peagent.example.com
BRAND_NAME=XX PE Agent
BRAND_LOGO_PATH=images/common/logo.png
PEAGENT_REDIRECT_BASE_URL=https://example.com
ENABLE_ADMIN_SECTION=true
ENABLE_USER_PASSWORD_CHANGE=true
部署细节见 定制与集成 §4。
6. 集成方案选型指南¶
| 需求 | 推荐方案 | 关键配置 / 文档 |
|---|---|---|
| 员工通过 Web 使用 PE Agent,统一公司账号 | A + B | customize.py + AI_POWER_* |
| 已有 PowerCore,仅定制登录页与品牌 | A + B | 同上 |
| ERP 自动触发 Agent 计算 | C | App 凭证 + enter_agent / chat_ws |
| 第三方仅 HTTP 轮询、不建 WebSocket | D | /open/v1 + 接口 API |
| 内部脚本批量调用 Agent | 内部 API 或 C | /peagent/login 或 OpenAPI |
| 知识库 RAG 能力 | B 或 C + GraphRAG | RAG_URL、deploy 8500 |
| 多域名统一入口 | B | PEAGENT_REDIRECT_BASE_URL |
7. 环境变量速查¶
7.1 pe-agent-server(集成相关)¶
| 变量 | 说明 |
|---|---|
AI_POWER_APP_ID / AI_POWER_APP_SKEY |
PowerCore 应用凭证 |
AI_POWER_API_URL |
PowerCore 地址 |
AI_POWER_*_AGENT_ID |
各场景 Agent 映射 |
ENABLE_EXTERNAL_LOGIN_CHECK |
外部登录校验 |
JWT_SECRET / JWT_SUBJECT_CLAIM |
JWT 配置 |
REGISTER_INVITE_CODE |
注册邀请码 |
7.2 PowerCore(集成相关)¶
| 变量 | 说明 |
|---|---|
PORT |
默认 5080 |
PEAGENT_PATH |
API 前缀,默认 peagent |
SYS_INFO_SECRET_KEY |
JWT 签发密钥 |
INTERNAL_KEY |
服务间内部调用密钥 |
RAG_URL / RAG_BASE_URL |
GraphRAG 地址 |
PPT_MERGE_BASE_URL |
PPT 合并网关 |
7.3 MySQL 数据表¶
| 表 | 用途 |
|---|---|
app_auth |
开放平台 App 凭证 |
app_auth_agent |
App 与 Agent 绑定 |
app_auth_token |
App Token 记录 |
user |
平台用户(含外部用户映射) |
8. 安全与上线检查清单¶
- [ ]
AI_POWER_API_URL指向正确 PowerCore 地址,容器/主机网络互通 - [ ]
AI_POWER_APP_ID/SKEY与 PowerCoreapp_auth一致,已更换生产密钥 - [ ] Agent ID 与 PowerCore 实际 Public Agent 一致
- [ ] 开放平台 App 已绑定需调用的 Agent
- [ ]
JWT_SECRET/SYS_INFO_SECRET_KEY已更换,各系统策略对齐 - [ ] SSO /
customize.py与 HR 账号体系联调通过 - [ ] 邀请码、注册、验证码策略与 Web/Server 一致
- [ ] HTTPS、Nginx 路由、CORS(如有跨域)已配置
- [ ] LLM / Embedding API 内网可达
- [ ] ONLYOFFICE / Sandpack 公网 URL 白名单已配置(若启用文档编辑)
9. 延伸阅读¶
| 文档 | 内容 |
|---|---|
| 接口 API | PE Agent 开放 API 与文档索引 |
| PE Agent 集成 | PowerCore 平台 HTTP/WS 对接 |
| PowerCore 集成 | PE Agent 内集成层实现说明 |
| 定制与集成 | 部署侧 SSO、品牌、GraphRAG 配置 |
| PE Agent 部署 | pe-agent-web / server 部署 |
| PowerCore 部署 | aipower 后端部署 |
| 操作说明 | 用户登录注册操作 |
注意:接口路径、Agent ID、域名等以实际部署环境为准。生产接入前请在测试环境完成联调并经过安全评审。