Files
deepseek-harness/packages/boot
Yichen Jiang 9b6e551054 fix(app-boot): accept DeepSeek endpoints from the home .env only as spelled
The Harness-home exemption matched every name case-insensitively, so a
home `.env` line such as `deepseek_base_url=...` passed the check and
landed in `process.env` under that spelling. The launch snapshot looks
names up exactly on POSIX, so llm-deepseek, web-search-deepseek, and
web-deepseek-api never saw it: the launch succeeded with the official
endpoint, where it used to fail. Proxy names keep matching in any letter
case because proxy clients read both spellings; the two endpoint names
now match only as `DEEPSEEK_BASE_URL` and `DEEPSEEK_SEARCH_BASE_URL`, and
another spelling fails the launch with the exact name to use.

The home-layer refusal case now covers `SSL_CERT_FILE`,
`NODE_TLS_REJECT_UNAUTHORIZED`, and `DSH_HOME`. The web-deepseek-api
README states where `DEEPSEEK_BASE_URL` may come from; the
launch-environment README, the development guide, and the configuration
source Agent Note no longer overstate which file is refused, which
Vitest configurations load the root `.env`, or what a checkout may carry.

Refs #8138
2026-11-09 13:15:10 +08:00
..

description, kind
description kind
The boot package group: how dsh app bins start — environment loading, profile and patch layers, clear startup failures, and app-owned command lines. package-group

boot/ — shared app-bin boot glue

English | 中文

Summary

The boot group launches profile applications and manages their installed composition. app-boot resolves configuration and starts the Loader, cmdline supplies application arguments, and plugin-manager exposes current-profile operations shared with the CLI. Each package README owns its details.

Table of Contents

Packages

Package Role ctx key
app-boot Boots a dsh app from a cordis.yml: loads .env, applies profile and patch layers, and reports startup failures clearly (library for the bins)
cmdline Lets the app own its flags, --help, and exit code; passes everything after the launcher's flags through verbatim cmdlineArgs, appExit
hmr Coordinates module and configuration reloads with package mutations hmr
config-editor Persists active profile configuration through Loader reconciliation configEditor
plugin-manager Manages current-profile plugins and bundle packages through shared CLI operations pluginManager
plugin-market Reads the plugin indexes the user configures for Discover and the plugin_market tool pluginMarket

  • dsh app — the dsh bin that consumes these helpers for its boot sequence.

  • Profile bundles — installable patch layers that dsh --profile compositions mount.

  • dsh-home-paths — the harness-home resolver both packages build on.

  • dsh-cmdline — how an app owns its flag family instead of the launcher.

  • Profile management — service methods and result records.

Dev Note

None.