dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
基于免费 ChatGPT 网页端(GPT 5.6 Luna)的 DeepSeek Harness 零成本对话模型提供者,支持流式 Markdown。
English | 中文
Zero-cost conversational AI model provider for DeepSeek Harness powered by free ChatGPT Web (GPT-6 Luna).
dsh-chatgpt-web turns your local browser session of ChatGPT into a seamless, $0.00 API-free conversational model provider directly inside DeepSeek Harness (DSH).
It connects via headless or visible Chrome/Chromium browser automation to chatgpt.com, streaming real-time Markdown responses, code solutions, explanations, and reasoning back to your DSH chats without consuming API credits.
Small conversational web models (like GPT-6 Luna) excel at explanations, dialogue, Q&A, brainstorming, code snippet generation, and side-assistant tasks. By running in Pure Chat Mode, the bridge eliminates prompt overhead, tool hallucinations, and syntax errors of autonomous multi-tool execution loops, providing a fast, rock-solid, zero-cost LLM provider.
ctx.effect. DeepSeek Harness starts the background sidecar automatically on launch and shuts it down on exit.chatgpt-web/luna (gpt-5-6-luna) and chatgpt-web/think.chatgpt-web/gpt-6-light, medium, high) and GPT-5.6 Sol (chatgpt-web/light, medium, high), plus Pro tiers when available.>=22.19.0 or Bun >=1.3.0 (both are supported; the CLI runs on either).>=0.2.0-rc.2.Install the plugin directly from this GitHub repository:
# Via npm registry (recommended):
dsh plugin --profile <profile> add @wlv-zedd/dsh-chatgpt-web
# Or directly from GitHub:
dsh plugin --profile <profile> add github:WLV-ZEDD/dsh-chatgpt-webThis registers the plugin in the profile's package.json bundles, so its Cordis entries are composed automatically — no manual insert is needed.
Authenticate your ChatGPT account once. The plugin binary lives in the profile's node_modules/.bin:
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web setup --dshA dedicated Chrome/Chromium window will open. Log into your OpenAI / ChatGPT account. Once the composer is visible and the ChatGPT session is authenticated, setup captures the session and writes the config and browser state to the plugin's storage directory (default ~/.dsh/storages/chatgpt-web/). A guest composer alone is not treated as a successful login.
--dsh leaves Codex configuration and OS services untouched; DSH owns the sidecar lifecycle. Existing Codex or DEV storage cannot be repurposed by this command: use a separate DSH_CHATGPT_WEB_HOME if needed. Before rerunning setup, stop or disable the sidecar so its port is free. Without --dsh, the legacy Codex setup path remains unchanged.
If your browser is not at the default path, pass it explicitly:
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web setup --dsh --chrome /path/to/chromeSnap-confined browsers can only write to non-hidden paths in $HOME. The plugin's default storage directory (~/.dsh/storages/chatgpt-web/) is hidden, so a snap browser cannot create its profile lock there and setup fails with:
Failed to create .../login-profile-XXXX/SingletonLock: Permission denied (13)The fix is to point the plugin's storage home at a non-hidden directory using the DSH_CHATGPT_WEB_HOME environment variable.
How the variable works: VAR=value command is standard shell syntax — it sets the environment variable *only for that one command* and does not persist it. The plugin reads DSH_CHATGPT_WEB_HOME on startup; when set, every file it owns (config, browser profile, storage state) lives under that directory instead of ~/.dsh/storages/chatgpt-web/.
Step by step:
DSH_CHATGPT_WEB_HOME="$HOME/dsh-chatgpt-web" \
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web setup --dsh --chrome /snap/bin/chromiumThe browser window opens; log in to ChatGPT. The session is saved under ~/dsh-chatgpt-web/.
VAR=value prefix from your terminal. So export the variable in your shell (e.g. ~/.bashrc), then start DSH from that shell:# add to ~/.bashrc (or ~/.zshrc):
export DSH_CHATGPT_WEB_HOME="$HOME/dsh-chatgpt-web"
# reload, then start DSH in that shell:
source ~/.bashrc
dsh --profile <profile> webThe sidecar now finds the same config.json and browser state that setup created.
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web doctorImportant: every command that touches the plugin state —setup,login,doctor, and the DSH process that runs the sidecar — must see the sameDSH_CHATGPT_WEB_HOME. If some of them use the hidden default path and others use the non-hidden one, the sidecar will reportConfiguration is missing.
Provider configuration lives in the profile's Cordis patch layer (~/.dsh/profiles//cordis.patch.yml), not in a global settings file. Add the chatgpt-web provider under the existing providers map of the llm-pi-ai entry:
- id: llm-pi-ai
name: "@deepseek-ai/dsh-llm-pi-ai"
config:
providers:
# ...your existing 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
- imageOptionally, make it the agent's default model in the agent-default-model entry:
- id: agent-default-model
name: "@deepseek-ai/dsh-agent-default-model"
config:
provider: chatgpt-web
model: chatgpt-web/lunaNow start DeepSeek Harness with the profile:
dsh --profile <profile> webDSH will automatically start the background sidecar process, connect to your authenticated ChatGPT session, and accept prompts!
Verify your setup at any time with the built-in diagnostic doctor:
~/.dsh/profiles/<profile>/node_modules/.bin/dsh-chatgpt-web doctorExample healthy output:
✓ 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: readySee TROUBLESHOOTING.md for common issues: browser executable paths, snap confinement, missing configuration, and runtime (Node/Bun) notes.
chatgpt.com. Not affiliated with or endorsed by OpenAI.