1 line
23 KiB
JSON
1 line
23 KiB
JSON
{"repo": "8lampard8/claude-science-cn", "files": {"SKILL.md": {"6bc631b7902ec0ceafb5f32a17920ab410d651c5": {"t": 1785747213.4751656, "n": 11063, "h": "16343e1ee5c2a251", "c": "---\nname: claude-science-byok\ndescription: \"Use when installing Anthropic's Claude Science on a geo-blocked machine (e.g. China) or running it without a Claude account. Downloads the binary from the unblocked downloads.claude.ai CDN, sets up the claude-science-api-bridge local proxy to route requests to ANY OpenAI- or Anthropic-compatible API (Volcengine, DeepSeek, Kimi, Zhipu, OpenAI, local Ollama/vLLM), and applies a no-login patch so no Claude Pro/Max subscription is required.\"\nversion: 1.0.0\nauthor: 8lampard8\nlicense: MIT\nplatforms: [linux, macos]\nmetadata:\n hermes:\n tags: [claude-science, byok, api-bridge, geo-block, wsl, volcengine, deepseek]\n related_skills: [hermes-agent, mcp-server-installation]\n---\n\n# Claude Science — Bring Your Own Key (no login, any API provider)\n\n## Overview\n\nClaude Science is Anthropic's local AI workbench for scientific research. Two obstacles block users in mainland China (and anyone without a paid Claude plan):\n\n1. **Install blocked:** the official `curl -fsSL https://claude.ai/install-claude-science.sh | sh` is geo-blocked (`claude.ai` → 302 \"app unavailable in region\").\n2. **Login required:** Claude Science demands a Claude Pro/Max/Team OAuth login, unreachable without a subscription and without access to `claude.ai`.\n\nThis skill solves both: download the binary directly from the unblocked `downloads.claude.ai` CDN, then run the open-source **claude-science-api-bridge** local proxy that (a) translates Anthropic Messages API ↔ your provider's format and (b) fakes a local login so no Claude account is needed. Works with **any** OpenAI-compatible or Anthropic-compatible endpoint — not limited to any one provider.\n\n```\nClaude Science → local bridge (127.0.0.1:9876) → your LLM API\n ↑ ↑\n thinks it's logged in translates Anthropic↔OpenAI, or passes through Anthropic-native\n (fake token + patch) (Volcengine / DeepSeek / Kimi / Zhipu / OpenAI / local)\n```\n\n## When to Use\n\n- User wants to install/run Claude Science in China or behind a `claude.ai` geo-block.\n- User has no Claude Pro/Max subscription and wants to power Claude Science with their own API key.\n- User wants to swap Claude Science's backend to a cheaper/different model (DeepSeek, GLM, Kimi, local, etc.).\n- Don't use for: vanilla Claude Code CLI (use `npm install -g @anthropic-ai/claude-code` + `ANTHROPIC_BASE_URL` instead — no patch needed).\n\n## Prerequisites\n\n- Linux x64, or Windows WSL 2 (Ubuntu 24.04+ preferred for the sandbox; 20.04 works with `--dangerously-no-sandbox`).\n- `curl`, `git`, `python3` (3.9+).\n- An API key + base URL for any compatible provider (see `references/providers.md`).\n- ~5 GB disk for the Claude Science runtime.\n\n## Step 1 — Install Claude Science binary (bypass geo-block)\n\n`claude.ai` is geo-blocked, but the binary CDN `downloads.claude.ai` (Google Cloud Storage) is **not**. Download directly and verify the SHA256 against the manifest:\n\n```bash\n# Use the bundled installer script (downloads + checksum-verifies + installs):\nbash scripts/install-claude-science.sh\n# Or manually:\ncurl -fsSL https://downloads.claude.ai/claude-science/latest/manifest.json # version + sha256\ncurl -fSL https://downloads.claude.ai/claude-science/latest/linux-x64 \\\n -o ~/.local/bin/claude-science && chmod +x ~/.local/bin/claude-science\nsha256sum ~/.local/bin/claude-science # must match manifest.json sha256.linux-x64\nclaude-science --version # expect 0.1.x\n```\n\nmacOS: download the `.dmg` from `https://claude.com/product/claude-science` (that page is NOT geo-blocked).\n\n## Step 2 — Install the API bridge (no sudo)\n\n```bash\ngit clone https://github.com/Jyx0208/claude-science-api-bridge.git ~/claude-science-api-bridge\ncd ~/claude-science-api-bridge\n```\n\nConfigure with your provider via env vars. **Two modes** — pick based on what your provider offers:\n\n- `anthropic` mode (BEST — native passthrough, preserves tool calls/thinking/SSE): use when the provider has an Anthropic Messages endpoint.\n- `openai` mode (widest compatibility): use when the provider only has an OpenAI `/v1/chat/completions` endpoint.\n\n```bash\n# EXAMPLE — replace KEY, BASE_URL, MODEL with your provider's values.\n# See references/providers.md for ready-made configs for Volcengine/DeepSeek/Kimi/Zhipu/OpenAI/Ollama.\nCUSTOM_API_KEY=\"YOUR_KEY\" \\\nCUSTOM_BASE_URL=\"https://your-provider-endpoint\" \\\nCUSTOM_UPSTREAM_MODE=\"openai\" \\\nDEFAULT_BACKEND=\"custom\" \\\nFORCE_MODEL=\"your-model-name\" \\\nMODEL_LIST_MODE=\"aliases\" \\\nMODEL_MENU_STRATEGY=\"claude_compatible\" \\\nMODEL_ALIASES='[{\"id\":\"claude-sonnet-4-5\",\"display_name\":\"My Model\",\"backend\":\"custom\",\"model\":\"your-model-name\"}]' \\\nINLINE_IMAGE_POLICY=\"auto\" \\\nPROXY_PORT=\"9876\" \\\n./scripts/install-safe.sh\n```\n\n`install-safe.sh` creates a `.venv`, installs deps, writes `config.json`, and registers a systemd `--user` service (auto-start). Dashboard: `http://127.0.0.1:9876/dashboard`.\n\n> **Port must be 4 digits** (e.g. 9876). The no-login patch uses byte-length-preserving URL replacement; 5-digit ports break it.\n\n## Step 3 — First launch + generate no-login credentials\n\nThree sub-steps: create the data dir, forge an OAuth token, patch the binary.\n\n### 3a. First launch (creates `~/.claude-science/encryption.key`)\n\n```bash\nANTHROPIC_BASE_URL=http://127.0.0.1:9876 \\\n claude-science serve --port 8765 --no-browser --no-auto-update --dangerously-no-sandbox\n# Wait ~5s, then Ctrl-C. (—dangerously-no-sandbox only needed if bubblewrap < 0.8.0; see Pitfalls.)\n```\n\n### 3b. Forge the OAuth token (expires 2099, no refresh needed)\n\n```bash\n~/claude-science-api-bridge/.venv/bin/python ~/claude-science-api-bridge/setup-token.py\n# Creates ~/.claude-science/.oauth-tokens/byok-user-*.enc\n```\n\n### 3c. Patch the binary (redirect claude.ai auth → local bridge)\n\nClaude Science hardcodes `claude.ai`/`api.anthropic.com` for login validation. The patch rewrites those URLs in the binary to point at the local bridge (which returns fake \"logged-in\" data):\n\n```bash\ncd ~/claude-science-api-bridge\nPYTHON=.venv/bin/python PROXY_PORT=9876 PROXY_HTTPS_PORT=9877 \\\n ./scripts/patch-daemon-auth.sh ~/.local/bin/claude-science\n# Expect: \"Patched N OAuth URL occurrence(s)\" + \"executable check passed\"\n```\n\nBackup is saved as `.byok-auth-original`. **Re-apply after every Claude Science update** (updates replace the binary). The bundled `scripts/cs-start.sh` auto-detects and re-applies.\n\n## Step 4 — Start and use\n\n```bash\n# One-click (checks bridge, re-patches if needed, refreshes token, starts CS):\nbash ~/claude-science-api-bridge/cs-start.sh\n# Or directly:\nANTHROPIC_BASE_URL=http://127.0.0.1:9876 \\\n claude-science serve --port 8765 --no-browser --no-auto-update \\\n --dangerously-no-sandbox --detached\n\nclaude-science url # → http://localhost:8765/?nonce=...\n```\n\nOpen the URL in a browser (WSL: localhost auto-forwards to Windows). Click **\"Sign in\"** — this is a one-time nonce confirmation, **no account/password needed**. The app loads; all chat/code runs through your configured API.\n\n### Auto-start (systemd, optional)\n\n```bash\ncat > ~/.config/systemd/user/claude-science.service <<'EOF'\n[Unit]\nDescription=Claude Science (BYOK)\nAfter=claude-science-api-bridge.service\nRequires=claude-science-api-bridge.service\n[Service]\nType=simple\nExecStart=%h/.local/bin/claude-science serve --port 8765 --no-browser --no-auto-update --dangerously-no-sandbox\nEnvironment=ANTHROPIC_BASE_URL=http://127.0.0.1:9876\nRestart=on-failure\n[Install]\nWantedBy=default.target\nEOF\nsystemctl --user daemon-reload && systemctl --user enable --now claude-science.service\n```\n\n## Volcengine /v3 URL patch (only for Volcengine Ark in OpenAI mode)\n\nIf using Volcengine Ark's OpenAI-compatible endpoint (`.../api/plan/v3`), the bridge's `normalize_openai_base_url()` wrongly appends `/v1` (→ `/v3/v1/...`). Apply the included patch so any `/vN` suffix is preserved:\n\n```bash\ncd ~/claude-science-api-bridge\ngit apply /path/to/patches/volcengine-v3-url-fix.patch\n# Or edit proxy.py: in normalize_openai_base_url, replace\n# cleaned.endswith(\"/v1\") → ends_with_version_segment(cleaned)\n```\n\n(Not needed in `anthropic` mode, or for non-Volcengine providers.)\n\n## Common Pitfalls\n\n1. **bubblewrap too old.** Claude Science's sandbox needs bubblewrap ≥ 0.8.0. Ubuntu 20.04/22.04 ship 0.4.x → `bwrap too old`. Fix: upgrade to Ubuntu 24.04+, or build bubblewrap from source (needs `libcap-dev` + `autoconf` via sudo), or pass `--dangerously-no-sandbox` (code gets full `$HOME` read/write — acceptable for personal use, not production).\n\n2. **Patch lost after update.** `claude-science update` replaces the binary, wiping the auth patch. Re-run `patch-daemon-auth.sh`. `cs-start.sh` auto-detects and re-applies.\n\n3. **Port not 4 digits.** The patch replaces `https://claude.ai` (17 chars) → `http://127.1:9876` (17 chars); 5-digit ports break length matching. Use 9876/9875/etc.\n\n4. **\"Sign in\" page looks like a login wall.** It's NOT — it's a one-time nonce confirmation. Click the button (POSTs to `/api/auth/nonce`) and you're in. The fake OAuth token + binary patch handle the real auth in the background.\n\n5. **Empty model replies.** Reasoning models (GLM-5.2, DeepSeek-R1) emit `thinking` blocks that consume `max_tokens`. Raise `max_tokens` to 512+.\n\n6. **config.json `proxy_port` mismatch.** If you change the port, update BOTH config.json and the systemd service Environment, or `verify-proxy.sh` hits the wrong port.\n\n7. **Leaking API keys.** `config.json` holds your key (chmod 600). Never screenshot/publish it. The bridge's install output masks secrets (\"secrets updated: 1\"). For sharing, use placeholder keys only.\n\n8. **WSL path ≠ sandbox path.** A Windows path readable in a WSL shell may be unreadable inside Claude Science's tool sandbox. Copy data into `~/.claude-science/artifacts/` for reliability.\n\n## Verification Checklist\n\n- [ ] `claude-science --version` prints 0.1.x\n- [ ] `curl -sS http://127.0.0.1:9876/health` → `\"status\":\"ok\"`, `custom_configured:true`\n- [ ] `~/claude-science-api-bridge/.venv/bin/python ~/claude-science-api-bridge/setup-token.py` → \"Encrypted OAuth token successfully\"\n- [ ] `patch-daemon-auth.sh` → \"Patched N OAuth URL occurrence(s)\" + \"executable check passed\"\n- [ ] `curl -sS http://127.0.0.1:9876/v1/messages -H 'content-type: application/json' -d '{\"model\":\"claude-sonnet-4-5\",\"max_tokens\":256,\"messages\":[{\"role\":\"user\",\"content\":\"Say OK\"}]}'` → 200 + valid Anthropic response\n- [ ] `PYTHON=.venv/bin/python PROXY_PORT=9876 ./scripts/verify-proxy.sh` → \"proxy verification passed\"\n- [ ] Browser opens nonce URL → click \"Sign in\" → app loads (title \"Claude Science\", account \"byok@localhost\")\n\n## Files in this skill\n\n- `scripts/install-claude-science.sh` — download + SHA256-verify + install the binary\n- `scripts/cs-start.sh` — one-click launcher (bridge check, patch re-apply, token refresh, start)\n- `references/providers.md` — ready-made configs for Volcengine / DeepSeek / Kimi / Zhipu / OpenAI / Ollama / vLLM\n- `patches/volcengine-v3-url-fix.patch` — fix /v3 URL normalization for Volcengine OpenAI mode\n"}, "6c4659c394f5cde41fdb274b58297cad5a6f16b8": {"t": 1785771410.277118, "n": 11063, "h": "16343e1ee5c2a251", "c": "---\nname: claude-science-byok\ndescription: \"Use when installing Anthropic's Claude Science on a geo-blocked machine (e.g. China) or running it without a Claude account. Downloads the binary from the unblocked downloads.claude.ai CDN, sets up the claude-science-api-bridge local proxy to route requests to ANY OpenAI- or Anthropic-compatible API (Volcengine, DeepSeek, Kimi, Zhipu, OpenAI, local Ollama/vLLM), and applies a no-login patch so no Claude Pro/Max subscription is required.\"\nversion: 1.0.0\nauthor: 8lampard8\nlicense: MIT\nplatforms: [linux, macos]\nmetadata:\n hermes:\n tags: [claude-science, byok, api-bridge, geo-block, wsl, volcengine, deepseek]\n related_skills: [hermes-agent, mcp-server-installation]\n---\n\n# Claude Science — Bring Your Own Key (no login, any API provider)\n\n## Overview\n\nClaude Science is Anthropic's local AI workbench for scientific research. Two obstacles block users in mainland China (and anyone without a paid Claude plan):\n\n1. **Install blocked:** the official `curl -fsSL https://claude.ai/install-claude-science.sh | sh` is geo-blocked (`claude.ai` → 302 \"app unavailable in region\").\n2. **Login required:** Claude Science demands a Claude Pro/Max/Team OAuth login, unreachable without a subscription and without access to `claude.ai`.\n\nThis skill solves both: download the binary directly from the unblocked `downloads.claude.ai` CDN, then run the open-source **claude-science-api-bridge** local proxy that (a) translates Anthropic Messages API ↔ your provider's format and (b) fakes a local login so no Claude account is needed. Works with **any** OpenAI-compatible or Anthropic-compatible endpoint — not limited to any one provider.\n\n```\nClaude Science → local bridge (127.0.0.1:9876) → your LLM API\n ↑ ↑\n thinks it's logged in translates Anthropic↔OpenAI, or passes through Anthropic-native\n (fake token + patch) (Volcengine / DeepSeek / Kimi / Zhipu / OpenAI / local)\n```\n\n## When to Use\n\n- User wants to install/run Claude Science in China or behind a `claude.ai` geo-block.\n- User has no Claude Pro/Max subscription and wants to power Claude Science with their own API key.\n- User wants to swap Claude Science's backend to a cheaper/different model (DeepSeek, GLM, Kimi, local, etc.).\n- Don't use for: vanilla Claude Code CLI (use `npm install -g @anthropic-ai/claude-code` + `ANTHROPIC_BASE_URL` instead — no patch needed).\n\n## Prerequisites\n\n- Linux x64, or Windows WSL 2 (Ubuntu 24.04+ preferred for the sandbox; 20.04 works with `--dangerously-no-sandbox`).\n- `curl`, `git`, `python3` (3.9+).\n- An API key + base URL for any compatible provider (see `references/providers.md`).\n- ~5 GB disk for the Claude Science runtime.\n\n## Step 1 — Install Claude Science binary (bypass geo-block)\n\n`claude.ai` is geo-blocked, but the binary CDN `downloads.claude.ai` (Google Cloud Storage) is **not**. Download directly and verify the SHA256 against the manifest:\n\n```bash\n# Use the bundled installer script (downloads + checksum-verifies + installs):\nbash scripts/install-claude-science.sh\n# Or manually:\ncurl -fsSL https://downloads.claude.ai/claude-science/latest/manifest.json # version + sha256\ncurl -fSL https://downloads.claude.ai/claude-science/latest/linux-x64 \\\n -o ~/.local/bin/claude-science && chmod +x ~/.local/bin/claude-science\nsha256sum ~/.local/bin/claude-science # must match manifest.json sha256.linux-x64\nclaude-science --version # expect 0.1.x\n```\n\nmacOS: download the `.dmg` from `https://claude.com/product/claude-science` (that page is NOT geo-blocked).\n\n## Step 2 — Install the API bridge (no sudo)\n\n```bash\ngit clone https://github.com/Jyx0208/claude-science-api-bridge.git ~/claude-science-api-bridge\ncd ~/claude-science-api-bridge\n```\n\nConfigure with your provider via env vars. **Two modes** — pick based on what your provider offers:\n\n- `anthropic` mode (BEST — native passthrough, preserves tool calls/thinking/SSE): use when the provider has an Anthropic Messages endpoint.\n- `openai` mode (widest compatibility): use when the provider only has an OpenAI `/v1/chat/completions` endpoint.\n\n```bash\n# EXAMPLE — replace KEY, BASE_URL, MODEL with your provider's values.\n# See references/providers.md for ready-made configs for Volcengine/DeepSeek/Kimi/Zhipu/OpenAI/Ollama.\nCUSTOM_API_KEY=\"YOUR_KEY\" \\\nCUSTOM_BASE_URL=\"https://your-provider-endpoint\" \\\nCUSTOM_UPSTREAM_MODE=\"openai\" \\\nDEFAULT_BACKEND=\"custom\" \\\nFORCE_MODEL=\"your-model-name\" \\\nMODEL_LIST_MODE=\"aliases\" \\\nMODEL_MENU_STRATEGY=\"claude_compatible\" \\\nMODEL_ALIASES='[{\"id\":\"claude-sonnet-4-5\",\"display_name\":\"My Model\",\"backend\":\"custom\",\"model\":\"your-model-name\"}]' \\\nINLINE_IMAGE_POLICY=\"auto\" \\\nPROXY_PORT=\"9876\" \\\n./scripts/install-safe.sh\n```\n\n`install-safe.sh` creates a `.venv`, installs deps, writes `config.json`, and registers a systemd `--user` service (auto-start). Dashboard: `http://127.0.0.1:9876/dashboard`.\n\n> **Port must be 4 digits** (e.g. 9876). The no-login patch uses byte-length-preserving URL replacement; 5-digit ports break it.\n\n## Step 3 — First launch + generate no-login credentials\n\nThree sub-steps: create the data dir, forge an OAuth token, patch the binary.\n\n### 3a. First launch (creates `~/.claude-science/encryption.key`)\n\n```bash\nANTHROPIC_BASE_URL=http://127.0.0.1:9876 \\\n claude-science serve --port 8765 --no-browser --no-auto-update --dangerously-no-sandbox\n# Wait ~5s, then Ctrl-C. (—dangerously-no-sandbox only needed if bubblewrap < 0.8.0; see Pitfalls.)\n```\n\n### 3b. Forge the OAuth token (expires 2099, no refresh needed)\n\n```bash\n~/claude-science-api-bridge/.venv/bin/python ~/claude-science-api-bridge/setup-token.py\n# Creates ~/.claude-science/.oauth-tokens/byok-user-*.enc\n```\n\n### 3c. Patch the binary (redirect claude.ai auth → local bridge)\n\nClaude Science hardcodes `claude.ai`/`api.anthropic.com` for login validation. The patch rewrites those URLs in the binary to point at the local bridge (which returns fake \"logged-in\" data):\n\n```bash\ncd ~/claude-science-api-bridge\nPYTHON=.venv/bin/python PROXY_PORT=9876 PROXY_HTTPS_PORT=9877 \\\n ./scripts/patch-daemon-auth.sh ~/.local/bin/claude-science\n# Expect: \"Patched N OAuth URL occurrence(s)\" + \"executable check passed\"\n```\n\nBackup is saved as `.byok-auth-original`. **Re-apply after every Claude Science update** (updates replace the binary). The bundled `scripts/cs-start.sh` auto-detects and re-applies.\n\n## Step 4 — Start and use\n\n```bash\n# One-click (checks bridge, re-patches if needed, refreshes token, starts CS):\nbash ~/claude-science-api-bridge/cs-start.sh\n# Or directly:\nANTHROPIC_BASE_URL=http://127.0.0.1:9876 \\\n claude-science serve --port 8765 --no-browser --no-auto-update \\\n --dangerously-no-sandbox --detached\n\nclaude-science url # → http://localhost:8765/?nonce=...\n```\n\nOpen the URL in a browser (WSL: localhost auto-forwards to Windows). Click **\"Sign in\"** — this is a one-time nonce confirmation, **no account/password needed**. The app loads; all chat/code runs through your configured API.\n\n### Auto-start (systemd, optional)\n\n```bash\ncat > ~/.config/systemd/user/claude-science.service <<'EOF'\n[Unit]\nDescription=Claude Science (BYOK)\nAfter=claude-science-api-bridge.service\nRequires=claude-science-api-bridge.service\n[Service]\nType=simple\nExecStart=%h/.local/bin/claude-science serve --port 8765 --no-browser --no-auto-update --dangerously-no-sandbox\nEnvironment=ANTHROPIC_BASE_URL=http://127.0.0.1:9876\nRestart=on-failure\n[Install]\nWantedBy=default.target\nEOF\nsystemctl --user daemon-reload && systemctl --user enable --now claude-science.service\n```\n\n## Volcengine /v3 URL patch (only for Volcengine Ark in OpenAI mode)\n\nIf using Volcengine Ark's OpenAI-compatible endpoint (`.../api/plan/v3`), the bridge's `normalize_openai_base_url()` wrongly appends `/v1` (→ `/v3/v1/...`). Apply the included patch so any `/vN` suffix is preserved:\n\n```bash\ncd ~/claude-science-api-bridge\ngit apply /path/to/patches/volcengine-v3-url-fix.patch\n# Or edit proxy.py: in normalize_openai_base_url, replace\n# cleaned.endswith(\"/v1\") → ends_with_version_segment(cleaned)\n```\n\n(Not needed in `anthropic` mode, or for non-Volcengine providers.)\n\n## Common Pitfalls\n\n1. **bubblewrap too old.** Claude Science's sandbox needs bubblewrap ≥ 0.8.0. Ubuntu 20.04/22.04 ship 0.4.x → `bwrap too old`. Fix: upgrade to Ubuntu 24.04+, or build bubblewrap from source (needs `libcap-dev` + `autoconf` via sudo), or pass `--dangerously-no-sandbox` (code gets full `$HOME` read/write — acceptable for personal use, not production).\n\n2. **Patch lost after update.** `claude-science update` replaces the binary, wiping the auth patch. Re-run `patch-daemon-auth.sh`. `cs-start.sh` auto-detects and re-applies.\n\n3. **Port not 4 digits.** The patch replaces `https://claude.ai` (17 chars) → `http://127.1:9876` (17 chars); 5-digit ports break length matching. Use 9876/9875/etc.\n\n4. **\"Sign in\" page looks like a login wall.** It's NOT — it's a one-time nonce confirmation. Click the button (POSTs to `/api/auth/nonce`) and you're in. The fake OAuth token + binary patch handle the real auth in the background.\n\n5. **Empty model replies.** Reasoning models (GLM-5.2, DeepSeek-R1) emit `thinking` blocks that consume `max_tokens`. Raise `max_tokens` to 512+.\n\n6. **config.json `proxy_port` mismatch.** If you change the port, update BOTH config.json and the systemd service Environment, or `verify-proxy.sh` hits the wrong port.\n\n7. **Leaking API keys.** `config.json` holds your key (chmod 600). Never screenshot/publish it. The bridge's install output masks secrets (\"secrets updated: 1\"). For sharing, use placeholder keys only.\n\n8. **WSL path ≠ sandbox path.** A Windows path readable in a WSL shell may be unreadable inside Claude Science's tool sandbox. Copy data into `~/.claude-science/artifacts/` for reliability.\n\n## Verification Checklist\n\n- [ ] `claude-science --version` prints 0.1.x\n- [ ] `curl -sS http://127.0.0.1:9876/health` → `\"status\":\"ok\"`, `custom_configured:true`\n- [ ] `~/claude-science-api-bridge/.venv/bin/python ~/claude-science-api-bridge/setup-token.py` → \"Encrypted OAuth token successfully\"\n- [ ] `patch-daemon-auth.sh` → \"Patched N OAuth URL occurrence(s)\" + \"executable check passed\"\n- [ ] `curl -sS http://127.0.0.1:9876/v1/messages -H 'content-type: application/json' -d '{\"model\":\"claude-sonnet-4-5\",\"max_tokens\":256,\"messages\":[{\"role\":\"user\",\"content\":\"Say OK\"}]}'` → 200 + valid Anthropic response\n- [ ] `PYTHON=.venv/bin/python PROXY_PORT=9876 ./scripts/verify-proxy.sh` → \"proxy verification passed\"\n- [ ] Browser opens nonce URL → click \"Sign in\" → app loads (title \"Claude Science\", account \"byok@localhost\")\n\n## Files in this skill\n\n- `scripts/install-claude-science.sh` — download + SHA256-verify + install the binary\n- `scripts/cs-start.sh` — one-click launcher (bridge check, patch re-apply, token refresh, start)\n- `references/providers.md` — ready-made configs for Volcengine / DeepSeek / Kimi / Zhipu / OpenAI / Ollama / vLLM\n- `patches/volcengine-v3-url-fix.patch` — fix /v3 URL normalization for Volcengine OpenAI mode\n"}}}} |