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
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 |
Related documentation
-
dsh app — the
dshbin that consumes these helpers for its boot sequence. -
Profile bundles — installable patch layers that
dsh --profilecompositions 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.