Skip to content

API 约定 ​

地址与响应 ​

核心 API 前缀由 settings.API_PREFIX 配置,默认是 /api/v1。Apehub_web API 在此基础上使用 /apehub-web 前缀。

成功响应格式为 { code, msg, data }。业务错误使用 401(登录态无效)、403(权限不足)、404(资源不存在)、409(状态冲突)和 422(参数校验失败)。

认证 ​

需要登录的请求携带:

http
Authorization: Bearer <access_token>

核心依赖 get_current_user 校验 JWT、用户状态和用户记录。后台权限接口还需要 require_permission("system:user:list") 这类权限依赖;插件接口应使用自己的 apehub_web:* 权限标识。

请求与响应示例 ​

登录 ​

http
POST /api/v1/auth/login
Content-Type: application/json

{ "username": "admin", "password": "admin123" }
json
{
  "code": 0,
  "msg": "success",
  "data": {
    "access_token": "<access_token>",
    "refresh_token": "<refresh_token>"
  }
}

携带令牌请求 ​

http
GET /api/v1/apehub-web/site/public/plugins
Authorization: Bearer <access_token>
json
{
  "code": 0,
  "msg": "success",
  "data": {
    "list": [],
    "total": 0
  }
}

权限不足 ​

json
{
  "code": 403,
  "msg": "permission denied",
  "data": null
}

核心接口分组 ​

分组作用
/auth登录、刷新令牌、当前用户信息
/users用户管理
/roles角色和菜单权限
/menus菜单树和动态路由来源
/depts部门和数据范围
/plugins插件发现、热启停、上传和卸载
/mcp工具、资源、提示词和审计
/ai多模型对话和工具调用
/apehub-web/site/public官网公开数据
/apehub-web/developer插件开发者工作台
/apehub-web/admin官网和市场后台管理

Apehub_web 接口明细 ​

Apehub_web 以 /api/v1/apehub-web 为前缀,分三类接口:

接口组主要端点鉴权
官网公开GET /site/public/config、/content、/navigation、/docs、/plugins、/plugins/{id}免登录
开发者工作台POST/GET /developer/plugins、PUT /developer/plugins/{id}、POST /developer/plugins/{id}/versions、POST .../versions/{vid}/analyze、/submit、/generate-documentation、/optimize-changelog、POST .../media、POST .../files、DELETE .../files/{fid}JWT 登录
后台管理GET/PUT /admin/config、POST /admin/assets/upload、/admin/navigation、/admin/content、/admin/doc-categories、/admin/docs、/admin/tech-docs、/admin/plugin-categories、/admin/plugins、POST /admin/plugins/{id}/versions/{vid}/review、/publish、/unpublish、POST /admin/plugins/{id}/offline、/onlineJWT + apehub_web:* 权限

其中 analyze / generate-documentation / generate-changelog / optimize-* 为 AI 分析相关端点,上传文件使用 POST .../media/upload 与 POST .../files,静态检查与 AI 分析均只影响草稿版本。

编写插件 API ​

插件路由应在插件自己的 register() 中挂载,使用 Pydantic 请求模型和统一异常类型。不要在公开接口返回密钥、内部文件路径或未发布版本数据;文件路径必须经过目录边界校验。

AI生成

ApeHub 插件生态