TTTPOB/dsh-workspace-envrc ↗★ 0
dsh-workspace-envrc
Out-of-tree DSH bundle: applies the local machine's native direnv environment to explicitly Agent/workspace-owned Bash executions and persistent terminals. Depends on dsh-workspace-overlay; requires a host-installed direnv; never calls allow/deny or reads .envrc itself.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:TTTPOB/dsh-workspace-envrc说明文档
阅读完整 README ↗dsh-workspace-envrc
English version: docs/README.en.md
DSH 树外独立 bundle:把本机原生 direnv 环境应用到显式归属于 Agent/workspace 的 Bash 执行(foreground 与 background)与持久终端创建。插件把「发现、.envrc 求值、授权 hash、allow/deny、stdlib、环境变更」全部委托给已安装的 direnv 可执行文件——它绝不解析或 source .envrc、绝不维护授权数据库、绝不调用 direnv allow/permit/grant/edit、绝不使用 direnv export、不 watch 也不缓存任何 .envrc、绝不修改 Harness 进程的 process.env,并且不向模型暴露任何 allow/deny 工具。授权始终由用户在 DSH 之外的终端里用 direnv allow 完成。
目标 DSH:0.1.0-rc.6。运行时 peer 包括 @deepseek-ai/cordis 4.0.1、@deepseek-ai/dsh-agent / @deepseek-ai/dsh-scope / @deepseek-ai/dsh-shell / @deepseek-ai/dsh-sandbox / @deepseek-ai/dsh-subprocess / @deepseek-ai/dsh-terminal / @deepseek-ai/dsh-timeout 0.1.0-rc.6 与 dsh-workspace-overlay ^0.1.0;@deepseek-ai/schemastery 按实际身份策略作为普通依赖(与 DSH 各包及兄弟仓库 dsh-workspace-overlay 的声明方式一致)。版本均与安装版一致。
当前状态
全部能力已实现并有测试覆盖:workspaceEnvrc provider core、可逆 Bash adapter、持久终端 adapter、集成行,以及两条真实组合测试路径(真实 direnv 的 allow/deny/内容变更状态机、真实 Cordis Loader 组合内置 dist 的 provider/integration 行)。实现计划 docs/implementation-plan.md 状态为 implemented and published,全部完成标准已达成。本 README 描述当前实现事实,不再按历史 Block 分期叙述。
依赖与安装
- 本 bundle 是独立仓库,依赖
dsh-workspace-overlaybundle:workspaceCordis(canonical workspace 身份与 scope 映射)与公开的dsh-workspace-overlay/method-wrapper(可逆方法装饰)。 - 安装顺序:先装 overlay bundle,再装本 bundle。 本 bundle 的 patch(
cordis.patch.yml)只插入自己的两行(provider 行 + 集成行),绝不自动插入 overlay 行——overlay 行由 overlay 自己的 bundle patch 提供,dsh plugin add不会跨 bundle 改写 profile。 - :激活 preflight 会运行 。本 bundle 不安装 direnv,也不调用 ; 授权由用户在 DSH 外人工完成(见「原生 direnv 语义」)。