[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74792":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},74792,"openclaw-zero-token","linuxhsj\u002Fopenclaw-zero-token","linuxhsj","OpenClaw: Use All Major AI Models NO API Token! Claude\u002FChatGPT\u002FGemini\u002FDeepSeek\u002FDoubao\u002FGrok\u002FQwen\u002FManus\u002FKimi","",null,"TypeScript",4978,1188,37,10,0,24,58,198,72,31.23,"MIT License",false,"main",true,[],"2026-06-12 02:03:28","# OpenClaw Zero Token\n\n**Use LLMs without API tokens** — log in via browser once, then call ChatGPT, Claude, Gemini, DeepSeek, Qwen (intl\u002Fcn), Doubao, Kimi, Zhipu GLM, Grok, Xiaomi MiMo, Manus and more for free through a unified gateway.\n\n[License: MIT](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n\nEnglish | [简体中文](README.zh-CN.md)\n\n---\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Zero Token docs (index)](docs\u002Fzero-token\u002Findex.md)\n- [Product requirements (tracking, 中文)](docs\u002Fzero-token\u002Fzero-token-requirements.md)\n- [Upstream sync (Zero Token)](docs\u002Fzero-token\u002Fupstream-sync.md)\n- [Web models browser modes](docs\u002Fzero-token\u002Fweb-models-browser-modes.md)\n- [How It Works](#how-it-works)\n- [Quick Start](#quick-start)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Troubleshooting](#troubleshooting)\n- [Roadmap](#roadmap)\n- [Adding New Platforms](#adding-new-platforms)\n- [File Structure](#file-structure)\n- [Security Notes](#security)\n- [Sync With Upstream](#upstream-sync)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n- [Disclaimer](#disclaimer)\n\n---\n\n## Overview\n\nOpenClaw Zero Token is a fork of [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) that focuses on **removing API token cost** by driving the official web UIs (browser login) instead of paid API keys.\n\n### Why Zero Token?\n\n| Traditional usage    | Zero Token way           |\n| -------------------- | ------------------------ |\n| Buy API tokens       | **Completely free**      |\n| Pay per request      | No enforced quota        |\n| Credit card required | Browser login only       |\n| API tokens may leak  | Credentials stored local |\n\n### Supported providers\n\n| Provider                | Status    | Models (examples)                                    |\n| ----------------------- | --------- | ---------------------------------------------------- |\n| DeepSeek                | ✅ tested | deepseek-chat, deepseek-reasoner                     |\n| Qwen International      | ✅ tested | Qwen 3.5 Plus, Qwen 3.5 Turbo                        |\n| Qwen China              | ✅ tested | Qwen 3.5 Plus, Qwen 3.5 Turbo                        |\n| Kimi                    | ✅ tested | Moonshot v1 8K \u002F 32K \u002F 128K                          |\n| Claude Web              | ✅ tested | claude-sonnet-4-6, claude-opus-4-6, claude-haiku-4-6 |\n| Doubao                  | ✅ tested | doubao-seed-2.0, doubao-pro                          |\n| ChatGPT Web             | ✅ tested | GPT-4, GPT-4 Turbo                                   |\n| Gemini Web              | ✅ tested | Gemini Pro, Gemini Ultra                             |\n| Grok Web                | ✅ tested | Grok 1, Grok 2                                       |\n| GLM Web (Zhipu)         | ✅ tested | glm-4-Plus, glm-4-Think                              |\n| GLM Web (International) | ✅ tested | GLM-4 Plus, GLM-4 Think                              |\n| Xiaomi MiMo             | ✅ tested | MiMo 2.0, MiMo 2.5 Pro                               |\n| Manus API               | ✅ tested | Manus 1.6, Manus 1.6 Lite (API key, free quota)      |\n\n### Tool calling\n\nWeb models can call **local tools** (`web_search`, `web_fetch`, `exec`, `read`, `write`, `message`) via prompt-injected tool definitions. Based on [arXiv:2407.04997](https:\u002F\u002Farxiv.org\u002Fhtml\u002F2407.04997v1) and [ComfyUI LLM Party](https:\u002F\u002Fgithub.com\u002Fheshengtao\u002Fcomfyui_LLM_party) (5k+ stars).\n\n**11\u002F13 web models support tool calling** (verified):\n\n| Model       | Tool Calling | Chat | Notes                               |\n| ----------- | ------------ | ---- | ----------------------------------- |\n| DeepSeek    | ✅           | ✅   | exec: list desktop files            |\n| Kimi        | ✅           | ✅   | All 6 tools verified                |\n| Claude      | ✅           | ✅   | web_search OK                       |\n| ChatGPT     | ✅           | ✅   | web_search OK                       |\n| Qwen CN     | ✅           | ✅   | web_search OK                       |\n| Qwen Web    | ✅           | ✅   | web_search OK                       |\n| Grok        | ✅           | ✅   | web_search OK                       |\n| Gemini      | ✅           | ⚠️   | web_search OK, DOM polling unstable |\n| Xiaomi MiMo | ✅           | ✅   | web_search OK                       |\n| GLM         | ✅           | ✅   | Tool calling and chat OK            |\n| GLM Intl    | ✅           | ✅   | Tool calling and chat OK            |\n| Doubao      | ❌           | ⚠️   | Excluded (stream parser limitation) |\n| Perplexity  | —            | ✅   | Search engine, no tool injection    |\n\nThe middleware (`src\u002Fzero-token\u002Ftool-calling\u002F`) only injects tool prompts when keywords in the user message suggest a tool action — normal chat stays short to reduce ban risk.\n\nAgent file access is restricted by the configured **workspace** directory (see `agents.defaults.workspace`).\n\n### Extra features\n\n**AskOnce: one question, answers from all models.**  \nAskOnce can broadcast a single query to multiple configured providers and show their replies side by side.\n\n![AskOnce: ask once, multi-model answers](askonce.png)\n\n---\n\n## How It Works\n\n### High-level architecture\n\n```text\n┌─────────────────────────────────────────────────────────────────────────────┐\n│                              OpenClaw Zero Token                            │\n├─────────────────────────────────────────────────────────────────────────────┤\n│                                                                              │\n│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │\n│  │   Web UI    │    │  CLI\u002FTUI    │    │   Gateway   │    │  Channels   │  │\n│  │  (Lit 3.x)  │    │             │    │  (Port API) │    │ (Telegram…) │  │\n│  └──────┬──────┘    └──────┬──────┘    └──────┬──────┘    └──────┬──────┘  │\n│         │                  │                  │                  │          │\n│         └──────────────────┴──────────────────┴──────────────────┘          │\n│                                    │                                         │\n│                           ┌────────▼────────┐                               │\n│                           │   Agent Core    │                               │\n│                           │  (PI-AI Engine) │                               │\n│                           └────────┬────────┘                               │\n│                                    │                                         │\n│  ┌───────────────────────────────────────────────────────────────────────┐  │\n│  │  Provider Layer                                                       │  │\n│  │  DeepSeek Web (Zero Token)                                       ✅   │  │\n│  │  Qwen Web intl\u002Fcn (Zero Token)                                  ✅   │  │\n│  │  Kimi (Zero Token)                                              ✅   │  │\n│  │  Claude Web (Zero Token)                                        ✅   │  │\n│  │  Doubao (Zero Token)                                            ✅   │  │\n│  │  ChatGPT Web (Zero Token)                                       ✅   │  │\n│  │  Gemini Web (Zero Token)                                        ✅   │  │\n│  │  Grok Web (Zero Token)                                          ✅   │  │\n│  │  GLM Web (Zero Token)                                           ✅   │  │\n│  │  Xiaomi MiMo (Zero Token)                                       ✅   │  │\n│  │  Manus API (Token)                                              ✅   │  │\n│  └───────────────────────────────────────────────────────────────────────┘  │\n│                                                                              │\n└─────────────────────────────────────────────────────────────────────────────┘\n```\n\n### DeepSeek auth flow (example)\n\n```text\n1. Start browser\n   openclaw gateway  ──▶  Chrome (CDP: 18892, user-data-dir)\n\n2. User logs in\n   Browser  ──▶  https:\u002F\u002Fchat.deepseek.com  (scan \u002F password login)\n\n3. Capture credentials\n   Playwright CDP  ──▶  listen network requests\n                    └─▶ intercept Authorization header + cookies\n\n4. Store credentials\n   auth.json  ◀──  { cookie, bearer, userAgent }\n\n5. Call web API\n   DeepSeek WebClient  ──▶  DeepSeek Web API  ──▶  chat.deepseek.com\n   (reuses stored cookie + bearer token)\n```\n\n---\n\n## Quick Start\n\n> **Platforms**\n>\n> - 🍎 **macOS** \u002F 🐧 **Linux**: follow [START_HERE.md](START_HERE.md); full install\u002Fconfig in [INSTALLATION.md](INSTALLATION.md).\n> - 🪟 **Windows**: use WSL2 and then follow the Linux steps. Install WSL2: `wsl --install`, docs: \u003Chttps:\u002F\u002Fdocs.microsoft.com\u002Fwindows\u002Fwsl\u002Finstall>\n\n### Requirements\n\n- Node.js >= 22.12.0\n- pnpm >= 9.0.0\n- Chrome browser\n- OS: macOS, Linux, or Windows (via WSL2)\n\n### Helper scripts (first-time & daily use)\n\n```text\nFirst-time:\n  1. Build          pnpm install && pnpm build && pnpm ui:build\n  2. Start Chrome   .\u002Fstart-chrome-debug.sh\n  3. Login sites    Qwen intl\u002Fcn, Kimi, DeepSeek, ...\n  4. Onboard        .\u002Fonboard.sh webauth\n  5. Start server   .\u002Fserver.sh\n\nDaily:\n  start-chrome-debug.sh → onboard.sh → server.sh\n  server.sh [start|stop|restart|status] manages the gateway\n```\n\n**Script overview (core 3 scripts):**\n\n| Script                  | Purpose                    | When to use                                                              |\n| ----------------------- | -------------------------- | ------------------------------------------------------------------------ |\n| `start-chrome-debug.sh` | Start Chrome in debug mode | Step 2: open browser on port 9222 for logins + onboarding                |\n| `onboard.sh`            | Auth\u002Fonboarding wizard     | Step 4\u002F5: select provider (e.g. `deepseek-web`) and capture credentials  |\n| `server.sh`             | Manage gateway service     | Step 5 & daily use: `start` \u002F `stop` \u002F `restart` \u002F `status` on port 3001 |\n\n### Installation\n\n#### Clone and build\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flinuxhsj\u002Fopenclaw-zero-token.git\ncd openclaw-zero-token\npnpm install\npnpm build\npnpm ui:build\n```\n\n#### Configure authentication\n\n```bash\n# Start Chrome in debug mode (keep this terminal open)\n.\u002Fstart-chrome-debug.sh\n\n# Log into each web model in the browser tabs that open\n# (DeepSeek, Qwen, Kimi, Claude, ChatGPT, Gemini, Grok, etc.)\n\n# In a NEW terminal, run the auth wizard\n.\u002Fonboard.sh webauth\n```\n\n#### Start the gateway\n\n```bash\n.\u002Fserver.sh\n```\n\nOpen the Web UI at the URL printed in the terminal.\n\n#### Clean rebuild (if you get `ERR_MODULE_NOT_FOUND`)\n\n```bash\nrm -rf dist dist-runtime node_modules\npnpm install\npnpm build\npnpm ui:build\n.\u002Fserver.sh restart\n```\n\n> **Note:** Always use `pnpm build` (not `npm run build`). If you see hash mismatch errors like `Cannot find module dist\u002Fxxx-HASH.js`, do a clean rebuild as shown above.\n\n#### Step 3: Start the gateway\n\n```bash\n.\u002Fserver.sh\n```\n\nThis will start the HTTP gateway and Web UI.\n\n---\n\n## Usage\n\n### Web UI\n\nAfter `.\u002Fserver.sh` the Web UI is started automatically. Open it in your browser and chat with any configured model.\n\n#### Switch models\n\nUse `\u002Fmodel` inside the chat box:\n\n```bash\n# Switch to Claude Web\n\u002Fmodel claude-web\n\n# Switch to Doubao\n\u002Fmodel doubao-web\n\n# Switch to DeepSeek\n\u002Fmodel deepseek-web\n\n# Or specify exact models\n\u002Fmodel claude-web\u002Fclaude-sonnet-4-6\n\u002Fmodel doubao-web\u002Fdoubao-seed-2.0\n\u002Fmodel deepseek-web\u002Fdeepseek-chat\n```\n\n> **Claude Web:** Prefer the **full model id**: `\u002Fmodel claude-web\u002Fclaude-sonnet-4-6` (matches the catalog default). `\u002Fmodel claude-web` alone can fail to resolve or pick the intended model in some setups.\n\n#### List available models\n\n```bash\n\u002Fmodels\n```\n\n> **Important:** Only providers configured via `.\u002Fonboard.sh webauth` are written into `openclaw.json` and shown in `\u002Fmodels`.\n\nThe output shows:\n\n- All available providers (e.g. `claude-web`, `doubao-web`, `deepseek-web`)\n- Models under each provider\n- Currently active model\n- Aliases and config\n\nExample:\n\n```text\nModel                                      Input      Ctx      Local Auth  Tags\ndoubao-web\u002Fdoubao-seed-2.0                 text       63k      no    no    default,configured,alias:Doubao Browser\nclaude-web\u002Fclaude-sonnet-4-6         text+image 195k     no    no    configured,alias:Claude Web\ndeepseek-web\u002Fdeepseek-chat                 text       64k      no    no    configured\n```\n\n### HTTP API\n\n```bash\ncurl http:\u002F\u002F127.0.0.1:3001\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer YOUR_GATEWAY_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"model\": \"deepseek-web\u002Fdeepseek-chat\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]\n  }'\n```\n\n### CLI \u002F TUI\n\n```bash\nnode openclaw.mjs tui\n```\n\n---\n\n## Configuration\n\n### Example `openclaw.json`\n\n```json\n{\n  \"auth\": {\n    \"profiles\": {\n      \"deepseek-web:default\": {\n        \"provider\": \"deepseek-web\",\n        \"mode\": \"api_key\"\n      }\n    }\n  },\n  \"models\": {\n    \"providers\": {\n      \"deepseek-web\": {\n        \"baseUrl\": \"https:\u002F\u002Fchat.deepseek.com\",\n        \"api\": \"deepseek-web\",\n        \"models\": [\n          {\n            \"id\": \"deepseek-chat\",\n            \"name\": \"DeepSeek Chat\",\n            \"contextWindow\": 64000,\n            \"maxTokens\": 4096\n          },\n          {\n            \"id\": \"deepseek-reasoner\",\n            \"name\": \"DeepSeek Reasoner\",\n            \"reasoning\": true,\n            \"contextWindow\": 64000,\n            \"maxTokens\": 8192\n          }\n        ]\n      }\n    }\n  },\n  \"gateway\": {\n    \"port\": 3001,\n    \"auth\": {\n      \"mode\": \"token\",\n      \"token\": \"your-gateway-token\"\n    }\n  }\n}\n```\n\n---\n\n## Troubleshooting\n\n### First run: use the onboarding wizard (recommended)\n\n```bash\n.\u002Fonboard.sh webauth\n```\n\nThe wizard will create all required directories and basic files.\n\n### Fix issues: doctor command\n\nIf you already ran the project but see missing-directories or similar errors:\n\n```bash\nnode dist\u002Findex.mjs doctor\n```\n\nThe doctor command will:\n\n- ✅ Check all required directories\n- ✅ Create missing directories\n- ✅ Fix common permission issues\n- ✅ Validate config file structure\n- ✅ Detect multiple conflicting state directories\n- ✅ Print detailed suggestions\n\n**Limitations:**\n\n- ❌ Does **not** create `openclaw.json`\n- ❌ Does **not** create `auth-profiles.json`\n- ✅ If those are missing\u002Fcorrupt, rerun `.\u002Fonboard.sh webauth`\n\n---\n\n## Roadmap\n\n### Current focus\n\n- ✅ DeepSeek Web, Qwen intl\u002Fcn, Kimi, Claude Web, Doubao, ChatGPT Web, Gemini Web, Grok Web, GLM Web, GLM intl, Xiaomi MiMo, Manus API — all tested\n- 🔧 Improve credential capture robustness\n- 📝 Documentation improvements\n\n### Planned\n\n- 🔜 Auto-refresh for expired web sessions\n\n---\n\n## Adding New Platforms\n\nTo add a new web provider you usually need:\n\n### 1. Auth module (`src\u002Fzero-token\u002Fproviders\u002F{platform}-web-auth.ts`)\n\n```ts\nexport async function loginPlatformWeb(params: {\n  onProgress: (msg: string) => void;\n  openUrl: (url: string) => Promise\u003Cboolean>;\n}): Promise\u003C{ cookie: string; bearer: string; userAgent: string }> {\n  \u002F\u002F Automate browser login and capture credentials\n}\n```\n\n### 2. API client (`src\u002Fzero-token\u002Fproviders\u002F{platform}-web-client*.ts`)\n\n```ts\nexport class PlatformWebClient {\n  constructor(options: { cookie: string; bearer?: string }) {}\n\n  async chatCompletions(params: ChatParams): Promise\u003CReadableStream> {\n    \u002F\u002F Call platform web API\n  }\n}\n```\n\n### 3. Stream handler (`src\u002Fzero-token\u002Fstreams\u002F{platform}-web-stream.ts`) and register it in `web-stream-factories.ts`\n\n```ts\nexport function createPlatformWebStreamFn(credentials: string): StreamFn {\n  \u002F\u002F Handle provider-specific streaming format\n}\n```\n\n---\n\n## File Structure\n\n```text\nopenclaw-zero-token\u002F\n├── src\u002F\n│   ├── zero-token\u002F\n│   │   ├── providers\u002F                    # Web clients + *-web-auth.ts\n│   │   └── streams\u002F                      # *-web-stream.ts + web-stream-factories.ts\n│   ├── agents\u002F\n│   │   └── web-stream-factories.ts       # Re-export (stable import for runner)\n│   ├── commands\u002F\n│   │   └── auth-choice.apply.deepseek-web.ts  # Auth flow\n│   └── browser\u002F\n│       └── chrome.ts                     # Chrome automation\n├── ui\u002F                                   # Web UI (Lit 3.x)\n├── .openclaw-zero-state\u002F                 # Local state (ignored)\n│   ├── openclaw.json                     # Config\n│   └── agents\u002Fmain\u002Fagent\u002F\n│       └── auth.json                     # Credentials (sensitive)\n└── .gitignore                            # Includes .openclaw-zero-state\u002F\n```\n\n---\n\n## Security Notes\n\n1. **Credential storage**: cookies and bearer tokens live in local `auth.json` and must **never** be committed.\n2. **Session lifetime**: web sessions expire; you may need to re-login from time to time.\n3. **Rate limiting**: web endpoints may enforce rate limits; they are not suited for heavy production workloads.\n4. **Compliance**: this project is for personal learning and experimentation. Always follow each platform’s Terms of Service.\n\n---\n\n## Sync With Upstream OpenClaw\n\nFor a Zero Token–specific file checklist and merge playbook, see **[Upstream sync (Zero Token)](docs\u002Fzero-token\u002Fupstream-sync.md)**.\n\nThis project is based on OpenClaw. To sync upstream changes:\n\n```bash\ngit remote add upstream https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw.git\ngit fetch upstream\ngit merge upstream\u002Fmain\n```\n\n---\n\n## Contributing\n\nPRs are welcome, especially for:\n\n- Bug fixes\n- Documentation improvements\n\n---\n\n## License\n\n[MIT License](LICENSE)\n\n---\n\n## Acknowledgments\n\n- [OpenClaw](https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw) — original project\n- [DeepSeek](https:\u002F\u002Fdeepseek.com) — excellent AI models\n\n---\n\n## Disclaimer\n\nThis project is for learning and research only.  \nWhen using it to access any third-party service, you are responsible for complying with that service’s Terms of Use.  \nThe authors are not liable for any issues caused by misuse of this project.\n","OpenClaw Zero Token 是一个允许用户无需API令牌即可使用各大主流AI模型的项目。它通过浏览器一次性登录，之后便能免费调用包括Claude、ChatGPT、Gemini、DeepSeek、Qwen等在内的多种AI模型，并且统一了访问这些模型的方式。项目采用TypeScript开发，支持多种语言版本，确保了跨平台兼容性与易用性。适用于希望降低AI技术成本、探索不同AI模型能力的研究者或开发者，以及对现有API令牌机制有顾虑的个人或团队。MIT许可证下开源，便于社区贡献和定制化扩展。",2,"2026-06-11 03:50:50","high_star"]