跳到主内容
文档

API 参考

PicoAide HTTP API 端点完整参考 — 认证、用户、管理、MCP 和 WebSocket 接口

PicoAide API 主要供内置管理后台、浏览器扩展和桌面客户端使用。所有路由均注册在 /api/api/v1 双前缀下,如 /api/health/api/v1/health 均可访问。/api/version 为单一路径。

通用约定

登录成功后服务端写入 session Cookie:

Cookie: session=<username>:<timestamp>:<signature>

Cookie 是 HMAC-SHA256 签名的服务端会话 token,有效期 24 小时,HttpOnly + SameSite=Lax。

CSRF 保护

需要修改状态的 POST/PUT/PATCH 请求通常需要传 csrf_token 字段。通过以下接口获取:

GET /api/csrf

返回:

{
  "success": true,
  "csrf_token": "..."
}

文件上传端点免 CSRF 检查。

MCP Token 认证

MCP 和执行端 WebSocket 使用 Bearer token 或 query token:

Authorization: Bearer <token>

或:

?token=<token>

普通用户通过 GET /api/mcp/token 获取。超管不能获取 MCP token。

响应格式

成功响应:

{
  "success": true,
  "message": "..."
}

错误响应:

{
  "success": false,
  "error": "..."
}

资源型接口(如文件列表、用户信息等)返回对应的数据结构。

基础接口(无需认证)

方法路径说明
GET/api/version获取服务端版本号
GET/api/health健康检查,返回版本信息
GET/api/login/mode获取当前认证模式及活跃认证源元数据

认证接口

方法路径权限说明
POST/api/login限流用户名密码登录,表单:usernamepassword。设置 session Cookie
GET/api/login/auth启动浏览器 SSO 流程,重定向到 OIDC 授权 URL
GET/api/login/callbackSSO 回调处理器,验证 state、兑换 code、创建会话
POST/api/logout登录登出,清除 session Cookie
GET/api/csrf登录获取 CSRF token

登录接口有限流器保护(10 次/5 分钟/IP)。

方法路径权限说明
GET/api/user/info登录当前用户信息(username、role、source)
GET/api/user/init-status登录用户目录初始化状态
POST/api/user/password普通用户修改密码(仅本地模式)。表单:old_passwordnew_password
方法路径说明
GET/api/user/chat/history获取最新对话历史
POST/api/user/chat/send发送消息。表单:message。返回 run_id
GET/api/user/chat/streamSSE 流式输出。参数:run_id。支持断线重连
POST/api/user/chat/stop停止当前正在运行的对话
方法路径说明
GET/api/channels用户可用的通讯渠道列表及启用/配置状态
GET/api/channels/config-fields获取指定渠道的配置字段定义和当前值。参数:section
POST/api/channels/config-fields保存渠道配置。表单:sectionvalues(JSON)。实时更新 IM 连接

定时任务接口(需登录)

方法路径说明
GET/api/cron列出当前用户的定时任务
POST/api/cron/create创建定时任务。表单:schedulepromptchannel_id
POST/api/cron/update更新定时任务。表单:idschedulepromptchannel_id
POST/api/cron/delete删除定时任务。表单:id
POST/api/cron/toggle切换定时任务启用/禁用。表单:id
方法路径说明
POST/api/cookies同步网页 Cookie 到用户配置。表单:domaincookies
GET/api/user/cookies列出已授权的 Cookie 域名
POST/api/user/cookies/delete撤销 Cookie 域名授权。表单:domain

工作区路径为 users/<username>/(沙箱内的 /root)。

方法路径说明
GET/api/files列目录(含面包屑导航)。参数:path。返回 entries[]breadcrumb[]
POST/api/files/upload上传文件(最大 32MB)。表单:pathfile(multipart)
GET/api/files/download下载文件。参数:path
POST/api/files/delete删除文件或目录。表单:path
POST/api/files/mkdir创建目录。表单:pathname
GET/api/files/edit读取文本文件内容。参数:path。返回 filenamecontent
POST/api/files/edit保存文本文件内容。表单:pathcontent

共享文件夹接口(需登录)

方法路径说明
GET/api/shared-folders列出当前用户可访问的共享文件夹
方法路径说明
GET/api/user/skills列出所有技能及安装状态(installed/group/available)
POST/api/user/skills/install安装技能。表单:skill_name
POST/api/user/skills/uninstall卸载技能。表单:skill_name
方法路径说明
GET/api/config以 JSON 格式读取全部配置
POST/api/config保存配置 JSON。自动处理认证源切换清理

MCP 接口

方法路径认证说明
GET/api/mcp/tokenSession Cookie获取/生成当前用户的 MCP token
GET/api/mcp/sse/:serviceMCP Token建立 MCP SSE 流(browser/computer/agent)
POST/api/mcp/sse/:serviceMCP Token发送 JSON-RPC 消息(initialize/tools/list/tools/call)
GET/api/mcp/cookiesMCP Token获取已存储的 Cookie。参数:domain(可选)
POST/api/mcp/cookiesMCP Token存储 Cookie。表单:domaincookies
GET/api/mcp/cookiesMCP Token获取已存储的 cookie。参数:domain(可选)
POST/api/mcp/cookiesMCP Token存储 cookie。表单:domaincookies

WebSocket 代理接口

方法路径认证说明
GET/api/browser/wsMCP Token浏览器扩展 WebSocket
GET/api/computer/wsMCP Token桌面客户端 WebSocket

沙箱内部接口(仅沙箱内可访问)

方法路径认证说明
GET/api/picoagent/meBearer Token获取 picoagent 运行配置(模型、工具、MCP socket 路径)

用户管理

方法路径说明
GET/api/admin/users用户列表(分页+搜索)。参数:pagepage_sizesearch
POST/api/admin/users/create创建本地用户。返回生成的密码
POST/api/admin/users/batch-create批量创建用户。表单:usernames(换行分隔)
POST/api/admin/users/delete删除用户(归档目录)。表单:username

超管账户管理

方法路径说明
GET/api/admin/superadmins超管列表
POST/api/admin/superadmins/create创建超管,返回随机密码
POST/api/admin/superadmins/delete删除超管(至少保留一个)
POST/api/admin/superadmins/reset重置超管密码
POST/api/admin/password超管修改自己的密码

认证与白名单

方法路径说明
GET/api/admin/whitelist白名单列表(分页+搜索)
POST/api/admin/whitelist更新白名单(替换或增量)
POST/api/admin/auth/test-ldap测试 LDAP 连接和组查询
GET/api/admin/auth/ldap-users获取目录用户列表
POST/api/admin/auth/sync-users手动同步目录用户
POST/api/admin/auth/sync-groups手动同步组
GET/api/admin/auth/providers已注册的认证源列表

用户组管理

方法路径说明
GET/api/admin/groups组列表(分页+搜索)
POST/api/admin/groups/create创建组。表单:namedescriptionparent_id
POST/api/admin/groups/delete删除组。表单:name
GET/api/admin/groups/members查看组成员。参数:name
POST/api/admin/groups/members/add添加组成员。表单:group_nameusernames
POST/api/admin/groups/members/remove移除组成员。表单:group_nameusername
POST/api/admin/groups/skills/bind绑定技能到组。表单:group_nameskill_name
POST/api/admin/groups/skills/unbind解绑组技能。表单:group_nameskill_name

技能管理

方法路径说明
GET/api/admin/skills技能列表(分页+搜索+来源过滤)
POST/api/admin/skills/deploy部署技能到用户/组
POST/api/admin/skills/remove删除技能
POST/api/admin/skills/user/bind绑定技能到单个用户
POST/api/admin/skills/user/unbind解绑用户技能
GET/api/admin/skills/user/sources用户技能来源列表
GET/api/admin/skills/defaults默认技能列表
POST/api/admin/skills/defaults/toggle切换技能默认安装

技能仓库管理

方法路径说明
GET/api/admin/skills/sources技能源列表
POST/api/admin/skills/sources/git添加 Git 技能仓库
POST/api/admin/skills/sources/remove移除技能仓库
POST/api/admin/skills/sources/pull拉取仓库更新
POST/api/admin/skills/sources/refresh刷新注册源索引
GET/api/admin/skills/registry/list注册中心技能列表
POST/api/admin/skills/registry/install从注册中心安装技能

共享文件夹管理

方法路径说明
GET/api/admin/shared-folders共享文件夹列表
POST/api/admin/shared-folders/create创建共享文件夹
POST/api/admin/shared-folders/update更新共享文件夹
POST/api/admin/shared-folders/delete删除共享文件夹
POST/api/admin/shared-folders/groups/set设置文件夹组可见范围
POST/api/admin/shared-folders/test测试用户挂载状态
POST/api/admin/shared-folders/mount挂载到所有关联用户

MCP 服务器管理

方法路径说明
GET/api/admin/mcp/serversMCP 服务器列表
POST/api/admin/mcp/servers/create创建 MCP 服务器
POST/api/admin/mcp/servers/update/:id更新 MCP 服务器
POST/api/admin/mcp/servers/delete/:id删除 MCP 服务器
GET/api/admin/mcp/servers/grants服务器授权列表
POST/api/admin/mcp/servers/grants/add添加授权
POST/api/admin/mcp/servers/grants/remove/:id移除授权
POST/api/admin/mcp/servers/reload重新加载所有 MCP 服务器
GET/api/admin/mcp/servers/tools获取服务器工具列表

其他管理接口

方法路径说明
GET/api/admin/task/status异步任务队列状态
GET/api/admin/skill-install-policy技能安装策略
POST/api/admin/skill-install-policy设置技能安装策略
GET/api/admin/tls/statusTLS 证书状态
POST/api/admin/tls/upload上传 TLS 证书
POST/api/admin/tls/clear清除 TLS 证书
GET/api/admin/channels渠道定义列表
POST/api/admin/model/test测试模型连接