跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.qoder.com/llms.txt

Use this file to discover all available pages before exploring further.

query()QoderSDKClient 通过 SDK 启动 qodercli 时需要认证配置。推荐在脚本、CI 和宿主应用中使用 Personal Access Token (PAT),并通过环境变量注入。 如果你已经在本机通过 qodercli 登录,也可以复用本机登录态。

获取 PAT

qoder.com/account/integrations 生成一个 Personal Access Token:
  1. 登录 Qoder 账号
  2. 打开 Account → Integrations 页面
  3. 创建新的 PAT,按需选择有效期和权限范围
  4. 生成后立即复制——页面关闭后无法再次查看,丢失只能重新生成
同一个账号可以生成多个 PAT,建议给不同环境(本地脚本、CI、生产服务)发独立的 token,方便单独吊销。

从默认环境变量读取 PAT

默认环境变量名是 QODER_PERSONAL_ACCESS_TOKEN
export QODER_PERSONAL_ACCESS_TOKEN="<your-qoder-personal-access-token>"
from qoder_agent_sdk import QoderAgentOptions, access_token_from_env, query

options = QoderAgentOptions(auth=access_token_from_env())

async for message in query(
    prompt="用一句话总结当前目录的项目用途。",
    options=options,
):
    print(message)

从自定义环境变量读取 PAT

from qoder_agent_sdk import QoderAgentOptions, access_token_from_env

options = QoderAgentOptions(auth=access_token_from_env("MY_QODER_PAT"))
如果同时设置了 options.env 和进程环境变量中的同名变量,SDK 会优先读取 options.env 中的值。

直接传入 PAT

宿主应用已经从密钥管理服务、登录态或后端接口拿到 PAT 时,可以直接传入。不要把 token 字面量写进源码。
from qoder_agent_sdk import QoderAgentOptions, access_token

token = read_token_from_secret_manager()
options = QoderAgentOptions(auth=access_token(token))

复用 qodercli 登录态

本机已通过 qodercli 完成登录时,可以让 SDK 交给 CLI 读取本地登录态。
from qoder_agent_sdk import QoderAgentOptions, qodercli_auth

options = QoderAgentOptions(auth=qodercli_auth())

认证失败回调

远端拒绝 token、token 过期或 CLI 以认证错误退出时,可以使用 on_auth_expired 触发重新登录或换 token 流程。每个 SDK 会话最多触发一次。
from qoder_agent_sdk import QoderAgentOptions, access_token_from_env

def show_sign_in_required() -> None:
    print("认证已失效,请重新登录。")

options = QoderAgentOptions(
    auth=access_token_from_env(),
    on_auth_expired=show_sign_in_required,
)
SDK 不会自动刷新 PAT。拿到新 token 后应创建新的会话并传入新的 auth 配置。

错误

  • 缺少认证配置:AuthNotConfiguredErrorcode == "auth_not_configured"
  • 环境变量未设置:AuthAccessTokenEnvVarErrorcode == "auth_access_token_env_var_not_configured"

最佳实践

  • 生产和 CI 中优先使用环境变量或密钥管理服务,不要硬编码 token。
  • 不要把 token 写入日志、错误对象或测试快照。
  • 自动化环境中建议使用 PAT,不建议依赖本机 qodercli 登录态。
  • 用户可见应用建议注册 on_auth_expired,把认证失败转成明确的登录提示。