基于免费 ChatGPT 网页端(GPT 5.6 Luna)的 DeepSeek Harness 零成本对话模型提供者,支持流式 Markdown。
安装
# npm 包(预构建)
dsh plugin --profile web add @wlv-zedd/dsh-chatgpt-web
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:WLV-ZEDD/dsh-chatgpt-web
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
基于免费 ChatGPT Web(GPT-6 Luna)驱动的 DeepSeek Harness 零成本对话 AI 模型提供者。
目录
概述
dsh-chatgpt-web 将你本地的 ChatGPT 浏览器会话转变为 DeepSeek Harness (DSH) 内部无缝运行的 $0.00 免 API 费用的对话模型提供者。
它通过无头(Headless)或可视的 Chrome/Chromium 浏览器自动化连接至 chatgpt.com,将实时的 Markdown 回答、代码方案、解释以及推理过程直接流式传输回 DSH 对话中,无需消耗任何 API 额度。
为什么选择纯对话模式(Pure Chat)?
轻量级对话网页模型(如 GPT-6 Luna)非常擅长解释、对话、问答、头脑风暴、代码片段生成以及侧边助手任务。通过运行在 纯对话模式 下,该桥接器消除了提示词开销、工具幻觉以及自主多工具循环中的语法错误,提供快速、稳定且零成本的 LLM 提供者。
核心功能
- 100% 完全免费($0.00 成本): 使用你现有的免费 ChatGPT 网页会话,无需 OpenAI API Key 或信用卡。
- Cordis 插件优先生命周期: 由 DSH 通过
ctx.effect管理。DeepSeek Harness 在启动时自动拉起后台 Sidecar 进程,并在退出时安全关闭。 - 动态模型自动检测: 自动检测你的 ChatGPT 账户等级:
- 免费账户: 默认为
chatgpt-web/luna(gpt-5-6-luna)以及chatgpt-web/think。 - Plus / Team 账户: 自动检测并暴露 GPT-6(
chatgpt-web/gpt-6-light、medium、high)以及 GPT-5.6 Sol(chatgpt-web/light、medium、high),并在可用时支持 Pro 档位。
- 免费账户: 默认为
- 完整流式 Markdown 与代码块: 实时向 DSH Web UI 或 CLI 投递生成的内容。
- 可移植且经过校验的发布产物: 发布的 tarball 在到达仓库(registry)之前会由 CI 校验(干净安装、运行时冒烟测试、依赖解析、无构建环境路径污染)。
环境要求
- 运行时: Node.js
>=22.19.0或 Bun>=1.3.0(两者均受支持,CLI 可在任一运行时上运行)。 - DeepSeek Harness:
>=0.2.0-rc.2。 - 浏览器: 你机器上的 Chrome 或 Chromium(用于一次性登录与运行服务)。
快速上手
1. 安装插件
直接从本 GitHub 仓库安装:
# 通过 npm 仓库安装(推荐):
dsh plugin --profile <profile> add @wlv-zedd/dsh-chatgpt-web
# 或直接从 GitHub 仓库安装:
dsh plugin --profile <profile> add github:WLV-ZEDD/dsh-chatgpt-web
这会将插件注册到 profile 的 package.json bundles 中,其 Cordis 条目会被自动组合——无需手动 insert。
2. 一次性浏览器登录
进行一次性的 ChatGPT 账号登录验证。插件可执行文件位于 profile 的 node_modules/.bin 中:
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web setup --dsh
系统将打开专用的 Chrome/Chromium 窗口。登录你的 OpenAI / ChatGPT 账号。输入框可见且 ChatGPT 会话通过登录验证后,setup 才会捕获会话,并将配置和浏览器状态写入插件的存储目录(默认 ~/.dsh/storages/chatgpt-web/)。仅有游客输入框不会被视为登录成功。
--dsh 不修改 Codex 配置,也不安装操作系统服务,后台 Sidecar 由 DSH 管理。该命令拒绝将已有 Codex 或 DEV 存储改为 DSH 用途;需要并存时,请指定独立的 DSH_CHATGPT_WEB_HOME。再次运行 setup 前,请停止或禁用 Sidecar,确保端口空闲。不带 --dsh 时,保留原有 Codex 配置流程。
如果你的浏览器不在默认路径,请显式传入:
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web setup --dsh --chrome /path/to/chrome
使用受 snap 沙箱限制的浏览器(例如 snap 版 Chromium)
受 snap 沙箱限制的浏览器只能写入 $HOME 下的非隐藏路径。插件的默认存储目录(~/.dsh/storages/chatgpt-web/)是隐藏目录,因此 snap 浏览器无法在其中创建 profile 锁文件,setup 会失败并报告:
Failed to create .../login-profile-XXXX/SingletonLock: Permission denied (13)
解决方法是通过环境变量 DSH_CHATGPT_WEB_HOME 将插件的存储主目录指向一个非隐藏目录。
该变量的工作原理: VAR=value command 是标准的 shell 语法——它只为那一条命令设置环境变量,不会持久化。插件在启动时读取 DSH_CHATGPT_WEB_HOME;一旦设置,它拥有的所有文件(配置、浏览器 profile、存储状态)都会放在该目录下,而不是 ~/.dsh/storages/chatgpt-web/。
逐步操作:
在命令上附加该变量,运行一次性 setup:
DSH_CHATGPT_WEB_HOME="$HOME/dsh-chatgpt-web" \ ~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web setup --dsh --chrome /snap/bin/chromium浏览器窗口会打开;登录 ChatGPT。会话将保存在
~/dsh-chatgpt-web/下。为启动 DSH 的 shell 持久化该变量。 后台 Sidecar 进程由 DeepSeek Harness 启动,继承的是 DSH 的环境——它不会继承你在终端里一次性使用的
VAR=value前缀。因此请在你的 shell 配置文件(例如~/.bashrc)中导出该变量,然后从该 shell 启动 DSH:# 添加到 ~/.bashrc(或 ~/.zshrc): export DSH_CHATGPT_WEB_HOME="$HOME/dsh-chatgpt-web" # 重新加载,然后在该 shell 中启动 DSH: source ~/.bashrc dsh --profile <profile> web这样 Sidecar 就能找到 setup 创建的同一份
config.json和浏览器状态。用 doctor 验证(在相同的环境中运行):
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web doctor
重要: 所有接触插件状态的命令——
setup、login、doctor,以及运行 Sidecar 的 DSH 进程——必须看到同一个DSH_CHATGPT_WEB_HOME。如果一部分使用隐藏默认路径、另一部分使用非隐藏路径,Sidecar 会报告Configuration is missing。
3. 在 DeepSeek Harness 中启用
提供者配置位于 profile 的 Cordis 补丁层(~/.dsh/profiles/<profile>/cordis.patch.yml)中,而不是某个全局配置文件里。在 llm-pi-ai 条目的现有 providers 映射下添加 chatgpt-web 提供者:
- id: llm-pi-ai
name: "@deepseek-ai/dsh-llm-pi-ai"
config:
providers:
# ...你现有的 providers...
chatgpt-web:
displayName: "ChatGPT Web (Free)"
api: openai-responses
baseURL: http://127.0.0.1:17841/v1
headers:
Authorization: "Bearer chatgpt-web-free"
streamIdleTimeoutMs: 300000
models:
- id: chatgpt-web/luna
name: "ChatGPT Web — Luna (Free)"
contextWindow: 1050000
maxTokens: 32768
input:
- text
- image
可选地,在 agent-default-model 条目中将其设为智能体的默认模型:
- id: agent-default-model
name: "@deepseek-ai/dsh-agent-default-model"
config:
provider: chatgpt-web
model: chatgpt-web/luna
现在使用你的 profile 启动 DeepSeek Harness:
dsh --profile <profile> web
DSH 将自动启动后台 Sidecar 进程,连接已登录的 ChatGPT 会话并开始处理提问!
诊断与健康检查
随时使用内置的诊断工具检查环境配置:
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web doctor
正常输出示例:
✓ Configuration is valid (~/.dsh/storages/chatgpt-web/config.json)
✓ Chrome executable found
✓ ChatGPT login state has authenticated browser evidence
✓ Responses proxy is healthy on 127.0.0.1:17841
Doctor result: ready
故障排查
常见问题请参见 TROUBLESHOOTING.md:浏览器可执行文件路径、snap 沙箱限制、缺失的配置,以及运行时(Node/Bun)说明。
注意事项与使用限制
- 非官方桥接: 通过本地 Playwright 自动化驱动
chatgpt.com网页。与 OpenAI 官方无隶属或背书关系。 - 单会话并发: 运行在单个浏览器标签页中。顺序查询和正常的 DSH 智能体对话完全顺畅;请避免同时对同一标签页发起多个高并发子智能体任务。
- 纯对话支持: 该提供者专注于纯对话回复、解释、推理以及代码块生成。不支持执行本地文件系统、终端命令或自主工具循环。
- 免费额度频率限制: 遵循 OpenAI 官方网页免费版的小时级调用频次限制。
相关文档
- CONTRIBUTING.md — 开发环境与贡献指南。
- SECURITY.md — 插件如何保管你的会话凭据。
- TROUBLESHOOTING.md — 配置与运行时问题诊断。
- LICENSE — MIT。
链接
同类插件
Ebony-Vinyl/dsh-our-free-model★ 47046
为 dsh 接入免费模型车道(含 DeepSeek V4.1 Flash、Kimi K3 等),无需登录、注册或填写 API Key,并提供本地 OpenAI 兼容网关、降级路由与用量看板。
dingminhua/dsh-connect-workbuddy★ 721
将本机登录的 WorkBuddy 模型接入 DSH,支持逐模型图片输入开关、账号切换,以及带每日签到的只读积分概览。
V1ki/dsh-plugin-subscriptions★ 521
把 ChatGPT(Codex)、Claude、Grok 订阅当作 DeepSeek Harness 的 LLM 提供方:设置页登录、模型目录、用量展示,以及 image_generate、video_generate 与 x_search 工具。
Mars-Sea/dsh-commandcode-provider★ 441
非官方 Command Code 模型接入插件:注册 `commandcode` 路由,带实时模型目录与推理强度支持。
Alice-Marx/dsh-model-router★ 405
为 DeepSeek Harness 规划有依赖的工作包,将其分配给已配置的模型 API 或支持的厂商 CLI,并提供费用预览。
FishBottle7/opencode2dsh★ 365
将 OpenCode Zen 免费模型接入 DeepSeek Harness,无需 API Key。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。