DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Trusted Host Proxy 403 Fix — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-trusted-host-proxy-403-fix

Trusted Host Proxy 403 Fix

修复通过已列入 --trusted-host 的反向代理 Host 访问 DeepSeek Harness Web UI 时特权 /api 返回 403 的问题;同时使这些 Host 的设置持久化正常工作。不是身份验证层。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:roojay/dsh-trusted-host-proxy-403-fix#7bd231cb7843715675fddd8d872ac0f645f98af5
README兼容性版本

兼容性与来源证明

Trusted Host Proxy 403 Fix 以 dsh-trusted-host-proxy-403-fix 发布,当前版本为 0.7.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/20

版本

0.7.0stable
2026/9/12
0.6.0stable
2026/9/12
0.5.0stable
2026/9/11
查看其余 5 个版本收起版本
0.4.1stable
2026/9/6
0.4.0stable
2026/9/6
0.3.0stable
2026/8/25
0.2.0stable
2026/8/15
0.1.0stable
2026/8/14

相关插件

正在加载相关插件…

最新版
0.7.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
160
最近提交
2026/9/12
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。

README

dsh-trusted-host-proxy-403-fix

English | 中文

A standalone DeepSeek Harness plugin for the web profile. Version 0.7.0 is pinned to @deepseek-ai/dsh@0.1.5-rc.2.

DSH 0.1.2+ adds a process-token or signed-cookie gate to Web pages and API requests. In reverse-proxy deployments that already authenticate users with Cloudflare Access or an equivalent layer and constrain the public authority with --trusted-host, this plugin skips only the cookie 401 for requests that pass the trusted Host, Origin, and Fetch Metadata fence. It also keeps settings, locale, and theme persistence in host mode.

This plugin is not an authentication layer. Untrusted Host headers, cross-site requests, and mismatched Origins remain rejected.

Security boundary

  • Keep dsh web bound to a loopback address; never expose it directly to the public network.
  • Add only canonical host[:port] values actually used by clients to --trusted-host. Schemes, paths, user info, and wildcards are invalid.
  • Protect public entry points with Cloudflare Access, an authenticating reverse proxy, or equivalent network isolation.
  • A browser Origin must have the same host and port as the Host header. sec-fetch-site: cross-site and Origin: null are rejected.
  • Existing cookies, process tokens, redirects, and non-401 responses keep their original behavior.

Settings persistence

For pages admitted by that boundary, the client half enables the same host-backed persistence used by a loopback page:

  • It keeps connection.isLoopback and ctx.remote.$host.isLoopback in the host-settings-capable state.
  • It upgrades the shared Settings mirror from memory to host and calls load().
  • It upgrades the Locale and Theme controllers to host persistence.

Credentials state in Settings → Models, language, appearance, and Composer Enter preferences therefore survive refreshes and DSH process restarts.

Effective configuration viewer

On a trusted reverse-proxy page, the Host desktop's Open configuration file action is replaced with View effective config:

  • It reads namespace values resolved by the running DSH process through the existing settings.describe() boundary.
  • It supports YAML / JSON views, refresh, and copy.
  • Keys, tokens, and passwords remain redacted by the DSH server-side schema. The plugin never reads or returns the raw settings.yaml document.
  • The view represents effective values, not the source file's comments or original formatting.

Install

Install the published npm version:

dsh plugin --profile web add dsh-trusted-host-proxy-403-fix@0.7.0

Install the GitHub Release tarball:

dsh plugin --profile web add https://github.com/roojay/dsh-trusted-host-proxy-403-fix/releases/download/v0.7.0/dsh-trusted-host-proxy-403-fix-0.7.0.tgz

Test a local checkout before release:

cd /absolute/path/to/dsh-trusted-host-proxy-403-fix
npm install --ignore-scripts --no-package-lock
dsh plugin --profile web add "$PWD"

Install peer dependencies before linking a local checkout. Keep trustedHosts: !!js ctx.webRuntime.trustedHosts in cordis.patch.yml; do not hard-code an authority there.

Fully restart the Web process after installing or changing the source, and continue passing the public authority:

dsh web --port 3080 --trusted-host app.example.com

Verify

Inspect the merged profile first:

dsh --profile web --dump-config

Then verify the index boundary through the server loopback address:

# Trusted Host: the index loads without a DSH cookie.
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:3080/ \
  -H 'Host: app.example.com'

# Untrusted Host: the index must not load.
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:3080/ \
  -H 'Host: evil.example'

# Wrong Origin: API requests remain forbidden.
curl -sS -o /dev/null -w '%{http_code}\n' -X POST http://127.0.0.1:3080/api/settings.describe \
  -H 'Host: app.example.com' \
  -H 'Origin: https://evil.example' \
  -H 'content-type: application/json' \
  -d '{}'

After authenticating at the front end, also verify in a real browser that sessions open, messages can be sent, Settings → Models can read and save credentials, locale/theme preferences survive a hard refresh and a full process restart, and View effective config contains only redacted current values.

Develop

npm install --ignore-scripts --no-package-lock
npm test
npm pack

Tests pin the DSH 0.1.5-rc.2 peer versions and assert the HostConnectionService.requestRejection and authorizeIndex contracts so an upstream API change fails closed instead of silently weakening the boundary or breaking existing behavior.

License

MIT. Request-fence logic follows the MIT-licensed @deepseek-ai/dsh-client-connection implementation.