应用开发开发教程
连接真实平台调试
连接真实平台调试:沿用平台当前公开 SDK 合同,区分本地模拟、联网调试与正式运行。
创建 debug_model.py:
from jusp_sdk.runtime import RuntimeHttpClient
client = RuntimeHttpClient() # 自动读取 jusp app dev 注入的短期凭据和公网地址
try:
services = client.services(serviceKind="vision_chat")
print("可调用服务:", services)
# 也可以检查模型、音色和当前公网合同。
print(client.models())
print(client.voices())
print(client.openapi()["openapi"])
model = services["items"][0]["model"]
result = client.chat_completions({
"model": model,
"messages": [{"role": "user", "content": "用一句话介绍成都"}],
})
print(result)
finally:
client.close()运行:
jusp app dev --online \
--app-id <应用ID> \
--version-id <当前候选版本ID> \
-- python debug_model.py浏览器会要求开发者选择本人或已获准测试账号并确认;随后调用真实平台,按所选账号权限、限流、计费和扣积分。SDK 不会把短期令牌写入磁盘。使用他人测试身份需要超管事先在该应用的“测试账号”中授权;不能自行输入任意账号。
SDK 已为联网调试实现服务/模型/音色发现、准入预检、同步模型调用、提示词优化、输入素材上传、异步媒体或文档任务、任务查询、结果读取、组织目录和应用间调用。具体某项能力能否调用,以服务列表和真实响应为准;服务暂不可用时返回受控错误,不伪造成成功。调试会话绑定开发者、所选调用账号、应用和版本,有效期 1 小时;版本、镜像和审核不属于 Runtime 调试链。
用同一段代码测试组织目录
SDK 0.6.4 / CLI 0.1.1 起,在本地入口适配层读取 CLI 会话,不必手动复制 session。保存为 debug_directory.py:
from jusp_sdk.runtime import RuntimeClient, RuntimeAPIError
client = RuntimeClient(app_key="my-app") # 换成你的 appKey
try:
session = client.resolve_dev_session()
groups = client.organization_groups(session)
members = client.organization_members(session, page=1, page_size=20)
print("分组数:", len(groups), "成员数:", members.total)
except RuntimeAPIError as exc:
print("请求被拒绝:", exc.status_code) # 普通成员 403;失效会话 401
except ValueError:
print("当前身份没有组织,不能读取组织目录")
finally:
client.close()jusp app dev --local --app-key my-app -- python debug_directory.py
jusp app dev --local --app-key my-app --scenario organization_member -- python debug_directory.py
jusp app dev --online --app-id <应用ID> --version-id <版本ID> -- python debug_directory.py联网时选择获准的组织管理员,目录读取应成功;选择普通成员应被拒绝。这不是“模拟管理员”:使用的是专用测试账号当前的真实权限。移除其测试授权后,旧调试凭据的后续请求失败,重新加入名单也不会复活旧会话。
完整 Web 应用只在开发环境的认证适配层调用 resolve_dev_session(),业务代码仍接收同一个 RuntimeSession。生产环境使用 resolve_request(cookies=...),该方法不会读取调试变量;不要把调试模式写入发布镜像。