How cv-superding/dsh-deepseek-web-login works
This repository is a DSH provider plugin that uses an existing DeepSeek web login rather than an API key. Its main workflow is: capture or supply credentials, register the provider with DSH, translate model requests into the web protocol, and return streamed text or tool calls to the agent. The README also documents image uploads and a settings panel for accounts, models, usage, context, transport, and diagnostics. Some subsystem connections are documented rather than visible in sampled implementation excerpts; those relationships cite the README or are omitted where evidence is insufficient.
Main entry points: index.ts Plugin Host · adapter.ts LLM Adapter · auth.ts Credential Facade · webapi.ts Web API Client
Components 23
DSH Integration
- Plugin Host
src/index.ts - Settings Panel
src/client/index.ts
Login and Accounts
- Login Flows
src/login.ts - Browser Login
src/browser-login.ts - Credential Facade
src/auth.ts - Account Store
src/accounts.ts - Account Import
src/account-add.ts - Cookie Metadata
src/cookies.ts - State Paths
src/paths.ts
Model Runtime
- LLM Adapter
src/adapter.ts - Prompt and Tools
src/protocol.ts - Context Feed
src/context-feed.ts - Web API Client
src/webapi.ts - HTTP Transport
src/transport.ts
Operations and Settings
- Request Gate
src/gate.ts - Account Switching
src/auto-switch.ts - Connectivity Probe
src/probe.ts - Usage Tracking
src/usage.ts - Call Ledger
src/ledger.ts - Network Diagnostics
src/net-diagnostics.ts
Other components
- Plugin User
- DSH Agent
- DeepSeek Web
Connections 28
- Plugin User → Settings Panel: configures
README.md - Settings Panel → Plugin Host: calls host API
src/client/index.ts - Plugin Host → LLM Adapter: registers provider
README.md - DSH Agent → Plugin Host: invokes provider
README.md - Plugin User → Login Flows: starts login
README.md - Login Flows → Browser Login: starts browser flow
src/login.ts - Browser Login → Credential Facade: saves credentials
src/browser-login.ts - Login Flows → Credential Facade: manages credentials
src/login.ts - Credential Facade → Account Store: reads and writes
src/auth.ts - Account Store → State Paths: uses state path
src/accounts.ts - Credential Facade → Cookie Metadata: uses cookie metadata
src/auth.ts - Account Import → Account Store: adds accounts
src/account-add.ts - Account Import → Credential Facade: uses credential facade
src/account-add.ts - LLM Adapter → Credential Facade: gets credentials
src/adapter.ts - LLM Adapter → Prompt and Tools: serializes requests
src/adapter.ts - LLM Adapter → Context Feed: selects context feed
src/adapter.ts - LLM Adapter → Request Gate: limits requests
src/adapter.ts - LLM Adapter → Web API Client: calls web API
README.md - Web API Client → DeepSeek Web: sends web requests
README.md - Web API Client → HTTP Transport: uses transport
- Web API Client → DeepSeek Web: uploads images
README.md - LLM Adapter → DSH Agent: returns stream and tools
README.md - Plugin Host → Connectivity Probe: runs connectivity checks
src/index.ts - Plugin Host → Network Diagnostics: runs network checks
src/index.ts - Plugin Host → Call Ledger: records calls
src/index.ts - Plugin Host → Usage Tracking: serves usage features
README.md - Plugin Host → Account Switching: provides account switching
src/index.ts - Plugin Host → Settings Panel: serves settings UI
src/client/index.ts