在一个全新的DSH_HOME下跑headless,报错原文是这样的:
dsh: MISSING_CREDENTIAL: llm-deepseek: no API key for provider route "deepseek-official"; store DEEPSEEK_API_KEY through the credentials service (the web Models page writes it), or export DEEPSEEK_API_KEY in the launching environment
这一行信息量很大
| 它说了什么 | 对应 |
|---|---|
| 缺的是什么 | provider route "deepseek-official" 没有API key |
| 存在哪 | 凭据服务(credentials service),web的Models页面会写它 |
| 两条补齐路径 | ① 通过凭据服务写;② 在启动环境里export DEEPSEEK_API_KEY |
路径二实测可用
export DEEPSEEK_API_KEY=sk-... dsh --profile headless "你的任务"
在隔离DSH_HOME下只设环境变量就能正常跑(实测回答出了正确结果),不需要预先写任何凭据文件。这一点对CI和临时环境很重要。
凭据文件长什么样
version: 1
refs:
DEEPSEEK_API_KEY: sk-...
records:
client-connection/browser-session:
kind: grant三个顶层键:version、refs(密钥本体)、records(浏览器会话等授权记录)。换DSH_HOME等于换了一整套凭据与授权,所以隔离实验必须自己提供key。
这也是做隔离实验最常卡住的地方:把DSH_HOME指到临时目录后,原来的key和授权都不在了。不是配置坏了,是环境换了。