aurask/api/README.md
Aaron c44746a5a8
All checks were successful
aurask-release / build-and-deploy (push) Successful in 2m11s
Add portal sign-in flow and DevCloud deployment defaults
2026-04-19 20:44:53 +08:00

130 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Aurask API
`api/` 包含 Aurask 后端服务与外部组件桥接配置。
## 当前实现范围
- HTTP 网关:`api/aurask/api.py`
- 应用装配:`api/aurask/app.py`
- 租户、用户、API Key、Session`api/aurask/auth.py`
- 套餐、订单、支付、TBU`api/aurask/plans.py`、`api/aurask/billing.py`、`api/aurask/quota.py`
- 工作流编排:`api/aurask/orchestrator.py`
- AnythingLLM workspace / 文档接入:`api/aurask/knowledge_base.py`
- PostgreSQL / PGVector / Redis / AnythingLLM / Langflow 桥接:`api/aurask/bridges/`
- 门户站点配置:`api/aurask/site_config.py`
## 认证模式
Aurask 现在支持两类 Bearer Token
1. API Key
- 适用于接口集成、自动化脚本
- 由创建租户/用户或 demo bootstrap 返回
2. Session Token
- 适用于 `protal/` 登录态
-`LY SSO` 或 Google 登录接口签发
## 公开接口
```text
GET /health
GET /plans
GET /auth/config
POST /auth/ly-sso/login
POST /auth/google/login
POST /demo/bootstrap
POST /tenants
```
## 鉴权接口
```text
GET /auth/session
POST /auth/logout
GET /me
GET /quota
GET /workflow-templates
GET /workspaces
POST /workspaces
POST /documents
POST /orders
POST /payments/match
POST /workflow-runs
GET /workflow-runs/{run_id}
GET /admin/bridge-status
```
## 门户与嵌入配置
`GET /auth/config` 会向前端返回:
- 公网站点地址
- API 地址
- `LY SSO` / Google 开关
- Langflow / AnythingLLM iframe 地址
- DevCloud 对齐后的镜像与 NodePort 默认值
## 环境变量
### 门户 / 登录
```text
AURASK_PUBLIC_BASE_URL=https://aurask.xyz
AURASK_PUBLIC_API_BASE_URL=https://aurask.xyz/api
AURASK_PUBLIC_LANGFLOW_URL=https://aurask.xyz/runtime/langflow/
AURASK_PUBLIC_ANYTHINGLLM_URL=https://aurask.xyz/runtime/anythingllm/
AURASK_LY_SSO_ENABLED=true
AURASK_LY_SSO_LOGIN_URL=
AURASK_LY_SSO_USERNAME=ly-xujian1
AURASK_LY_SSO_PASSWORD=<ly-sso-password>
AURASK_LY_SSO_EMAIL_DOMAIN=ly.szlanyou.local
AURASK_GOOGLE_ENABLED=true
AURASK_GOOGLE_CLIENT_ID=<google-client-id>
AURASK_GOOGLE_TOKENINFO_URL=https://oauth2.googleapis.com/tokeninfo
AURASK_GOOGLE_ALLOW_UNVERIFIED_ID_TOKEN=false
AURASK_SESSION_TTL_DAYS=7
AURASK_CORS_ALLOW_ORIGIN=https://aurask.xyz
```
### 运行时桥接
```text
AURASK_USE_EXTERNAL_BRIDGES=true
AURASK_DATABASE_URL=postgresql://aurask:<password>@postgres.aurask-data.svc.cluster.local:5432/aurask
AURASK_POSTGRES_MIN_CONNECTIONS=1
AURASK_POSTGRES_MAX_CONNECTIONS=10
AURASK_PGVECTOR_TABLE=aurask_vectors
AURASK_PGVECTOR_DIMENSION=1536
AURASK_REDIS_URL=redis://redis.aurask-data.svc.cluster.local:6379/0
AURASK_REDIS_WORKFLOW_QUEUE=aurask:workflow-runs
AURASK_ANYTHINGLLM_BASE_URL=http://anythingllm.aurask-runtime.svc.cluster.local:3001
AURASK_ANYTHINGLLM_API_KEY=<anythingllm-api-key>
AURASK_LANGFLOW_BASE_URL=http://langflow-runtime.aurask-runtime.svc.cluster.local:7860
AURASK_LANGFLOW_API_KEY=<langflow-api-key>
```
## DevCloud 默认值
已内置以下默认值以对齐 `devcloud` 当前部署:
```text
AURASK_DEVCLOUD_API_IMAGE=registry.mydevcloud.love/devcloud/aurask-api:latest
AURASK_DEVCLOUD_WEB_IMAGE=registry.mydevcloud.love/devcloud/aurask-web:latest
AURASK_DEVCLOUD_API_NODE_URL=http://45.113.2.55:30091
AURASK_DEVCLOUD_WEB_NODE_URL=http://45.113.2.55:30090
```
## 示例请求
接口示例文件:
- `api/requests/aurask-api.http`
## 本地验证
```powershell
$env:PYTHONPATH='api'
py -3 -m aurask serve --reset --host 127.0.0.1 --port 8080
cmd /c "py -3 -m unittest discover -s tests -v"
```