跳到主要内容
路径文档

环境变量

一、路径

变量默认作用
DSH_HOME~/.dshHarness 主目录(凭据、profile、会话、源码)

DSH_HOME 是单根 Harness home 的解析入口,优先级(高 → 低):显式配置路径 → $DSH_HOME~/.dsh;shell 工具每次调用也会收到解析后的绝对 DSH_HOME

二、行为控制

变量默认作用
DSH_TELEMETRY_DISABLED未设置任意非空值(含 0/false)在启动前禁用遥测行
DSH_TELEMETRY_OTLP_URLhttps://harness-telemetry.deepseeksvc.com/v1/logs覆盖遥测 OTLP 上报端点(本地开发用)
DSH_PERMISSION_MODEworkspace-write权限预设进程级 fallback:同时改写沙箱模式与批准策略(danger-full-accessnever,否则 → ask
DSH_TOOLS_MODE未设置(= nativeCode Mode 进程级开关,取值 native / code / both;其它值启动即失败
DSH_WEB_URLWeb GUI 规范地址(运行时注入,不是用户设置)

DSH_PERMISSION_MODEDSH_TOOLS_MODE 都是进程级临时开关:前者是组合默认的 fallback(见 权限),后者是 Web/headless 共用的临时 Code Mode 入口,等 Web UI 逐会话接管后会被移除。

三、Provider 凭据

变量作用
DEEPSEEK_API_KEY官方 provider 凭据(也可存 ~/.dsh/.env
DEEPSEEK_BASE_URL官方端点回退(仅可信层生效)
DEEPSEEK_SEARCH_BASE_URLWeb 搜索端点覆盖
DP_* 等自定义自定义 provider 的 apiKeyEnv 引用

真实 Provider 变量以你在 llm-pi-ai.providers / llm-deepseek 里配的 apiKeyEnv 为准(见 多模型)。

四、凭据文件

文件内容权限
~/.dsh/.envDEEPSEEK_API_KEY=... 等(环境层兜底)自管
~/.dsh/.credentials.yaml结构化凭据0600

ctx.credentials 逐操作解析这些,引用密钥而非存值(见 凭据)。解析优先级:进程环境 → .credentials.yaml → 调用目录 .env$DSH_HOME/.env;受管文档从不物化进 process.env,两个 .env 都是普通启动环境层。

五、运行时注入的 DSH_*(非用户设置)

模型 shell 每次调用都会收到一组由 host/registry 收集的受信任 DSH_* 环境——它们不是你能直接设置的变量,而是运行期注入的事实:

变量谁注入
DSH_HOME解析后的绝对 Harness homeregistry 内置
DSH_SHELL1registry 内置,标识受管子进程
DSH_SESSION_ID当前 agent 会话 id仅带 agent 的调用
DSH_SESSION_JSONL当前会话 JSONL 的绝对路径持久化 seam 提供时

DSH_WEB_URL 也由 Web host 的 shell-env contributor 以同样方式注入。整个 DSH_* 命名空间受类型限制,是 shell 工具的受信任 overlay,与普通 env 分开;DSH_HOME/DSH_SHELL/DSH_SESSION_ID 是 registry 保留的内置键,list() 不枚举它们。

六、备注

  • 遥测匿名身份:导出记录以 $DSH_HOME/.anonymous-user-id(随机 UUID)作为 Resource 的匿名用户 id;删除该文件即重置身份。

下一步