开发者文档 新手入门
认证
平台 API 与 LLM 网关共享同一凭据:每次任务运行获得的任务 JWT。请求范围限定在所属项目内。
Bearer 任务令牌
每次任务运行都会在 TASK_JWT 环境变量里拿到一个短期 JWT。调用平台 API 时把它作为 bearer token 传入:
curl "$ALLYBUILD_API_URL/projects/$PROJECT_ID/tasks" \
-H "Authorization: Bearer $TASK_JWT"项目隔离
所有读写都按项目隔离。client 需要显式传入项目 id,workflow 模块会自动从 PROJECT_ID 接线:
from allybuild_sdk import AllyBuildClient
client = AllyBuildClient(
base_url=ALLYBUILD_API_URL, # 注入,含 /api
token=TASK_JWT, # 注入的 bearer 凭据
project_id=PROJECT_ID, # 注入的项目范围
)
client.configured() # 三项凭据缺任意一项时为 FalseLLM 网关凭据
LLM 网关兼容 OpenAI,位于平台根路径的 /v1 前缀下。使用同一个任务 JWT 作为 API key:
from openai import OpenAI
gateway = f"{ALLYBUILD_API_URL.removesuffix('/api')}/v1"
llm = OpenAI(base_url=gateway, api_key=TASK_JWT)过期与续期
任务令牌随任务运行过期。长时间运行的工作应在请求时从环境变量读取 TASK_JWT,而不是硬编码,重试的运行会自动拿到新令牌。
清单
- 始终携带
Authorization: Bearer $TASK_JWT——缺失时请求认证失败 - 所有路径都在
/projects/$PROJECT_ID之下——跨项目访问会被拒绝 - 把
ALLYBUILD_API_URL当作唯一基址;不要硬编码主机名 - 不要在运行之外持久化令牌——需要时从环境变量读取