Preface¶
The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When using a local agent or performing large model inference, obtaining an OpenAI API key usually requires binding a credit card and paying for the service. The dsh-chatgpt-web plugin uses local browser automation to convert the free ChatGPT Web conversation experience into a model interface that DSH can directly call, eliminating the need for API key application and billing steps, and enabling zero-cost integration.
Plugin Introduction¶
This plugin is maintained by WLV-ZEDD and is a Cordis plugin. It uses Playwright to launch a local browser session connected to chatgpt.com, and synchronizes the ChatGPT Web conversation stream back to DeepSeek Harness in real time. The plugin is uniformly managed by DSH through ctx.effect as a background Sidecar process, ensuring that session state is automatically handled when the Harness starts and stops.
Core Features¶
- Zero-Cost Integration: Reuses the existing free ChatGPT Web conversation without requiring an OpenAI API key or additional fees.
- Automatic Model Detection: Automatically detects available models based on account tier. Free users use
chatgpt-web/lunaby default, while Plus/Team users can access paid models. - Real-Time Streaming Transfer: Supports real-time token output for Markdown and code blocks.
- Lifecycle Management: As a Sidecar plugin, it is automatically managed alongside the start and exit of DSH processes.
Installation and Enablement¶
Install the dependency and complete a one-time login authentication:
pnpm add @wlv-zedd/dsh-chatgpt-web
npx @wlv-zedd/dsh-chatgpt-web login
After running the login command, a browser window will open. Log in with your OpenAI account. The authentication state will be securely stored locally in ~/.dsh/storages/chatgpt-web/.
Add the Provider configuration in ~/.dsh/settings.yaml:
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:
provider: chatgpt-web
model: chatgpt-web/luna
Register the plugin in ~/.dsh/cordis.patch.yml (or cordis.yml):
- insert:
- id: dsh-chatgpt-web
name: '@wlv-zedd/dsh-chatgpt-web'
Diagnostics and Verification¶
You can use the built-in diagnostic command to verify whether the environment configuration is correct:
npx @wlv-zedd/dsh-chatgpt-web doctor
Applicable Scenarios and Cautions¶
- Applicable Scenarios: Pure text conversation, code explanation, Markdown rendering, Q&A, and brainstorming.
- Cautions:
- The plugin operates via local Playwright browser automation and is not an official OpenAI product.
- It runs in a single browser tab and does not support concurrent multi-agent sequential calls.
- It only generates pure conversational content and does not support file system operations or terminal execution.
- It is subject to the hourly usage limits of the OpenAI free tier.
This plugin provides the DSH ecosystem with a pure conversational model source without API fees. For more details, refer to GitHub.