{"_id":"@dsh-mermaid-renderer/dsh-web-app-mermaid","name":"@dsh-mermaid-renderer/dsh-web-app-mermaid","dist-tags":{"next":"0.1.0-rc.6-mermaid.10","latest":"0.1.0-rc.6-mermaid.10"},"versions":{"0.1.0-rc.6-mermaid.10":{"name":"@dsh-mermaid-renderer/dsh-web-app-mermaid","description":"The dsh browser-surface bundle fork that adds mermaid fence rendering (dsh-web-app + dsh-client-ui-mermaid)","version":"0.1.0-rc.6-mermaid.10","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dsh-mermaid/dsh-mermaid-release.git","directory":"projects/harness/mermaid-release/packages/bundle/web-app/package.json"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./startup":{"types":"./lib/types/startup.d.ts","default":"./lib/startup.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./cordis.patch.yml":"./cordis.patch.yml","./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dependencies":{"@deepseek-ai/dsh-agent-presets":"^0.1.0-rc.6","@deepseek-ai/dsh-api-remotes":"^0.1.0-rc.6","@deepseek-ai/dsh-app-boot":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-hmr":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-agent-preset":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-cordis":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-deliverables":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-directory-picker-browse":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-directory-picker-native":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-message-feedback":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-goal":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-layout":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-model-selection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings-models":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings-plugin-inventory":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-permission-presets":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-plan":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings-plugins":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings-general":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-sidebar":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-skill":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-input-trigger":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-subagent":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-jobs":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-theme":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-tool":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-workflow-run":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-trajectory":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-cmdline":"^0.1.0-rc.6","@deepseek-ai/dsh-code-runtime-worker-thread":"^0.1.0-rc.6","@deepseek-ai/dsh-cordis-client-runner":"^0.1.0-rc.6","@deepseek-ai/dsh-cordis-host-runner":"^0.1.0-rc.6","@deepseek-ai/dsh-host-frontend-static":"^0.1.0-rc.6","@deepseek-ai/dsh-host-apiproxy":"^0.1.0-rc.6","@deepseek-ai/dsh-host-directory-picker-auto":"^0.1.0-rc.6","@deepseek-ai/dsh-host-directory-picker-browse":"^0.1.0-rc.6","@deepseek-ai/dsh-host-directory-picker-native":"^0.1.0-rc.6","@deepseek-ai/dsh-host-plugin-inventory":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-message-feedback":"^0.1.0-rc.6","@deepseek-ai/dsh-session-projection-cache":"^0.1.0-rc.6","@deepseek-ai/dsh-session-log-export":"^0.1.0-rc.6","@deepseek-ai/dsh-session-stats":"^0.1.0-rc.6","@deepseek-ai/dsh-storage":"^0.1.0-rc.6","@deepseek-ai/dsh-storage-domain":"^0.1.0-rc.6","@deepseek-ai/dsh-storage-json":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/schemastery":"^3.18.1","commander":"^15.0.0","@deepseek-ai/dsh-client-ui-primitives":"^0.1.0-rc.6","@dsh-mermaid-renderer/dsh-client-modules":"^0.1.0-rc.6-mermaid.10","@dsh-mermaid-renderer/dsh-client-ui-conversation":"^0.1.0-rc.6-mermaid.10","@dsh-mermaid-renderer/dsh-web-frontend":"^0.1.0-rc.6-mermaid.10","@dsh-mermaid-renderer/dsh-client-ui-mermaid":"^0.1.0-rc.6-mermaid.10"},"peerDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-shell-env":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis":"^4.0.1"},"devDependencies":{"@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-shell-env":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis":"^4.0.1"},"gitHead":"efbd3fcdd8e770427e81ec31abf3bf7cab5177bc","_id":"@dsh-mermaid-renderer/dsh-web-app-mermaid@0.1.0-rc.6-mermaid.10","bugs":{"url":"https://github.com/dsh-mermaid/dsh-mermaid-release/issues"},"homepage":"https://github.com/dsh-mermaid/dsh-mermaid-release#readme","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-YAsn8GIRFQrlLUg6QvASvJun1Yvx3VJX6kvpam+Pq9kzjJ26hXLWE8Nk/5jXl84OCAWShVl+jmYHwJLNrHSW4g==","shasum":"bca93ee87373f4c01e31ccf92a20edae2519264e","tarball":"https://registry.npmjs.org/@dsh-mermaid-renderer/dsh-web-app-mermaid/-/dsh-web-app-mermaid-0.1.0-rc.6-mermaid.10.tgz","fileCount":11,"unpackedSize":351913,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID3QiC/X4SbLd6rQnAENZEEgtnAjlgG13+02uhqR1PowAiEAwmucEpmtPT1UZBKsR/Iy1fjjiRMuXfdDx0i6oc0VxXU="}]},"_npmUser":{"name":"feedseawave","email":"xuechenli2021@163.com"},"directories":{},"maintainers":[{"name":"feedseawave","email":"xuechenli2021@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-web-app-mermaid_0.1.0-rc.6-mermaid.10_1786914832715_0.9964952327171619"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-16T21:13:52.550Z","0.1.0-rc.6-mermaid.10":"2026-08-16T21:13:52.859Z","modified":"2026-08-16T21:13:53.059Z"},"maintainers":[{"name":"feedseawave","email":"xuechenli2021@163.com"}],"description":"The dsh browser-surface bundle fork that adds mermaid fence rendering (dsh-web-app + dsh-client-ui-mermaid)","homepage":"https://github.com/dsh-mermaid/dsh-mermaid-release#readme","repository":{"type":"git","url":"git+https://github.com/dsh-mermaid/dsh-mermaid-release.git","directory":"projects/harness/mermaid-release/packages/bundle/web-app/package.json"},"bugs":{"url":"https://github.com/dsh-mermaid/dsh-mermaid-release/issues"},"license":"MIT","readme":"# `@deepseek-ai/dsh-web-app`\n\n[English](README.md) | 中文\n\ndsh 浏览器表层组合包。[`cordis.patch.yml`](cordis.patch.yml) 叠加在 [`dsh-base`](../base/README.md) 之上：设置 coding persona，插入 Web 宿主行（webserver、API 网关、workspace、投影缓存、存储）、浏览器插件名录与始终挂载的客户端插件重载链（[`dsh-client-hmr`](../../client/hmr/README.md)，在重建 watcher 改写客户端 bundle 之前保持空闲），并挂载本包的 `web-runtime` 粘合插件（配置为 `{printUrl, surfaceContext, trustedHosts}`）。该插件通过 `@deepseek-ai/dsh-web-frontend` 的 exports 解析已构建的前端 dist，只采样一次依赖 bind 的 LAN 信任信息并将其作为 `webRuntime` 提供给浏览器信任栅栏和客户端名录，挂载 [`frontend-static`](../../host/frontend-static/README.md) 回退席位所有者，在 `surfaceContext` 为 true 时注册 Harness 源码与 Web 表层提示词段落，以及 bash 可见的 `DSH_WEB_URL` 运行时变量，并在 `printUrl` 为 true 时等自身的 Loader 配置树结算后再打印 `dsh web:` URL 行，避免兄弟行失败时公告一个已失效的应用。本组合包还持有应用命令行：普通 `web-startup` 提供方（[`src/startup.ts`](src/startup.ts)）注入 `ctx.cmdlineArgs`（[`dsh-cmdline`](../../boot/cmdline/README.md)），解析 `--host`、`--port`、可重复的 `--trusted-host` 以及应用自己的 `--help`，再提供 `webStartup`。它会在发布该服务前拒绝 `--host 0.0.0.0`，因为 CLI 目前有意不支持绑定所有网络接口。由 flag 配置的行会注入该服务，并在惰性配置中直接读取它，因此参数解析完成前不会有任何东西绑定端口，`dsh --profile web --help` 也不会启动服务器。[`dsh-headless`](../headless/README.md) 是同一 base 之上的同级表层，不挂载本组合包。\n\n## 模型体验\n\n### Harness 源码与 Web 表层上下文\n\n#### 模型看到的内容\n\n当 `surfaceContext` 为 true 时，`harness:source` 段落标明磁盘上的 Harness 实现，但不会声称它就是工作目录；全局段落 `app:web-surface`（顺序 −98）则向模型说明 GUI：规范的本地 URL、「this page」指代什么、更新约定（重载接收端始终开启；无刷新重载还需要 `pnpm run dev:web` watcher），以及不要启动替代服务器的指令。`DSH_WEB_URL` 还会连同描述出现在受管 bash 环境中，每次调用时从运行中的服务器解析。当它为 false 时，这两个段落和该变量都不会注册。\n\n#### Token 影响\n\n每个会话一行源码说明和一段提示词，外加两行受管环境变量；每个进程内保持恒定。\n\n#### KV Cache 影响\n\n该提示词段落位于系统提示词靠前位置，且在进程整个生命周期内稳定（端口是启动期事实），因此不会使跨轮次缓存失效。\n\n## 已知限制与延期工作\n\n- **前端 dist 必须已构建**：对 dist 的 `require.resolve` 在激活时明确报错并给出构建提示；没有从源码直接服务的回退路径。\n- **`lanAddresses` 是启动期快照**：启动后的网卡变化不会重新公告；打印的 LAN URL 始终与配置的信任栅栏一致。\n","readmeFilename":"README.zh.md","_rev":"1-f5660ebb7a00b7d3559b8ea229f23afd"}