[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MadAppGang--claudish":3,"tool-MadAppGang--claudish":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":76,"owner_twitter":75,"owner_website":77,"owner_url":78,"languages":79,"stars":112,"forks":113,"last_commit_at":114,"license":75,"difficulty_score":32,"env_os":115,"env_gpu":116,"env_ram":117,"env_deps":118,"category_tags":125,"github_topics":126,"view_count":10,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":130,"updated_at":131,"faqs":132,"releases":166},1642,"MadAppGang\u002Fclaudish","claudish","Claude Code. Any Model. The most powerful AI coding agent now speaks every language.","Claudish 是一款命令行工具，旨在让开发者能够使用任意 AI 模型来运行强大的 Claude Code 编程助手。它通过在本机搭建一个兼容 Anthropic API 的代理服务，巧妙地将用户已有的 AI 订阅（如 Gemini Advanced、ChatGPT Plus、Kimi、GLM 等）或本地部署的开源模型（如 Ollama、LM Studio）接入 Claude Code 的工作流中。\n\n这一工具主要解决了用户无需为特定模型重复付费的问题，实现了“自带密钥”（BYOK）的灵活模式。用户不仅可以统一管理多个平台的订阅以降低成本，还能在完全离线的环境下利用本地模型处理敏感代码，确保数据隐私安全。\n\nClaudish 特别适合希望提升编码效率且对成本敏感的软件开发者、技术研究人员以及注重数据隐私的企业团队。其技术亮点包括支持超过 580 种模型的智能路由、自动识别主流模型名称、实时流式输出以及与原生 Claude Code 协议的高度兼容。无论是云端大模型还是本地轻量级模型，Claudish 都能让用户在熟悉的终端环境中自由切换，享受无缝的 AI 编程体验。","\u003Cdiv align=\"center\">\n\n# 🔮 Claudish\n\n### Claude Code. Any Model.\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fclaudish.svg?style=flat-square&color=00D4AA)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fclaudish)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg?style=flat-square)](LICENSE)\n[![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude_Code-Compatible-d97757?style=flat-square)](https:\u002F\u002Fclaude.ai\u002Fclaude-code)\n\n**Use your existing AI subscriptions with Claude Code.** Works with Anthropic Max, Gemini Advanced, ChatGPT Plus\u002FCodex, Kimi, GLM, OllamaCloud — plus 580+ models via OpenRouter and local models for complete privacy.\n\n[Website](https:\u002F\u002Fclaudish.com) · [Documentation](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fblob\u002Fmain\u002Fdocs\u002Findex.md) · [Report Bug](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues)\n\n\u003C\u002Fdiv>\n\n---\n\n**Claudish** (Claude-ish) is a CLI tool that allows you to run Claude Code with any AI model by proxying requests through a local Anthropic API-compatible server.\n\n**Supported Providers:**\n- **Cloud:** OpenRouter (580+ models), Google Gemini, OpenAI, MiniMax, Kimi, GLM, Z.AI, OllamaCloud, OpenCode Zen\n- **Local:** Ollama, LM Studio, vLLM, MLX\n- **Enterprise:** Vertex AI (Google Cloud)\n\n## Use Your Existing AI Subscriptions\n\n**Stop paying for multiple AI subscriptions.** Claudish lets you use subscriptions you already have with Claude Code's powerful interface:\n\n| Your Subscription | Command |\n|-------------------|---------|\n| **Anthropic Max** | Native support (just use `claude`) |\n| **Gemini Advanced** | `claudish --model g@gemini-3-pro-preview` |\n| **ChatGPT Plus\u002FCodex** | `claudish --model oai@gpt-5.3` or `oai@gpt-5.3-codex` |\n| **Kimi** | `claudish --model kimi@kimi-k2.5` |\n| **GLM** | `claudish --model glm@GLM-4.7` |\n| **MiniMax** | `claudish --model mm@minimax-m2.1` |\n| **OllamaCloud** | `claudish --model oc@qwen3-next` |\n| **OpenCode Zen Go** | `claudish --model zgo@glm-5` |\n\n**100% Offline Option — Your code never leaves your machine:**\n```bash\nclaudish --model ollama@qwen3-coder:latest \"your task\"\n```\n\n## Bring Your Own Key (BYOK)\n\nClaudish is a **BYOK AI coding assistant**:\n- ✅ Use API keys you already have\n- ✅ No additional subscription fees\n- ✅ Full cost control — pay only for what you use\n- ✅ Works with any provider\n- ✅ Switch models mid-session\n\n## Features\n\n- ✅ **Multi-provider support** - OpenRouter, Gemini, Vertex AI, OpenAI, OllamaCloud, and local models\n- ✅ **New routing syntax** - Use `provider@model[:concurrency]` for explicit routing (e.g., `google@gemini-2.0-flash`)\n- ✅ **Native auto-detection** - Models like `gpt-4o`, `gemini-2.0-flash`, `llama-3.1-70b` route to their native APIs automatically\n- ✅ **Direct API access** - Google, OpenAI, MiniMax, Kimi, GLM, Z.AI, OllamaCloud, Poe with direct billing\n- ✅ **Vertex AI Model Garden** - Access Google + partner models (MiniMax, Mistral, DeepSeek, Qwen, OpenAI OSS)\n- ✅ **Local model support** - Ollama, LM Studio, vLLM, MLX with `ollama@`, `lmstudio@` syntax and concurrency control\n- ✅ **Cross-platform** - Works with both Node.js and Bun (v1.3.0+)\n- ✅ **Universal compatibility** - Use with `npx` or `bunx` - no installation required\n- ✅ **Interactive setup** - Prompts for API key and model if not provided (zero config!)\n- ✅ **Monitor mode** - Proxy to real Anthropic API and log all traffic (for debugging)\n- ✅ **Protocol compliance** - 1:1 compatibility with Claude Code communication protocol\n- ✅ **Headless mode** - Automatic print mode for non-interactive execution\n- ✅ **Quiet mode** - Clean output by default (no log pollution)\n- ✅ **JSON output** - Structured data for tool integration\n- ✅ **Real-time streaming** - See Claude Code output as it happens\n- ✅ **Parallel runs** - Each instance gets isolated proxy\n- ✅ **Autonomous mode** - Bypass all prompts with flags\n- ✅ **Context inheritance** - Runs in current directory with same `.claude` settings\n- ✅ **Claude Code flag passthrough** - Forward any Claude Code flag (`--agent`, `--effort`, `--permission-mode`, etc.) in any order\n- ✅ **Vision proxy** - Non-vision models automatically get image descriptions via Claude, so every model can \"see\"\n\n## Installation\n\n### Quick Install\n\n```bash\n# Shell script (Linux\u002FmacOS)\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FMadAppGang\u002Fclaudish\u002Fmain\u002Finstall.sh | bash\n\n# Homebrew (macOS)\nbrew tap MadAppGang\u002Ftap && brew install claudish\n\n# npm\nnpm install -g claudish\n\n# Bun\nbun install -g claudish\n```\n\n### Prerequisites\n\n- [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code) - Claude CLI must be installed\n- At least one API key:\n  - [OpenRouter API Key](https:\u002F\u002Fopenrouter.ai\u002Fkeys) - Access 100+ models (free tier available)\n  - [Google Gemini API Key](https:\u002F\u002Faistudio.google.com\u002Fapikey) - For direct Gemini access\n  - [OpenAI API Key](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys) - For direct OpenAI access\n  - [OllamaCloud API Key](https:\u002F\u002Follama.com\u002Faccount) - For cloud-hosted Ollama models (`oc\u002F` prefix)\n  - Or local models (Ollama, LM Studio) - No API key needed\n\n### Other Install Options\n\n**Use without installing:**\n\n```bash\nnpx claudish@latest --model x-ai\u002Fgrok-code-fast-1 \"your prompt\"\nbunx claudish@latest --model x-ai\u002Fgrok-code-fast-1 \"your prompt\"\n```\n\n**Install from source:**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish.git\ncd claudish\nbun install && bun run build && bun link\n```\n\n## Quick Start\n\n### Step 0: Initialize Claudish Skill (First Time Only)\n\n```bash\n# Navigate to your project directory\ncd \u002Fpath\u002Fto\u002Fyour\u002Fproject\n\n# Install Claudish skill for automatic best practices\nclaudish --init\n\n# Reload Claude Code to discover the skill\n```\n\n**What this does:**\n- ✅ Installs Claudish usage skill in `.claude\u002Fskills\u002Fclaudish-usage\u002F`\n- ✅ Enables automatic sub-agent delegation\n- ✅ Enforces file-based instruction patterns\n- ✅ Prevents context window pollution\n\n**After running --init**, Claude will automatically:\n- Use sub-agents when you mention external models (Grok, GPT-5, etc.)\n- Follow best practices for Claudish usage\n- Suggest specialized agents for different tasks\n\n### Option 1: Interactive Mode (Easiest)\n\n```bash\n# Just run it - will prompt for API key and model\nclaudish\n\n# Enter your OpenRouter API key when prompted\n# Select a model from the list\n# Start coding!\n```\n\n### Option 2: With Environment Variables\n\n```bash\n# Set up environment\nexport OPENROUTER_API_KEY=sk-or-v1-...     # For OpenRouter models\nexport GEMINI_API_KEY=...                   # For direct Google API\nexport OPENAI_API_KEY=sk-...                # For direct OpenAI API\nexport ANTHROPIC_API_KEY=sk-ant-api03-placeholder  # Required placeholder\n\n# Run with auto-detected model\nclaudish --model gpt-4o \"implement user authentication\"     # → OpenAI\nclaudish --model gemini-2.0-flash \"add tests\"               # → Google\n\n# Or with explicit provider\nclaudish --model openrouter@anthropic\u002Fclaude-3.5-sonnet \"review code\"\n```\n\n**Note:** In interactive mode, if `OPENROUTER_API_KEY` is not set, you'll be prompted to enter it. This makes first-time usage super simple!\n\n## AI Agent Usage\n\n**For AI agents running within Claude Code:** Use the dedicated AI agent guide for comprehensive instructions on file-based patterns and sub-agent delegation.\n\n```bash\n# Print complete AI agent usage guide\nclaudish --help-ai\n\n# Save guide to file for reference\nclaudish --help-ai > claudish-agent-guide.md\n```\n\n**Quick Reference for AI Agents:**\n\n### Main Workflow for AI Agents\n\n1. **Get available models:**\n   ```bash\n   # List all models or search\n   claudish --models\n   claudish --models gemini\n\n   # Get top recommended models (JSON)\n   claudish --top-models --json\n   ```\n\n2. **Run Claudish through sub-agent** (recommended pattern):\n   ```typescript\n   \u002F\u002F Don't run Claudish directly in main conversation\n   \u002F\u002F Use Task tool to delegate to sub-agent\n   const result = await Task({\n     subagent_type: \"general-purpose\",\n     description: \"Implement feature with Grok\",\n     prompt: `\n   Use Claudish to implement feature with Grok model.\n\n   STEPS:\n   1. Create instruction file: \u002Ftmp\u002Fclaudish-task-${Date.now()}.md\n   2. Write feature requirements to file\n   3. Run: claudish --model x-ai\u002Fgrok-code-fast-1 --stdin \u003C \u002Ftmp\u002Fclaudish-task-*.md\n   4. Read result and return ONLY summary (2-3 sentences)\n\n   DO NOT return full implementation. Keep response under 300 tokens.\n     `\n   });\n   ```\n\n3. **File-based instruction pattern** (avoids context pollution):\n   ```typescript\n   \u002F\u002F Write instructions to file\n   const instructionFile = `\u002Ftmp\u002Fclaudish-task-${Date.now()}.md`;\n   const resultFile = `\u002Ftmp\u002Fclaudish-result-${Date.now()}.md`;\n\n   await Write({ file_path: instructionFile, content: `\n   # Task\n   Your task description here\n\n   # Output\n   Write results to: ${resultFile}\n   ` });\n\n   \u002F\u002F Run Claudish with stdin\n   await Bash(`claudish --model x-ai\u002Fgrok-code-fast-1 --stdin \u003C ${instructionFile}`);\n\n   \u002F\u002F Read result\n   const result = await Read({ file_path: resultFile });\n\n   \u002F\u002F Return summary only\n   return extractSummary(result);\n   ```\n\n**Key Principles:**\n- ✅ Use file-based patterns to avoid context window pollution\n- ✅ Delegate to sub-agents instead of running directly\n- ✅ Return summaries only (not full conversation transcripts)\n- ✅ Choose appropriate model for task (see `--models` or `--top-models`)\n\n**Resources:**\n- Full AI agent guide: `claudish --help-ai`\n- Skill document: `skills\u002Fclaudish-usage\u002FSKILL.md` (in repository root)\n- Model integration: `skills\u002Fclaudish-integration\u002FSKILL.md` (in repository root)\n\n## Usage\n\n### Basic Syntax\n\n```bash\nclaudish [OPTIONS] \u003Cclaude-args...>\n```\n\n### Options\n\n> For the exhaustive reference with all details, see [Settings Reference](docs\u002Fsettings-reference.md).\n\n| Flag | Short | Description | Default |\n|------|-------|-------------|---------|\n| `--model \u003Cmodel>` | `-m` | Model to use (`provider@model` syntax) | Interactive selector |\n| `--model-opus \u003Cmodel>` | | Model for Opus role (planning, complex tasks) | |\n| `--model-sonnet \u003Cmodel>` | | Model for Sonnet role (default coding) | |\n| `--model-haiku \u003Cmodel>` | | Model for Haiku role (fast tasks) | |\n| `--model-subagent \u003Cmodel>` | | Model for sub-agents (Task tool) | |\n| `--profile \u003Cname>` | `-p` | Named profile for model mapping | Default profile |\n| `--interactive` | `-i` | Interactive mode (persistent session) | Auto when no prompt |\n| `--auto-approve` | `-y` | Skip permission prompts | `false` |\n| `--no-auto-approve` | | Explicitly enable permission prompts | |\n| `--dangerous` | | Pass `--dangerouslyDisableSandbox` | `false` |\n| `--port \u003Cport>` | | Proxy server port | Random (3000-9000) |\n| `--debug` | `-d` | Enable debug logging to `logs\u002F` | `false` |\n| `--log-level \u003Clevel>` | | Log verbosity: `debug`, `info`, `minimal` | `info` |\n| `--quiet` | `-q` | Suppress `[claudish]` messages | Default in single-shot |\n| `--verbose` | `-v` | Show `[claudish]` messages | Default in interactive |\n| `--json` | | JSON output for tool integration (implies `--quiet`) | `false` |\n| `--stdin` | | Read prompt from stdin | `false` |\n| `--free` | | Show only free models in selector | `false` |\n| `--monitor` | | Proxy to real Anthropic API and log traffic | `false` |\n| `--summarize-tools` | | Summarize tool descriptions (for local models) | `false` |\n| `--cost-tracker` | | Enable cost tracking (enables monitor mode) | `false` |\n| `--audit-costs` | | Show cost analysis report | |\n| `--reset-costs` | | Reset accumulated cost statistics | |\n| `--models [query]` | `-s` | List all models or fuzzy search | |\n| `--top-models` | | Show curated recommended models | |\n| `--force-update` | | Force refresh model cache | |\n| `--init` | | Install Claudish skill in current project | |\n| `--mcp` | | Run as MCP server | |\n| `--gemini-login` | | Login to Gemini Code Assist via OAuth | |\n| `--gemini-logout` | | Clear Gemini OAuth credentials | |\n| `--kimi-login` | | Login to Kimi via OAuth | |\n| `--kimi-logout` | | Clear Kimi OAuth credentials | |\n| `--help-ai` | | Show AI agent usage guide | |\n| `--version` | | Show version | |\n| `--help` | `-h` | Show help message | |\n| `--` | | Everything after passes to Claude Code | |\n\n**Flag passthrough**: Any unrecognized flag is automatically forwarded to Claude Code (e.g., `--agent`, `--effort`, `--permission-mode`).\n\n### Environment Variables\n\nClaudish automatically loads `.env` from the current directory at startup. For the full list, see [Settings Reference](docs\u002Fsettings-reference.md).\n\n#### API Keys (at least one required for cloud models)\n\n| Variable | Provider | Aliases |\n|----------|----------|---------|\n| `OPENROUTER_API_KEY` | OpenRouter (default backend, 580+ models) | |\n| `GEMINI_API_KEY` | Google Gemini (`g@`, `google@`) | |\n| `OPENAI_API_KEY` | OpenAI (`oai@`) | |\n| `MINIMAX_API_KEY` | MiniMax (`mm@`, `mmax@`) | |\n| `MINIMAX_CODING_API_KEY` | MiniMax Coding Plan (`mmc@`) | |\n| `MOONSHOT_API_KEY` | Kimi\u002FMoonshot (`kimi@`) | `KIMI_API_KEY` |\n| `KIMI_CODING_API_KEY` | Kimi Coding Plan (`kc@`) | Or OAuth via `--kimi-login` |\n| `ZHIPU_API_KEY` | GLM\u002FZhipu (`glm@`) | `GLM_API_KEY` |\n| `GLM_CODING_API_KEY` | GLM Coding Plan (`gc@`) | `ZAI_CODING_API_KEY` |\n| `ZAI_API_KEY` | Z.AI (`zai@`) | |\n| `OLLAMA_API_KEY` | OllamaCloud (`oc@`) | |\n| `OPENCODE_API_KEY` | OpenCode Zen (`zen@`) — optional for free models | |\n| `LITELLM_API_KEY` | LiteLLM (`ll@`) — requires `LITELLM_BASE_URL` | |\n| `POE_API_KEY` | Poe (`poe@`) | |\n| `VERTEX_API_KEY` | Vertex AI Express (`v@`) | |\n| `VERTEX_PROJECT` | Vertex AI OAuth mode (`v@`) | `GOOGLE_CLOUD_PROJECT` |\n| `ANTHROPIC_API_KEY` | Placeholder (suppresses Claude Code dialog) | |\n\n#### Claudish Settings\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `CLAUDISH_MODEL` | Default model (overrides `ANTHROPIC_MODEL`) | Interactive selector |\n| `CLAUDISH_PORT` | Default proxy port | Random (3000-9000) |\n| `CLAUDISH_CONTEXT_WINDOW` | Override context window size (local models) | Auto-detected |\n| `CLAUDISH_MODEL_OPUS` | Model for Opus role | |\n| `CLAUDISH_MODEL_SONNET` | Model for Sonnet role | |\n| `CLAUDISH_MODEL_HAIKU` | Model for Haiku role | |\n| `CLAUDISH_MODEL_SUBAGENT` | Model for sub-agents | |\n| `CLAUDISH_SUMMARIZE_TOOLS` | Summarize tool descriptions (`true`\u002F`1`) | `false` |\n| `CLAUDISH_TELEMETRY` | Override telemetry (`0`\u002F`false`\u002F`off` to disable) | From config |\n| `CLAUDISH_LOCAL_MAX_PARALLEL` | Max concurrent local model requests (1-8) | `1` |\n| `CLAUDISH_LOCAL_QUEUE_ENABLED` | Enable\u002Fdisable local model queue | `true` |\n| `CLAUDISH_QWEN_NO_THINK` | Disable thinking for Qwen models (`1`) | |\n\n#### Claude Code Compatibility\n\n| Variable | Description |\n|----------|-------------|\n| `ANTHROPIC_MODEL` | Fallback for `CLAUDISH_MODEL` |\n| `ANTHROPIC_DEFAULT_OPUS_MODEL` | Fallback for `CLAUDISH_MODEL_OPUS` |\n| `ANTHROPIC_DEFAULT_SONNET_MODEL` | Fallback for `CLAUDISH_MODEL_SONNET` |\n| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | Fallback for `CLAUDISH_MODEL_HAIKU` |\n| `CLAUDE_CODE_SUBAGENT_MODEL` | Fallback for `CLAUDISH_MODEL_SUBAGENT` |\n| `CLAUDE_PATH` | Custom path to Claude Code binary |\n\n#### Custom Endpoints\n\n| Variable | Provider | Default |\n|----------|----------|---------|\n| `GEMINI_BASE_URL` | Gemini API | `https:\u002F\u002Fgenerativelanguage.googleapis.com` |\n| `OPENAI_BASE_URL` | OpenAI\u002FAzure | `https:\u002F\u002Fapi.openai.com` |\n| `MINIMAX_BASE_URL` | MiniMax | `https:\u002F\u002Fapi.minimax.io` |\n| `MOONSHOT_BASE_URL` | Kimi\u002FMoonshot | `https:\u002F\u002Fapi.moonshot.ai` |\n| `ZHIPU_BASE_URL` | GLM\u002FZhipu | `https:\u002F\u002Fopen.bigmodel.cn` |\n| `ZAI_BASE_URL` | Z.AI | `https:\u002F\u002Fapi.z.ai` |\n| `OLLAMACLOUD_BASE_URL` | OllamaCloud | `https:\u002F\u002Follama.com` |\n| `OPENCODE_BASE_URL` | OpenCode Zen | `https:\u002F\u002Fopencode.ai\u002Fzen` |\n| `LITELLM_BASE_URL` | LiteLLM proxy server | _(required with LITELLM_API_KEY)_ |\n| `OLLAMA_BASE_URL` | Ollama (local) | `http:\u002F\u002Flocalhost:11434` |\n| `OLLAMA_HOST` | Alias for `OLLAMA_BASE_URL` | |\n| `LMSTUDIO_BASE_URL` | LM Studio (local) | `http:\u002F\u002Flocalhost:1234` |\n| `VLLM_BASE_URL` | vLLM (local) | `http:\u002F\u002Flocalhost:8000` |\n| `MLX_BASE_URL` | MLX (local) | `http:\u002F\u002F127.0.0.1:8080` |\n\n**Priority order**: CLI flags > `CLAUDISH_*` env vars > `ANTHROPIC_*` env vars > profile config > interactive selector.\n\n**Important Notes:**\n- Set `ANTHROPIC_API_KEY=sk-ant-api03-placeholder` (or any value) to suppress the Claude Code login dialog\n- In interactive mode, if no API key is set, you'll be prompted to enter one\n\n### Configuration Files\n\nClaudish uses a two-scope configuration system:\n\n| File | Scope | Purpose |\n|------|-------|---------|\n| `~\u002F.claudish\u002Fconfig.json` | Global | Profiles, telemetry, routing rules (shared across projects) |\n| `.claudish.json` | Local | Project-specific profiles and routing rules (overrides global) |\n| `.env` | Local | Environment variables (auto-loaded at startup) |\n\n**Profile configuration** (`~\u002F.claudish\u002Fconfig.json`):\n\n```json\n{\n  \"version\": \"1.0.0\",\n  \"defaultProfile\": \"default\",\n  \"profiles\": {\n    \"default\": {\n      \"name\": \"default\",\n      \"models\": {\n        \"opus\": \"oai@gpt-5.3\",\n        \"sonnet\": \"google@gemini-3-pro\",\n        \"haiku\": \"mm@MiniMax-M2.1\",\n        \"subagent\": \"google@gemini-2.0-flash\"\n      }\n    }\n  },\n  \"routing\": {\n    \"kimi-*\": [\"kc\", \"kimi\", \"openrouter\"],\n    \"glm-*\": [\"gc\", \"glm\"],\n    \"*\": [\"litellm\", \"openrouter\"]\n  }\n}\n```\n\n**Custom routing rules** map model name patterns to ordered provider fallback chains. Patterns support exact names, globs (`kimi-*`), and `*` catch-all. Local `.claudish.json` routing rules **replace** global rules entirely.\n\nManage profiles with:\n\n```bash\nclaudish init [--local|--global]            # Setup wizard\nclaudish profile list [--local|--global]    # List profiles\nclaudish profile add [--local|--global]     # Add profile\nclaudish profile use \u003Cname>                 # Set default\nclaudish profile edit \u003Cname>                # Edit profile\n```\n\nFor the complete configuration reference, see [Settings Reference](docs\u002Fsettings-reference.md).\n\n## Model Routing (v4.0.0+)\n\nClaudish uses **`provider@model[:concurrency]`** syntax for explicit routing, plus **smart auto-detection** for native providers:\n\n### New Syntax: `provider@model[:concurrency]`\n\n```bash\n# Explicit provider routing\nclaudish --model google@gemini-2.0-flash \"quick task\"\nclaudish --model openrouter@deepseek\u002Fdeepseek-r1 \"analysis\"\nclaudish --model oai@gpt-4o \"implement feature\"\nclaudish --model ollama@llama3.2:3 \"code review\"  # 3 concurrent requests\n```\n\n### Provider Shortcuts\n\n| Shortcut | Provider | API Key | Example |\n|----------|----------|---------|---------|\n| `g@`, `google@` | Google Gemini | `GEMINI_API_KEY` | `g@gemini-2.0-flash` |\n| `oai@` | OpenAI Direct | `OPENAI_API_KEY` | `oai@gpt-4o` |\n| `or@`, `openrouter@` | OpenRouter | `OPENROUTER_API_KEY` | `or@deepseek\u002Fdeepseek-r1` |\n| `mm@`, `mmax@` | MiniMax Direct | `MINIMAX_API_KEY` | `mm@MiniMax-M2.1` |\n| `kimi@`, `moon@` | Kimi Direct | `MOONSHOT_API_KEY` | `kimi@kimi-k2` |\n| `glm@`, `zhipu@` | GLM Direct | `ZHIPU_API_KEY` | `glm@glm-4` |\n| `zai@` | Z.AI Direct | `ZAI_API_KEY` | `zai@glm-4` |\n| `llama@`, `lc@`, `meta@` | OllamaCloud | `OLLAMA_API_KEY` | `llama@llama-3.1-70b` |\n| `oc@` | OllamaCloud | `OLLAMA_API_KEY` | `oc@llama-3.1-70b` |\n| `zen@` | OpenCode Zen (free\u002Fpaid) | `OPENCODE_API_KEY` _(optional)_ | `zen@gpt-5-nano` |\n| `zgo@`, `zengo@` | OpenCode Zen Go plan | `OPENCODE_API_KEY` | `zgo@glm-5` |\n| `v@`, `vertex@` | Vertex AI | `VERTEX_API_KEY` | `v@gemini-2.5-flash` |\n| `go@` | Gemini CodeAssist | _(OAuth)_ | `go@gemini-2.5-flash` |\n| `poe@` | Poe | `POE_API_KEY` | `poe@GPT-4o` |\n| `ollama@` | Ollama (local) | _(none)_ | `ollama@llama3.2` |\n| `lms@`, `lmstudio@` | LM Studio (local) | _(none)_ | `lms@qwen2.5-coder` |\n| `vllm@` | vLLM (local) | _(none)_ | `vllm@mistral-7b` |\n| `mlx@` | MLX (local) | _(none)_ | `mlx@llama-3.2-3b` |\n\n### Native Model Auto-Detection\n\nWhen no provider is specified, Claudish auto-detects from model name:\n\n| Model Pattern | Routes To | Example |\n|---------------|-----------|---------|\n| `gemini-*`, `google\u002F*` | Google Gemini | `gemini-2.0-flash` |\n| `gpt-*`, `o1-*`, `o3-*` | OpenAI Direct | `gpt-4o` |\n| `llama-*`, `meta-llama\u002F*` | OllamaCloud | `llama-3.1-70b` |\n| `abab-*`, `minimax\u002F*` | MiniMax Direct | `abab-6.5` |\n| `kimi-*`, `moonshot-*` | Kimi Direct | `kimi-k2` |\n| `glm-*`, `zhipu\u002F*` | GLM Direct | `glm-4` |\n| `poe:*` | Poe | `poe:GPT-4o` |\n| `claude-*`, `anthropic\u002F*` | Native Anthropic | `claude-sonnet-4` |\n| **Unknown `vendor\u002Fmodel`** | **Error** | Use `openrouter@vendor\u002Fmodel` |\n\n### Examples\n\n```bash\n# Auto-detected native routing (no prefix needed!)\nclaudish --model gemini-2.0-flash \"quick task\"      # → Google API\nclaudish --model gpt-4o \"implement feature\"          # → OpenAI API\nclaudish --model llama-3.1-70b \"code review\"         # → OllamaCloud\n\n# Explicit provider routing\nclaudish --model google@gemini-2.5-pro \"complex analysis\"\nclaudish --model oai@o1 \"complex reasoning\"\nclaudish --model openrouter@deepseek\u002Fdeepseek-r1 \"deep analysis\"\n\n# OllamaCloud - cloud-hosted Llama models\nclaudish --model llama@llama-3.1-70b \"code review\"\nclaudish --model oc@llama-3.2-vision \"analyze image\"\n\n# Vertex AI - Google Cloud\nVERTEX_API_KEY=... claudish --model v@gemini-2.5-flash \"task\"\nVERTEX_PROJECT=my-project claudish --model vertex@gemini-2.5-flash \"OAuth mode\"\n\n# Local models with concurrency control\nclaudish --model ollama@llama3.2:3 \"review\"     # 3 concurrent requests\nclaudish --model ollama@llama3.2:0 \"fast\"       # No limit (bypass queue)\n\n# Unknown vendors require explicit OpenRouter\nclaudish --model openrouter@qwen\u002Fqwen-2.5 \"task\"\nclaudish --model or@mistralai\u002Fmistral-large \"analysis\"\n```\n\n### Legacy Syntax (Deprecated)\n\nThe old `prefix\u002Fmodel` syntax still works but shows deprecation warnings:\n\n```bash\n# Old (deprecated)          →  New (recommended)\nclaudish --model g\u002Fgemini-pro     →  claudish --model g@gemini-pro\nclaudish --model oai\u002Fgpt-4o       →  claudish --model oai@gpt-4o\nclaudish --model ollama\u002Fllama3.2  →  claudish --model ollama@llama3.2\n```\n\n## Curated Models\n\nTop recommended models for development (v3.1.1):\n\n| Model | Provider | Best For |\n|-------|----------|----------|\n| `openai\u002Fgpt-5.3` | OpenAI | **Default** - Most advanced reasoning |\n| `minimax\u002Fminimax-m2.1` | MiniMax | Budget-friendly, fast |\n| `z-ai\u002Fglm-4.7` | Z.AI | Balanced performance |\n| `google\u002Fgemini-3-pro-preview` | Google | 1M context window |\n| `moonshotai\u002Fkimi-k2-thinking` | MoonShot | Extended reasoning |\n| `deepseek\u002Fdeepseek-v3.2` | DeepSeek | Code specialist |\n| `qwen\u002Fqwen3-vl-235b-a22b-thinking` | Alibaba | Vision + reasoning |\n\n**Vertex AI Partner Models (MaaS - Google Cloud billing):**\n\n| Model | Provider | Best For |\n|-------|----------|----------|\n| `vertex\u002Fminimax\u002Fminimax-m2-maas` | MiniMax | Fast, budget-friendly |\n| `vertex\u002Fmistralai\u002Fcodestral-2` | Mistral | Code specialist |\n| `vertex\u002Fdeepseek\u002Fdeepseek-v3-2-maas` | DeepSeek | Deep reasoning |\n| `vertex\u002Fqwen\u002Fqwen3-coder-480b-a35b-instruct-maas` | Qwen | Agentic coding |\n| `vertex\u002Fopenai\u002Fgpt-oss-120b-maas` | OpenAI | Open-weight reasoning |\n\nList all models:\n\n```bash\nclaudish --models              # List all OpenRouter models\nclaudish --models gemini       # Search for specific models\nclaudish --top-models          # Show curated recommendations\n```\n\n## Claude Code Flag Passthrough (NEW in v5.3.0)\n\nClaudish forwards all unrecognized flags directly to Claude Code. This means any Claude Code flag works with claudish — no wrapper needed:\n\n```bash\n# Use Claude Code agents\nclaudish --model grok --agent code-review \"review auth system\"\n\n# Control effort and permissions\nclaudish --model grok --effort high --permission-mode plan \"design API\"\n\n# Set budget caps\nclaudish --model grok --max-budget-usd 0.50 \"quick fix\"\n\n# Custom system prompts\nclaudish --model grok --append-system-prompt \"Always respond in JSON\" \"list files\"\n\n# Restrict available tools\nclaudish --model grok --allowedTools \"Read,Grep\" \"search for auth bugs\"\n```\n\nClaudish flags (`--model`, `--stdin`, `--quiet`, `-y`, etc.) can appear in **any order** — they are always recognized regardless of position.\n\nUse `--` when a Claude Code flag value starts with `-`:\n```bash\nclaudish --model grok -- --system-prompt \"-verbose logging\" \"task\"\n```\n\n## Vision Proxy (NEW in v5.1.0)\n\n**Every model can now \"see\" images** — even models without native vision support.\n\nWhen you send an image to a non-vision model (like local Ollama models), Claudish automatically:\n\n1. Detects that the model cannot process images\n2. Sends each image to the Anthropic API (Claude Sonnet) for a rich description\n3. Replaces the image block with `[Image Description: ...]` text\n4. Forwards the enriched message to the target model\n\n```\nClaude Code → image + \"what's in this?\" → Claudish\n                                             ↓\n                              ┌──────────────────────────────┐\n                              │ Model supports vision?       │\n                              │  YES → pass image through    │\n                              │  NO  → describe via Claude → │\n                              │        replace with text     │\n                              └──────────────────────────────┘\n                                             ↓\n                                      Target Model\n```\n\n**How it works:**\n- Uses your existing `x-api-key` from Claude Code (no extra configuration)\n- Each image is described in parallel (fast even with multiple images)\n- 30-second timeout per image with graceful fallback to stripping\n- Descriptions include text content, layout, colors, code, diagrams, and UI elements\n\n**Example:**\n\n```bash\n# Local Ollama model (no vision) — images are automatically described\nclaudish --model ollama@llama3.2 \"what's in this screenshot?\"\n\n# Vision-capable model — images pass through unchanged\nclaudish --model g@gemini-2.5-flash \"what's in this screenshot?\"\n```\n\n**Fallback behavior:** If the vision proxy fails (network error, timeout, API issue), Claudish falls back to stripping images — the request still goes through, just without image context.\n\n## Status Line Display\n\nClaudish automatically shows critical information in the Claude Code status bar - **no setup required!**\n\n**Ultra-Compact Format:** `directory • model-id • $cost • ctx%`\n\n**Visual Design:**\n- 🔵 **Directory** (bright cyan, bold) - Where you are\n- 🟡 **Model ID** (bright yellow) - Actual OpenRouter model ID\n- 🟢 **Cost** (bright green) - Real-time session cost from OpenRouter\n- 🟣 **Context** (bright magenta) - % of context window remaining\n- ⚪ **Separators** (dim) - Visual dividers\n\n**Examples:**\n- `claudish • x-ai\u002Fgrok-code-fast-1 • $0.003 • 95%` - Using Grok, $0.003 spent, 95% context left\n- `my-project • openai\u002Fgpt-5-codex • $0.12 • 67%` - Using GPT-5, $0.12 spent, 67% context left\n- `backend • minimax\u002Fminimax-m2 • $0.05 • 82%` - Using MiniMax M2, $0.05 spent, 82% left\n- `test • openrouter\u002Fauto • $0.01 • 90%` - Using any custom model, $0.01 spent, 90% left\n\n**Critical Tracking (Live Updates):**\n- 💰 **Cost tracking** - Real-time USD from Claude Code session data\n- 📊 **Context monitoring** - Percentage of model's context window remaining\n- ⚡ **Performance optimized** - Ultra-compact to fit with thinking mode UI\n\n**Thinking Mode Optimized:**\n- ✅ **Ultra-compact** - Directory limited to 15 chars (leaves room for everything)\n- ✅ **Critical first** - Most important info (directory, model) comes first\n- ✅ **Smart truncation** - Long directories shortened with \"...\"\n- ✅ **Space reservation** - Reserves ~40 chars for Claude's thinking mode UI\n- ✅ **Color-coded** - Instant visual scanning\n- ✅ **No overflow** - Fits perfectly even with thinking mode enabled\n\n**Custom Model Support:**\n- ✅ **ANY OpenRouter model** - Not limited to shortlist (e.g., `openrouter\u002Fauto`, custom models)\n- ✅ **Actual model IDs** - Shows exact OpenRouter model ID (no translation)\n- ✅ **Context fallback** - Unknown models use 100k context window (safe default)\n- ✅ **Shortlist optimized** - Our recommended models have accurate context sizes\n- ✅ **Future-proof** - Works with new models added to OpenRouter\n\n**How it works:**\n- Each Claudish instance creates a temporary settings file with custom status line\n- Settings use `--settings` flag (doesn't modify global Claude Code config)\n- Status line uses simple bash script with ANSI colors (no external dependencies!)\n- Displays actual OpenRouter model ID from `CLAUDISH_ACTIVE_MODEL_NAME` env var\n- Context tracking uses model-specific sizes for our shortlist, 100k fallback for others\n- Temp files are automatically cleaned up when Claudish exits\n- Each instance is completely isolated - run multiple in parallel!\n\n**Per-instance isolation:**\n- ✅ Doesn't modify `~\u002F.claude\u002Fsettings.json`\n- ✅ Each instance has its own config\n- ✅ Safe to run multiple Claudish instances in parallel\n- ✅ Standard Claude Code unaffected\n- ✅ Temp files auto-cleanup on exit\n- ✅ No external dependencies (bash only, no jq!)\n\n## Examples\n\n### Basic Usage\n\n```bash\n# Simple prompt\nclaudish \"fix the bug in user.ts\"\n\n# Multi-word prompt\nclaudish \"implement user authentication with JWT tokens\"\n```\n\n### With Specific Model\n\n```bash\n# Auto-detected native routing (model name determines provider)\nclaudish --model gpt-4o \"refactor entire API layer\"           # → OpenAI\nclaudish --model gemini-2.0-flash \"quick fix\"                 # → Google\nclaudish --model llama-3.1-70b \"code review\"                  # → OllamaCloud\n\n# Explicit provider routing (new @ syntax)\nclaudish --model google@gemini-2.5-pro \"complex analysis\"\nclaudish --model oai@o1 \"deep reasoning task\"\nclaudish --model openrouter@deepseek\u002Fdeepseek-r1 \"analysis\"   # Unknown vendors need explicit OR\n\n# Local models with concurrency control\nclaudish --model ollama@llama3.2 \"code review\"\nclaudish --model ollama@llama3.2:3 \"parallel processing\"      # 3 concurrent\nclaudish --model lmstudio@qwen2.5-coder \"implement dashboard UI\"\n```\n\n### Autonomous Mode\n\nAuto-approve is **enabled by default**. For fully autonomous mode, add `--dangerous`:\n\n```bash\n# Basic usage (auto-approve already enabled)\nclaudish \"delete unused files\"\n\n# Fully autonomous (auto-approve + dangerous sandbox disabled)\nclaudish --dangerous \"install dependencies\"\n\n# Disable auto-approve if you want prompts\nclaudish --no-auto-approve \"make important changes\"\n```\n\n### Custom Port\n\n```bash\n# Use specific port\nclaudish --port 3000 \"analyze codebase\"\n\n# Or set default\nexport CLAUDISH_PORT=3000\nclaudish \"your task\"\n```\n\n### Passing Claude Flags\n\n```bash\n# Verbose mode\nclaudish \"debug issue\" --verbose\n\n# Custom working directory\nclaudish \"analyze code\" --cwd \u002Fpath\u002Fto\u002Fproject\n\n# Multiple flags\nclaudish --model openai\u002Fgpt-5.3-codex \"task\" --verbose --debug\n```\n\n### Monitor Mode\n\n**NEW!** Claudish now includes a monitor mode to help you understand how Claude Code works internally.\n\n```bash\n# Enable monitor mode (requires real Anthropic API key)\nclaudish --monitor --debug \"implement a feature\"\n```\n\n**What Monitor Mode Does:**\n- ✅ **Proxies to REAL Anthropic API** (not OpenRouter) - Uses your actual Anthropic API key\n- ✅ **Logs ALL traffic** - Captures complete requests and responses\n- ✅ **Both streaming and JSON** - Logs SSE streams and JSON responses\n- ✅ **Debug logs to file** - Saves to `logs\u002Fclaudish_*.log` when `--debug` is used\n- ✅ **Pass-through proxy** - No translation, forwards as-is to Anthropic\n\n**When to use Monitor Mode:**\n- 🔍 Understanding Claude Code's API protocol\n- 🐛 Debugging integration issues\n- 📊 Analyzing Claude Code's behavior\n- 🔬 Research and development\n\n**Requirements:**\n```bash\n# Monitor mode requires a REAL Anthropic API key (not placeholder)\nexport ANTHROPIC_API_KEY='sk-ant-api03-...'\n\n# Use with --debug to save logs to file\nclaudish --monitor --debug \"your task\"\n\n# Logs are saved to: logs\u002Fclaudish_TIMESTAMP.log\n```\n\n**Example Output:**\n```\n[Monitor] Server started on http:\u002F\u002F127.0.0.1:8765\n[Monitor] Mode: Passthrough to real Anthropic API\n[Monitor] All traffic will be logged for analysis\n\n=== [MONITOR] Claude Code → Anthropic API Request ===\n{\n  \"model\": \"claude-sonnet-4.5\",\n  \"messages\": [...],\n  \"max_tokens\": 4096,\n  ...\n}\n=== End Request ===\n\n=== [MONITOR] Anthropic API → Claude Code Response (Streaming) ===\nevent: message_start\ndata: {\"type\":\"message_start\",...}\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",...}\n...\n=== End Streaming Response ===\n```\n\n**Note:** Monitor mode charges your Anthropic account (not OpenRouter). Use `--debug` flag to save logs for analysis.\n\n### Output Modes\n\nClaudish supports three output modes for different use cases:\n\n#### 1. Quiet Mode (Default in Single-Shot)\n\nClean output with no `[claudish]` logs - perfect for piping to other tools:\n\n```bash\n# Quiet by default in single-shot\nclaudish \"what is 2+2?\"\n# Output: 2 + 2 equals 4.\n\n# Use in pipelines\nclaudish \"list 3 colors\" | grep -i blue\n\n# Redirect to file\nclaudish \"analyze code\" > analysis.txt\n```\n\n#### 2. Verbose Mode\n\nShow all `[claudish]` log messages for debugging:\n\n```bash\n# Verbose mode\nclaudish --verbose \"what is 2+2?\"\n# Output:\n# [claudish] Starting Claude Code with openai\u002Fgpt-4o\n# [claudish] Proxy URL: http:\u002F\u002F127.0.0.1:8797\n# [claudish] Status line: dir • openai\u002Fgpt-4o • $cost • ctx%\n# ...\n# 2 + 2 equals 4.\n# [claudish] Shutting down proxy server...\n# [claudish] Done\n\n# Interactive mode is verbose by default\nclaudish --interactive\n```\n\n#### 3. JSON Output Mode\n\nStructured output perfect for automation and tool integration:\n\n```bash\n# JSON output (always quiet)\nclaudish --json \"what is 2+2?\"\n# Output: {\"type\":\"result\",\"result\":\"2 + 2 equals 4.\",\"total_cost_usd\":0.068,\"usage\":{...}}\n\n# Extract just the result with jq\nclaudish --json \"list 3 colors\" | jq -r '.result'\n\n# Get cost and token usage\nclaudish --json \"analyze code\" | jq '{result, cost: .total_cost_usd, tokens: .usage.input_tokens}'\n\n# Use in scripts\nRESULT=$(claudish --json \"check if tests pass\" | jq -r '.result')\necho \"AI says: $RESULT\"\n\n# Track costs across multiple runs\nfor task in task1 task2 task3; do\n  claudish --json \"$task\" | jq -r '\"\\(.total_cost_usd)\"'\ndone | awk '{sum+=$1} END {print \"Total: $\"sum}'\n```\n\n**JSON Output Fields:**\n- `result` - The AI's response text\n- `total_cost_usd` - Total cost in USD\n- `usage.input_tokens` - Input tokens used\n- `usage.output_tokens` - Output tokens used\n- `duration_ms` - Total duration in milliseconds\n- `num_turns` - Number of conversation turns\n- `modelUsage` - Per-model usage breakdown\n\n## How It Works\n\n### Architecture\n\n```\nclaudish \"your prompt\"\n    ↓\n1. Parse arguments (--model, --no-auto-approve, --dangerous, etc.)\n2. Find available port (random or specified)\n3. Start local proxy on http:\u002F\u002F127.0.0.1:PORT\n4. Spawn: claude --auto-approve --env ANTHROPIC_BASE_URL=http:\u002F\u002F127.0.0.1:PORT\n5. Proxy translates: Anthropic API → OpenRouter API\n6. Stream output in real-time\n7. Cleanup proxy on exit\n```\n\n### Request Flow\n\n**Normal Mode (OpenRouter):**\n```\nClaude Code → Anthropic API format → Local Proxy → OpenRouter API format → OpenRouter\n                                         ↓\nClaude Code ← Anthropic API format ← Local Proxy ← OpenRouter API format ← OpenRouter\n```\n\n**Monitor Mode (Anthropic Passthrough):**\n```\nClaude Code → Anthropic API format → Local Proxy (logs) → Anthropic API\n                                         ↓\nClaude Code ← Anthropic API format ← Local Proxy (logs) ← Anthropic API\n```\n\n### Parallel Runs\n\nEach `claudish` invocation:\n- Gets a unique random port\n- Starts isolated proxy server\n- Runs independent Claude Code instance\n- Cleans up on exit\n\nThis allows multiple parallel runs:\n\n```bash\n# Terminal 1\nclaudish --model x-ai\u002Fgrok-code-fast-1 \"task A\"\n\n# Terminal 2\nclaudish --model openai\u002Fgpt-5.3-codex \"task B\"\n\n# Terminal 3\nclaudish --model minimax\u002Fminimax-m2 \"task C\"\n```\n\n## Extended Thinking Support\n\n**NEW in v1.1.0**: Claudish now fully supports models with extended thinking\u002Freasoning capabilities (Grok, o1, etc.) with complete Anthropic Messages API protocol compliance.\n\n### Thinking Translation Model (v1.5.0)\n\nClaudish includes a sophisticated **Thinking Translation Model** that aligns Claude Code's native thinking budget with the unique requirements of every major AI provider.\n\nWhen you set a thinking budget in Claude (e.g., `budget: 16000`), Claudish automatically translates it:\n\n| Provider | Model | Translation Logic |\n| :--- | :--- | :--- |\n| **OpenAI** | o1, o3 | Maps budget to `reasoning_effort` (minimal\u002Flow\u002Fmedium\u002Fhigh) |\n| **Google** | Gemini 3 | Maps to `thinking_level` (low\u002Fhigh) |\n| **Google** | Gemini 2.x | Passes exact `thinking_budget` (capped at 24k) |\n| **xAI** | Grok 3 Mini | Maps to `reasoning_effort` (low\u002Fhigh) |\n| **Qwen** | Qwen 2.5 | Enables `enable_thinking` + exact budget |\n| **MiniMax** | M2 | Enables `reasoning_split` (interleaved thinking) |\n| **DeepSeek** | R1 | Automatically manages reasoning (params stripped for safety) |\n\nThis ensures you can use standard Claude Code thinking controls with **ANY** supported model, without worrying about API specificities.\n\n### What is Extended Thinking?\n\nSome AI models (like Grok and OpenAI's o1) can show their internal reasoning process before providing the final answer. This \"thinking\" content helps you understand how the model arrived at its conclusion.\n\n### How Claudish Handles Thinking\n\nClaudish implements the Anthropic Messages API's `interleaved-thinking` protocol:\n\n**Thinking Blocks (Hidden):**\n- Contains model's reasoning process\n- Automatically collapsed in Claude Code UI\n- Shows \"Claude is thinking...\" indicator\n- User can expand to view reasoning\n\n**Text Blocks (Visible):**\n- Contains final response\n- Displayed normally\n- Streams incrementally\n\n### Supported Models with Thinking\n\n- ✅ **x-ai\u002Fgrok-code-fast-1** - Grok's reasoning mode\n- ✅ **openai\u002Fgpt-5-codex** - o1 reasoning (when enabled)\n- ✅ **openai\u002Fo1-preview** - Full reasoning support\n- ✅ **openai\u002Fo1-mini** - Compact reasoning\n- ⚠️ Other models may support reasoning in future\n\n### Technical Details\n\n**Streaming Protocol (V2 - Protocol Compliant):**\n```\n1. message_start\n2. content_block_start (text, index=0)      ← IMMEDIATE! (required)\n3. ping\n4. [If reasoning arrives]\n   - content_block_stop (index=0)           ← Close initial empty block\n   - content_block_start (thinking, index=1) ← Reasoning\n   - thinking_delta events × N\n   - content_block_stop (index=1)\n5. content_block_start (text, index=2)      ← Response\n6. text_delta events × M\n7. content_block_stop (index=2)\n8. message_delta + message_stop\n```\n\n**Critical:** `content_block_start` must be sent immediately after `message_start`, before `ping`. This is required by the Anthropic Messages API protocol for proper UI initialization.\n\n**Key Features:**\n- ✅ Separate thinking and text blocks (proper indices)\n- ✅ `thinking_delta` vs `text_delta` event types\n- ✅ Thinking content hidden by default\n- ✅ Smooth transitions between blocks\n- ✅ Full Claude Code UI compatibility\n\n### UX Benefits\n\n**Before (v1.0.0 - No Thinking Support):**\n- Reasoning visible as regular text\n- Confusing output with internal thoughts\n- No progress indicators\n- \"All at once\" message updates\n\n**After (v1.1.0 - Full Protocol Support):**\n- ✅ Reasoning hidden\u002Fcollapsed\n- ✅ Clean, professional output\n- ✅ \"Claude is thinking...\" indicator shown\n- ✅ Smooth incremental streaming\n- ✅ Message headers\u002Fstructure visible\n- ✅ Protocol compliant with Anthropic Messages API\n\n### Documentation\n\nFor complete protocol documentation, see:\n- [STREAMING_PROTOCOL.md](.\u002FSTREAMING_PROTOCOL.md) - Complete SSE protocol spec\n- [PROTOCOL_FIX_V2.md](.\u002FPROTOCOL_FIX_V2.md) - Critical V2 protocol fix (event ordering)\n- [COMPREHENSIVE_UX_ISSUE_ANALYSIS.md](.\u002FCOMPREHENSIVE_UX_ISSUE_ANALYSIS.md) - Technical analysis\n- [THINKING_BLOCKS_IMPLEMENTATION.md](.\u002FTHINKING_BLOCKS_IMPLEMENTATION.md) - Implementation summary\n\n## Dynamic Reasoning Support (NEW in v1.4.0)\n\n**Claudish now intelligently adapts to ANY reasoning model!**\n\nNo more hardcoded lists or manual flags. Claudish dynamically queries OpenRouter metadata to enable thinking capabilities for any model that supports them.\n\n### 🧠 Dynamic Thinking Features\n\n1.  **Auto-Detection**:\n    - Automatically checks model capabilities at startup\n    - Enables Extended Thinking UI *only* when supported\n    - Future-proof: Works instantly with new models (e.g., `deepseek-r1` or `minimax-m2`)\n\n2.  **Smart Parameter Mapping**:\n    - **Claude**: Passes token budget directly (e.g., 16k tokens)\n    - **OpenAI (o1\u002Fo3)**: Translates budget to `reasoning_effort`\n        - \"ultrathink\" (≥32k) → `high`\n        - \"think hard\" (16k-32k) → `medium`\n        - \"think\" (\u003C16k) → `low`\n    - **Gemini & Grok**: Preserves thought signatures and XML traces automatically\n\n3.  **Universal Compatibility**:\n    - Use \"ultrathink\" or \"think hard\" prompts with ANY supported model\n    - Claudish handles the translation layer for you\n\n## Context Scaling & Auto-Compaction\n\n**NEW in v1.2.0**: Claudish now intelligently manages token counting to support ANY context window size (from 128k to 2M+) while preserving Claude Code's native auto-compaction behavior.\n\n### The Challenge\n\nClaude Code naturally assumes a fixed context window (typically 200k tokens for Sonnet).\n- **Small Models (e.g., Grok 128k)**: Claude might overuse context and crash.\n- **Massive Models (e.g., Gemini 2M)**: Claude would compact way too early (at 10% usage), wasting the model's potential.\n\n### The Solution: Token Scaling\n\nClaudish implements a \"Dual-Accounting\" system:\n\n1. **Internal Scaling (For Claude):**\n   - We fetch the *real* context limit from OpenRouter (e.g., 1M tokens).\n   - We scale reported token usage so Claude *thinks* 1M tokens is 200k.\n   - **Result:** Auto-compaction triggers at the correct *percentage* of usage (e.g., 90% full), regardless of the actual limit.\n\n2. **Accurate Reporting (For You):**\n   - The status line displays the **Real Unscaled Usage** and **Real Context %**.\n   - You see specific costs and limits, while Claude remains blissfully unaware and stable.\n\n**Benefits:**\n- ✅ **Works with ANY model** size (128k, 1M, 2M, etc.)\n- ✅ **Unlocks massive context** windows (Claude Code becomes 10x more powerful with Gemini!)\n- ✅ **Prevents crashes** on smaller models (Grok)\n- ✅ **Native behavior** (compaction just works)\n\n\n## Development\n\n### Project Structure\n\n```\nmcp\u002Fclaudish\u002F\n├── src\u002F\n│   ├── index.ts              # Main entry point\n│   ├── cli.ts                # CLI argument parser\n│   ├── proxy-server.ts       # Hono-based proxy server\n│   ├── transform.ts          # API format translation (from claude-code-proxy)\n│   ├── claude-runner.ts      # Claude CLI runner (creates temp settings)\n│   ├── port-manager.ts       # Port utilities\n│   ├── config.ts             # Constants and defaults\n│   ├── types.ts              # TypeScript types\n│   └── services\u002F\n│       └── vision-proxy.ts   # Image description for non-vision models\n├── tests\u002F                    # Test files\n├── package.json\n├── tsconfig.json\n└── biome.json\n```\n\n### Proxy Implementation\n\nClaudish uses a **Hono-based proxy server** inspired by [claude-code-proxy](https:\u002F\u002Fgithub.com\u002Fkiyo-e\u002Fclaude-code-proxy):\n\n- **Framework**: [Hono](https:\u002F\u002Fhono.dev\u002F) - Fast, lightweight web framework\n- **API Translation**: Converts Anthropic API format ↔ OpenAI format\n- **Streaming**: Full support for Server-Sent Events (SSE)\n- **Tool Calling**: Handles Claude's tool_use ↔ OpenAI's tool_calls\n- **Battle-tested**: Based on production-ready claude-code-proxy implementation\n\n**Why Hono?**\n- Native Bun support (no adapters needed)\n- Extremely fast and lightweight\n- Middleware support (CORS, logging, etc.)\n- Works across Node.js, Bun, and Cloudflare Workers\n\n### Build & Test\n\n```bash\n# Install dependencies\nbun install\n\n# Development mode\nbun run dev \"test prompt\"\n\n# Build\nbun run build\n\n# Lint\nbun run lint\n\n# Format\nbun run format\n\n# Type check\nbun run typecheck\n\n# Run tests\nbun test\n```\n\n### Protocol Compliance Testing\n\nClaudish includes a comprehensive snapshot testing system to ensure 1:1 compatibility with the official Claude Code protocol:\n\n```bash\n# Run snapshot tests (13\u002F13 passing ✅)\nbun test tests\u002Fsnapshot.test.ts\n\n# Full workflow: capture fixtures + run tests\n.\u002Ftests\u002Fsnapshot-workflow.sh --full\n\n# Capture new test fixtures from monitor mode\n.\u002Ftests\u002Fsnapshot-workflow.sh --capture\n\n# Debug SSE events\nbun tests\u002Fdebug-snapshot.ts\n```\n\n**What Gets Tested:**\n- ✅ Event sequence (message_start → content_block_start → deltas → stop → message_delta → message_stop)\n- ✅ Content block indices (sequential: 0, 1, 2, ...)\n- ✅ Tool input streaming (fine-grained JSON chunks)\n- ✅ Usage metrics (present in message_start and message_delta)\n- ✅ Stop reasons (always present and valid)\n- ✅ Cache metrics (creation and read tokens)\n\n**Documentation:**\n- [Quick Start Guide](.\u002FQUICK_START_TESTING.md) - Get started with testing\n- [Snapshot Testing Guide](.\u002FSNAPSHOT_TESTING.md) - Complete testing documentation\n- [Implementation Details](.\u002Fai_docs\u002FIMPLEMENTATION_COMPLETE.md) - Technical implementation summary\n- [Protocol Compliance Plan](.\u002Fai_docs\u002FPROTOCOL_COMPLIANCE_PLAN.md) - Detailed compliance roadmap\n\n### Install Globally\n\n```bash\n# Link for global use\nbun run install:global\n\n# Now use anywhere\nclaudish \"your task\"\n```\n\n## Troubleshooting\n\n### \"Claude Code CLI is not installed\"\n\nInstall Claude Code:\n\n```bash\nnpm install -g claude-code\n# or visit: https:\u002F\u002Fclaude.com\u002Fclaude-code\n```\n\n### \"OPENROUTER_API_KEY environment variable is required\"\n\nSet your API key:\n\n```bash\nexport OPENROUTER_API_KEY=sk-or-v1-...\n```\n\nOr add to your shell profile (`~\u002F.zshrc`, `~\u002F.bashrc`):\n\n```bash\necho 'export OPENROUTER_API_KEY=sk-or-v1-...' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n```\n\n### \"No available ports found\"\n\nSpecify a custom port:\n\n```bash\nclaudish --port 3000 \"your task\"\n```\n\nOr increase port range in `src\u002Fconfig.ts`.\n\n### Proxy errors\n\nCheck OpenRouter API status:\n- https:\u002F\u002Fopenrouter.ai\u002Fstatus\n\nVerify your API key works:\n- https:\u002F\u002Fopenrouter.ai\u002Fkeys\n\n### Status line not showing model\n\nIf the status line doesn't show the model name:\n\n1. **Check if --settings flag is being passed:**\n   ```bash\n   # Look for this in Claudish output:\n   # [claudish] Instance settings: \u002Ftmp\u002Fclaudish-settings-{timestamp}.json\n   ```\n\n2. **Verify environment variable is set:**\n   ```bash\n   # Should be set automatically by Claudish\n   echo $CLAUDISH_ACTIVE_MODEL_NAME\n   # Should output something like: xAI\u002FGrok-1\n   ```\n\n3. **Test status line command manually:**\n   ```bash\n   export CLAUDISH_ACTIVE_MODEL_NAME=\"xAI\u002FGrok-1\"\n   cat > \u002Fdev\u002Fnull && echo \"[$CLAUDISH_ACTIVE_MODEL_NAME] 📁 $(basename \"$(pwd)\")\"\n   # Should output: [xAI\u002FGrok-1] 📁 your-directory-name\n   ```\n\n4. **Check temp settings file:**\n   ```bash\n   # File is created in \u002Ftmp\u002Fclaudish-settings-*.json\n   ls -la \u002Ftmp\u002Fclaudish-settings-*.json 2>\u002Fdev\u002Fnull | tail -1\n   cat \u002Ftmp\u002Fclaudish-settings-*.json | head -1\n   ```\n\n5. **Verify bash is available:**\n   ```bash\n   which bash\n   # Should show path to bash (usually \u002Fbin\u002Fbash or \u002Fusr\u002Fbin\u002Fbash)\n   ```\n\n**Note:** Temp settings files are automatically cleaned up when Claudish exits. If you see multiple files, you may have crashed instances - they're safe to delete manually.\n\n## Comparison with Claude Code\n\n| Feature | Claude Code | Claudish |\n|---------|-------------|----------|\n| Model | Anthropic models only | Any OpenRouter model |\n| API | Anthropic API | OpenRouter API |\n| Cost | Anthropic pricing | OpenRouter pricing |\n| Setup | API key → direct | API key → proxy → OpenRouter |\n| Speed | Direct connection | ~Same (local proxy) |\n| Features | All Claude Code features | All Claude Code features |\n| Vision | Native (Anthropic models) | Any model (auto-described via Claude) |\n\n**When to use Claudish:**\n- ✅ Want to try different models (Grok, GPT-5, etc.)\n- ✅ Need OpenRouter-specific features\n- ✅ Prefer OpenRouter pricing\n- ✅ Testing model performance\n\n**When to use Claude Code:**\n- ✅ Want latest Anthropic models only\n- ✅ Need official Anthropic support\n- ✅ Simpler setup (no proxy)\n\n## Contributing\n\nContributions welcome! Please:\n\n1. Fork the repo\n2. Create feature branch: `git checkout -b feature\u002Famazing`\n3. Commit changes: `git commit -m 'Add amazing feature'`\n4. Push to branch: `git push origin feature\u002Famazing`\n5. Open Pull Request\n\n## License\n\nMIT © MadAppGang\n\n## Acknowledgments\n\nClaudish's proxy implementation is based on [claude-code-proxy](https:\u002F\u002Fgithub.com\u002Fkiyo-e\u002Fclaude-code-proxy) by [@kiyo-e](https:\u002F\u002Fgithub.com\u002Fkiyo-e). We've adapted their excellent Hono-based API translation layer for OpenRouter integration.\n\n**Key contributions from claude-code-proxy:**\n- Anthropic ↔ OpenAI API format translation (`transform.ts`)\n- Streaming response handling with Server-Sent Events\n- Tool calling compatibility layer\n- Clean Hono framework architecture\n\nThank you to the claude-code-proxy team for building a robust, production-ready foundation! 🙏\n\n## Links\n\n- **GitHub**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\n- **OpenRouter**: https:\u002F\u002Fopenrouter.ai\n- **Claude Code**: https:\u002F\u002Fclaude.com\u002Fclaude-code\n- **Bun**: https:\u002F\u002Fbun.sh\n- **Hono**: https:\u002F\u002Fhono.dev\n- **claude-code-proxy**: https:\u002F\u002Fgithub.com\u002Fkiyo-e\u002Fclaude-code-proxy\n\n---\n\nMade with ❤️ by [MadAppGang](https:\u002F\u002Fmadappgang.com)\n","\u003Cdiv align=\"center\">\n\n# 🔮 Claudish\n\n### Claude 代码。任何模型。\n\n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fclaudish.svg?style=flat-square&color=00D4AA)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fclaudish)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg?style=flat-square)](LICENSE)\n[![Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude_Code-Compatible-d97757?style=flat-square)](https:\u002F\u002Fclaude.ai\u002Fclaude-code)\n\n**使用你现有的 AI 订阅与 Claude Code 配合使用。** 支持 Anthropic Max、Gemini Advanced、ChatGPT Plus\u002FCodex、Kimi、GLM、OllamaCloud — 以及通过 OpenRouter 的 580 多种模型和本地模型，确保完全的隐私。\n\n[官网](https:\u002F\u002Fclaudish.com) · [文档](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fblob\u002Fmain\u002Fdocs\u002Findex.md) · [报告问题](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues)\n\n\u003C\u002Fdiv>\n\n---\n\n**Claudish**（类似于 Claude）是一个命令行工具，它允许你通过本地 Anthropic API 兼容服务器代理请求，从而使用任何 AI 模型运行 Claude Code。\n\n**支持的提供商：**\n- **云端：** OpenRouter（580+ 模型）、Google Gemini、OpenAI、MiniMax、Kimi、GLM、Z.AI、OllamaCloud、OpenCode Zen\n- **本地：** Ollama、LM Studio、vLLM、MLX\n- **企业级：** Vertex AI（Google Cloud）\n\n## 使用你现有的 AI 订阅\n\n**停止为多个 AI 订阅付费。** Claudish 让你可以用已有的订阅配合 Claude Code 强大的界面：\n\n| 你的订阅 | 命令 |\n|-------------------|---------|\n| **Anthropic Max** | 原生支持（直接使用 `claude`） |\n| **Gemini Advanced** | `claudish --model g@gemini-3-pro-preview` |\n| **ChatGPT Plus\u002FCodex** | `claudish --model oai@gpt-5.3` 或 `oai@gpt-5.3-codex` |\n| **Kimi** | `claudish --model kimi@kimi-k2.5` |\n| **GLM** | `claudish --model glm@GLM-4.7` |\n| **MiniMax** | `claudish --model mm@minimax-m2.1` |\n| **OllamaCloud** | `claudish --model oc@qwen3-next` |\n| **OpenCode Zen Go** | `claudish --model zgo@glm-5` |\n\n**100% 离线选项——你的代码永远不会离开你的设备：**\n```bash\nclaudish --model ollama@qwen3-coder:latest \"your task\"\n```\n\n## 自带密钥（BYOK）\n\nClaudish 是一个 **自带密钥的 AI 编码助手**：\n- ✅ 使用你已经拥有的 API 密钥\n- ✅ 无需额外订阅费用\n- ✅ 完全掌控成本——只为你使用的部分付费\n- ✅ 适用于任何提供商\n- ✅ 会话中可随时切换模型\n\n## 特性\n\n- ✅ **多提供商支持** - OpenRouter、Gemini、Vertex AI、OpenAI、OllamaCloud 和本地模型\n- ✅ **新的路由语法** - 使用 `provider@model[:concurrency]` 进行显式路由（例如 `google@gemini-2.0-flash`）\n- ✅ **原生自动检测** - 像 `gpt-4o`、`gemini-2.0-flash`、`llama-3.1-70b` 这样的模型会自动路由到它们的原生 API\n- ✅ **直接 API 访问** - Google、OpenAI、MiniMax、Kimi、GLM、Z.AI、OllamaCloud、Poe 可直接计费\n- ✅ **Vertex AI Model Garden** - 访问 Google 及合作伙伴的模型（MiniMax、Mistral、DeepSeek、Qwen、OpenAI OSS）\n- ✅ **本地模型支持** - Ollama、LM Studio、vLLM、MLX 支持 `ollama@`、`lmstudio@` 语法及并发控制\n- ✅ **跨平台** - 适用于 Node.js 和 Bun（v1.3.0+）\n- ✅ **通用兼容性** - 可以用 `npx` 或 `bunx` 使用，无需安装\n- ✅ **交互式设置** - 如果未提供 API 密钥和模型，会提示输入（零配置！）\n- ✅ **监控模式** - 代理到真实的 Anthropic API 并记录所有流量（用于调试）\n- ✅ **协议兼容性** - 与 Claude Code 通信协议 1:1 兼容\n- ✅ **无头模式** - 非交互式执行时自动打印模式\n- ✅ **静默模式** - 默认输出整洁（无日志污染）\n- ✅ **JSON 输出** - 结构化数据便于工具集成\n- ✅ **实时流式传输** - 实时查看 Claude Code 的输出\n- ✅ **并行运行** - 每个实例都有独立的代理\n- ✅ **自主模式** - 通过标志绕过所有提示\n- ✅ **上下文继承** - 在当前目录下运行，并使用相同的 `.claude` 设置\n- ✅ **Claude Code 标志传递** - 以任意顺序转发任何 Claude Code 标志（`--agent`、`--effort`、`--permission-mode` 等）\n- ✅ **视觉代理** - 非视觉模型会自动通过 Claude 获取图像描述，使每个模型都能“看见”\n\n## 安装\n\n### 快速安装\n\n```bash\n# Shell 脚本（Linux\u002FmacOS）\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FMadAppGang\u002Fclaudish\u002Fmain\u002Finstall.sh | bash\n\n# Homebrew（macOS）\nbrew tap MadAppGang\u002Ftap && brew install claudish\n\n# npm\nnpm install -g claudish\n\n# Bun\nbun install -g claudish\n```\n\n### 先决条件\n\n- [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code) - 必须安装 Claude CLI\n- 至少一个 API 密钥：\n  - [OpenRouter API 密钥](https:\u002F\u002Fopenrouter.ai\u002Fkeys) - 可访问 100 多种模型（有免费层级）\n  - [Google Gemini API 密钥](https:\u002F\u002Faistudio.google.com\u002Fapikey) - 用于直接访问 Gemini\n  - [OpenAI API 密钥](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys) - 用于直接访问 OpenAI\n  - [OllamaCloud API 密钥](https:\u002F\u002Follama.com\u002Faccount) - 用于云托管的 Ollama 模型（`oc\u002F` 前缀）\n  - 或本地模型（Ollama、LM Studio）无需 API 密钥\n\n### 其他安装选项\n\n**无需安装即可使用：**\n\n```bash\nnpx claudish@latest --model x-ai\u002Fgrok-code-fast-1 \"your prompt\"\nbunx claudish@latest --model x-ai\u002Fgrok-code-fast-1 \"your prompt\"\n```\n\n**从源代码安装：**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish.git\ncd claudish\nbun install && bun run build && bun link\n```\n\n## 快速入门\n\n### 步骤 0：初始化 Claudish 技能（仅首次）\n\n```bash\n# 导航到你的项目目录\ncd \u002Fpath\u002Fto\u002Fyour\u002Fproject\n\n# 安装 Claudish 技能以实现自动最佳实践\nclaudish --init\n\n# 重新加载 Claude Code 以发现该技能\n```\n\n**作用：**\n- ✅ 将 Claudish 使用技能安装在 `.claude\u002Fskills\u002Fclaudish-usage\u002F`\n- ✅ 启用自动子代理委派\n- ✅ 强制执行基于文件的指令模式\n- ✅ 防止上下文窗口污染\n\n**运行 --init 后，Claude 会自动：**\n- 当你提到外部模型（Grok、GPT-5 等）时使用子代理\n- 遵循 Claudish 使用的最佳实践\n- 为不同任务建议专业代理\n\n### 选项 1：交互模式（最简单）\n\n```bash\n# 直接运行——会提示输入 API 密钥和模型\nclaudish\n\n# 按提示输入你的 OpenRouter API 密钥\n# 从列表中选择一个模型\n# 开始编码！\n```\n\n### 选项 2：使用环境变量\n\n```bash\n# 设置环境\nexport OPENROUTER_API_KEY=sk-or-v1-...     # 用于 OpenRouter 模型\nexport GEMINI_API_KEY=...                   # 用于直接 Google API\nexport OPENAI_API_KEY=sk-...                # 用于直接 OpenAI API\nexport ANTHROPIC_API_KEY=sk-ant-api03-placeholder  # 必需的占位符\n\n# 使用自动检测的模型运行\nclaudish --model gpt-4o \"implement user authentication\"     # → OpenAI\nclaudish --model gemini-2.0-flash \"add tests\"               # → Google\n\n# 或者使用显式提供者\nclaudish --model openrouter@anthropic\u002Fclaude-3.5-sonnet \"review code\"\n```\n\n**注意：** 在交互模式下，如果未设置 `OPENROUTER_API_KEY` 环境变量，系统会提示您输入。这使得首次使用变得非常简单！\n\n## AI 代理使用\n\n**对于在 Claude Code 中运行的 AI 代理：** 请使用专门的 AI 代理指南，以获取关于基于文件的模式和子代理委派的全面说明。\n\n```bash\n# 打印完整的 AI 代理使用指南\nclaudish --help-ai\n\n# 将指南保存到文件以供参考\nclaudish --help-ai > claudish-agent-guide.md\n```\n\n**AI 代理快速参考：**\n\n### AI 代理的主要工作流程\n\n1. **获取可用模型：**\n   ```bash\n   # 列出所有模型或搜索\n   claudish --models\n   claudish --models gemini\n\n   # 获取顶级推荐模型（JSON 格式）\n   claudish --top-models --json\n   ```\n\n2. **通过子代理运行 Claudish**（推荐模式）：\n   ```typescript\n   \u002F\u002F 不要在主对话中直接运行 Claudish\n   \u002F\u002F 使用 Task 工具委派给子代理\n   const result = await Task({\n     subagent_type: \"general-purpose\",\n     description: \"使用 Grok 实现功能\",\n     prompt: `\n   使用 Claudish 通过 Grok 模型实现功能。\n\n   步骤：\n   1. 创建指令文件：\u002Ftmp\u002Fclaudish-task-${Date.now()}.md\n   2. 将功能需求写入文件\n   3. 运行：claudish --model x-ai\u002Fgrok-code-fast-1 --stdin \u003C \u002Ftmp\u002Fclaudish-task-*.md\n   4. 阅读结果并仅返回摘要（2-3 句）\n\n   不要返回完整实现。回复内容不超过 300 个 token。\n     `\n   });\n   ```\n\n3. **基于文件的指令模式**（避免上下文污染）：\n   ```typescript\n   \u002F\u002F 将指令写入文件\n   const instructionFile = `\u002Ftmp\u002Fclaudish-task-${Date.now()}.md`;\n   const resultFile = `\u002Ftmp\u002Fclaudish-result-${Date.now()}.md`;\n\n   await Write({ file_path: instructionFile, content: `\n   # 任务\n   您的任务描述在此\n\n   # 输出\n   将结果写入：${resultFile}\n   ` });\n\n   \u002F\u002F 使用 stdin 运行 Claudish\n   await Bash(`claudish --model x-ai\u002Fgrok-code-fast-1 --stdin \u003C ${instructionFile}`);\n\n   \u002F\u002F 读取结果\n   const result = await Read({ file_path: resultFile });\n\n   \u002F\u002F 仅返回摘要\n   return extractSummary(result);\n   ```\n\n**关键原则：**\n- ✅ 使用基于文件的模式以避免上下文窗口污染\n- ✅ 委派给子代理而不是直接运行\n- ✅ 仅返回摘要（而非完整对话记录）\n- ✅ 根据任务选择合适的模型（参见 `--models` 或 `--top-models`）\n\n**资源：**\n- 完整的 AI 代理指南：`claudish --help-ai`\n- 技能文档：`skills\u002Fclaudish-usage\u002FSKILL.md`（位于仓库根目录）\n- 模型集成：`skills\u002Fclaudish-integration\u002FSKILL.md`（位于仓库根目录）\n\n## 使用方法\n\n### 基本语法\n\n```bash\nclaudish [选项] \u003Cclaude-args...>\n```\n\n### 选项\n\n> 有关所有详细信息的完整参考，请参阅 [设置参考](docs\u002Fsettings-reference.md)。\n\n| 标志 | 缩写 | 描述 | 默认值 |\n|------|-------|-------------|---------|\n| `--model \u003Cmodel>` | `-m` | 要使用的模型（`provider@model` 语法） | 交互式选择器 |\n| `--model-opus \u003Cmodel>` | | 用于 Opus 角色的模型（规划、复杂任务） | |\n| `--model-sonnet \u003Cmodel>` | | 用于 Sonnet 角色的模型（默认编码） | |\n| `--model-haiku \u003Cmodel>` | | 用于 Haiku 角色的模型（快速任务） | |\n| `--model-subagent \u003Cmodel>` | | 用于子代理的模型（Task 工具） | |\n| `--profile \u003Cname>` | `-p` | 用于模型映射的命名配置文件 | 默认配置文件 |\n| `--interactive` | `-i` | 交互模式（持久会话） | 当无提示时自动启用 |\n| `--auto-approve` | `-y` | 跳过权限提示 | `false` |\n| `--no-auto-approve` | | 显式启用权限提示 | |\n| `--dangerous` | | 传递 `--dangerouslyDisableSandbox` | `false` |\n| `--port \u003Cport>` | | 代理服务器端口 | 随机（3000-9000） |\n| `--debug` | `-d` | 启用调试日志记录至 `logs\u002F` | `false` |\n| `--log-level \u003Clevel>` | | 日志详细程度：`debug`、`info`、`minimal` | `info` |\n| `--quiet` | `-q` | 屈服 `[claudish]` 消息 | 单次执行时默认开启 |\n| `--verbose` | `-v` | 显示 `[claudish]` 消息 | 交互式时默认开启 |\n| `--json` | | 用于工具集成的 JSON 输出（隐含 `--quiet`） | `false` |\n| `--stdin` | | 从标准输入读取提示 | `false` |\n| `--free` | | 在选择器中仅显示免费模型 | `false` |\n| `--monitor` | | 代理真实的 Anthropic API 并记录流量 | `false` |\n| `--summarize-tools` | | 总结工具描述（适用于本地模型） | `false` |\n| `--cost-tracker` | | 启用成本跟踪（同时启用监控模式） | `false` |\n| `--audit-costs` | | 显示成本分析报告 | |\n| `--reset-costs` | | 重置累计成本统计 | |\n| `--models [query]` | `-s` | 列出所有模型或模糊搜索 | |\n| `--top-models` | | 显示精选推荐模型 | |\n| `--force-update` | | 强制刷新模型缓存 | |\n| `--init` | | 在当前项目中安装 Claudish 技能 | |\n| `--mcp` | | 作为 MCP 服务器运行 | |\n| `--gemini-login` | | 通过 OAuth 登录 Gemini Code Assist | |\n| `--gemini-logout` | | 清除 Gemini 的 OAuth 凭证 | |\n| `--kimi-login` | | 通过 OAuth 登录 Kimi | |\n| `--kimi-logout` | | 清除 Kimi 的 OAuth 凭证 | |\n| `--help-ai` | | 显示 AI 代理使用指南 | |\n| `--version` | | 显示版本信息 | |\n| `--help` | `-h` | 显示帮助信息 | |\n| `--` | | 所有后续参数将传递给 Claude Code | |\n\n**标志透传**：任何未识别的标志都会自动转发给 Claude Code（例如 `--agent`、`--effort`、`--permission-mode`）。\n\n### 環境変数\n\nClaudish は起動時に現在のディレクトリから `.env` ファイルを自動的に読み込みます。詳細なリストについては、[設定リファレンス](docs\u002Fsettings-reference.md)をご参照ください。\n\n#### API キー（クラウドモデルには少なくとも 1 つが必要）\n\n| 変数 | プロバイダー | 別名 |\n|----------|----------|---------|\n| `OPENROUTER_API_KEY` | OpenRouter（デフォルトバックエンド、580+ モデル） | |\n| `GEMINI_API_KEY` | Google Gemini (`g@`, `google@`) | |\n| `OPENAI_API_KEY` | OpenAI (`oai@`) | |\n| `MINIMAX_API_KEY` | MiniMax (`mm@`, `mmax@`) | |\n| `MINIMAX_CODING_API_KEY` | MiniMax コーディングプラン (`mmc@`) | |\n| `MOONSHOT_API_KEY` | Kimi\u002FMoonshot (`kimi@`) | `KIMI_API_KEY` |\n| `KIMI_CODING_API_KEY` | Kimi コーディングプラン (`kc@`) | または `--kimi-login` による OAuth |\n| `ZHIPU_API_KEY` | GLM\u002FZhipu (`glm@`) | `GLM_API_KEY` |\n| `GLM_CODING_API_KEY` | GLM コーディングプラン (`gc@`) | `ZAI_CODING_API_KEY` |\n| `ZAI_API_KEY` | Z.AI (`zai@`) | |\n| `OLLAMA_API_KEY` | OllamaCloud (`oc@`) | |\n| `OPENCODE_API_KEY` | OpenCode Zen (`zen@`) — 無料モデルの場合にはオプション | |\n| `LITELLM_API_KEY` | LiteLLM (`ll@`) — `LITELLM_BASE_URL` が必要 | |\n| `POE_API_KEY` | Poe (`poe@`) | |\n| `VERTEX_API_KEY` | Vertex AI Express (`v@`) | |\n| `VERTEX_PROJECT` | Vertex AI OAuth モード (`v@`) | `GOOGLE_CLOUD_PROJECT` |\n| `ANTHROPIC_API_KEY` | プレースホルダー（Claude Code のダイアログを抑制） | |\n\n#### Claudish 設定\n\n| 変数 | 説明 | デフォルト値 |\n|----------|-------------|---------|\n| `CLAUDISH_MODEL` | デフォルトモデル（`ANTHROPIC_MODEL` を上書き） | 対話型セレクター |\n| `CLAUDISH_PORT` | デフォルトのプロキシポート | ランダム（3000–9000） |\n| `CLAUDISH_CONTEXT_WINDOW` | コンテキストウィンドウサイズの上書き（ローカルモデル） | 自動検出 |\n| `CLAUDISH_MODEL_OPUS` | Opus ロール用モデル | |\n| `CLAUDISH_MODEL_SONNET` | Sonnet ロール用モデル | |\n| `CLAUDISH_MODEL_HAIKU` | Haiku ロール用モデル | |\n| `CLAUDISH_MODEL_SUBAGENT` | サブエージェント用モデル | |\n| `CLAUDISH_SUMMARIZE_TOOLS` | ツール説明の要約（`true`\u002F`1`） | `false` |\n| `CLAUDISH_TELEMETRY` | テレメトリの上書き（`0`\u002F`false`\u002F`off` で無効化） | 設定ファイルから |\n| `CLAUDISH_LOCAL_MAX_PARALLEL` | 最大同時ローカルモデルリクエスト数（1–8） | `1` |\n| `CLAUDISH_LOCAL_QUEUE_ENABLED` | ローカルモデルキューの有無 | `true` |\n| `CLAUDISH_QWEN_NO_THINK` | Qwen モデルの思考機能を無効化（`1`） | |\n\n#### Claude Code 互換性\n\n| 変数 | 説明 |\n|----------|-------------|\n| `ANTHROPIC_MODEL` | `CLAUDISH_MODEL` のフォールバック |\n| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `CLAUDISH_MODEL_OPUS` のフォールバック |\n| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `CLAUDISH_MODEL_SONNET` のフォールバック |\n| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `CLAUDISH_MODEL_HAIKU` のフォールバック |\n| `CLAUDE_CODE_SUBAGENT_MODEL` | `CLAUDISH_MODEL_SUBAGENT` のフォールバック |\n| `CLAUDE_PATH` | Claude Code バイナリのカスタムパス |\n\n#### カスタムエンドポイント\n\n| 変数 | プロバイダー | デフォルト値 |\n|----------|----------|---------|\n| `GEMINI_BASE_URL` | Gemini API | `https:\u002F\u002Fgenerativelanguage.googleapis.com` |\n| `OPENAI_BASE_URL` | OpenAI\u002FAzure | `https:\u002F\u002Fapi.openai.com` |\n| `MINIMAX_BASE_URL` | MiniMax | `https:\u002F\u002Fapi.minimax.io` |\n| `MOONSHOT_BASE_URL` | Kimi\u002FMoonshot | `https:\u002F\u002Fapi.moonshot.ai` |\n| `ZHIPU_BASE_URL` | GLM\u002FZhipu | `https:\u002F\u002Fopen.bigmodel.cn` |\n| `ZAI_BASE_URL` | Z.AI | `https:\u002F\u002Fapi.z.ai` |\n| `OLLAMACLOUD_BASE_URL` | OllamaCloud | `https:\u002F\u002Follama.com` |\n| `OPENCODE_BASE_URL` | OpenCode Zen | `https:\u002F\u002Fopencode.ai\u002Fzen` |\n| `LITELLM_BASE_URL` | LiteLLM プロキシサーバー | _(LITELLM_API_KEY 使用時に必須)_ |\n| `OLLAMA_BASE_URL` | Ollama（ローカル） | `http:\u002F\u002Flocalhost:11434` |\n| `OLLAMA_HOST` | `OLLAMA_BASE_URL` の別名 | |\n| `LMSTUDIO_BASE_URL` | LM Studio（ローカル） | `http:\u002F\u002Flocalhost:1234` |\n| `VLLM_BASE_URL` | vLLM（ローカル） | `http:\u002F\u002Flocalhost:8000` |\n| `MLX_BASE_URL` | MLX（ローカル） | `http:\u002F\u002F127.0.0.1:8080` |\n\n**優先順位**: CLI フラグ > `CLAUDISH_*` 環境変数 > `ANTHROPIC_*` 環境変数 > プロファイル設定 > 対話型セレクター。\n\n**重要なお知らせ**:\n- `ANTHROPIC_API_KEY=sk-ant-api03-placeholder`（または任意の値）を設定すると、Claude Code のログインダイアログが表示されなくなります。\n- 対話モードでは、API キーが設定されていない場合、入力を求められます。\n\n### 設定ファイル\n\nClaudish は 2 スコープの設定システムを使用しています:\n\n| ファイル | スコープ | 目的 |\n|------|-------|---------|\n| `~\u002F.claudish\u002Fconfig.json` | グローバル | プロファイル、テレメトリ、ルーティングルール（プロジェクト間で共有） |\n| `.claudish.json` | ローカル | プロジェクト固有のプロファイルとルーティングルール（グローバルを上書き） |\n| `.env` | ローカル | 環境変数（起動時に自動読み込み） |\n\n**プロファイル設定**（`~\u002F.claudish\u002Fconfig.json`）:\n\n```json\n{\n  \"version\": \"1.0.0\",\n  \"defaultProfile\": \"default\",\n  \"profiles\": {\n    \"default\": {\n      \"name\": \"default\",\n      \"models\": {\n        \"opus\": \"oai@gpt-5.3\",\n        \"sonnet\": \"google@gemini-3-pro\",\n        \"haiku\": \"mm@MiniMax-M2.1\",\n        \"subagent\": \"google@gemini-2.0-flash\"\n      }\n    }\n  },\n  \"routing\": {\n    \"kimi-*\": [\"kc\", \"kimi\", \"openrouter\"],\n    \"glm-*\": [\"gc\", \"glm\"],\n    \"*\": [\"litellm\", \"openrouter\"]\n  }\n}\n```\n\n**カスタムルーティングルール**は、モデル名のパターンを優先順位付きのプロバイダーのフォールバックチェーンにマッピングします。パターンには正確な名前、ワイルドカード（`kimi-*`）、および万能記号（`*`）が対応可能です。ローカルの `.claudish.json` ルーティングルールは、グローバルルールを完全に置き換えます。\n\nプロファイルの管理には以下を使用します:\n\n```bash\nclaudish init [--local|--global]            # セットアップウィザード\nclaudish profile list [--local|--global]    # プロファイルの一覧表示\nclaudish profile add [--local|--global]     # プロファイルの追加\nclaudish profile use \u003Cname>                 # デフォルト設定\nclaudish profile edit \u003Cname>                # プロファイルの編集\n```\n\n完全な設定リファレンスについては、[設定リファレンス](docs\u002Fsettings-reference.md)をご参照ください。\n\n## モデルルーティング（v4.0.0+）\n\nClaudish は明示的なルーティングのために **`provider@model[:concurrency]`** 構文を使用し、ネイティブプロバイダーに対しては **スマートな自動検出**を行います。\n\n### 新しい構文: `provider@model[:concurrency]`\n\n```bash\n# 明示的なプロバイダールーティング\nclaudish --model google@gemini-2.0-flash \"迅速なタスク\"\nclaudish --model openrouter@deepseek\u002Fdeepseek-r1 \"分析\"\nclaudish --model oai@gpt-4o \"機能の実装\"\nclaudish --model ollama@llama3.2:3 \"コードレビュー\"  # 3 件の同時リクエスト\n```\n\n### 提供商快捷方式\n\n| 快捷方式 | 提供商 | API 密钥 | 示例 |\n|----------|----------|---------|---------|\n| `g@`, `google@` | Google Gemini | `GEMINI_API_KEY` | `g@gemini-2.0-flash` |\n| `oai@` | OpenAI Direct | `OPENAI_API_KEY` | `oai@gpt-4o` |\n| `or@`, `openrouter@` | OpenRouter | `OPENROUTER_API_KEY` | `or@deepseek\u002Fdeepseek-r1` |\n| `mm@`, `mmax@` | MiniMax Direct | `MINIMAX_API_KEY` | `mm@MiniMax-M2.1` |\n| `kimi@`, `moon@` | Kimi Direct | `MOONSHOT_API_KEY` | `kimi@kimi-k2` |\n| `glm@`, `zhipu@` | GLM Direct | `ZHIPU_API_KEY` | `glm@glm-4` |\n| `zai@` | Z.AI Direct | `ZAI_API_KEY` | `zai@glm-4` |\n| `llama@`, `lc@`, `meta@` | OllamaCloud | `OLLAMA_API_KEY` | `llama@llama-3.1-70b` |\n| `oc@` | OllamaCloud | `OLLAMA_API_KEY` | `oc@llama-3.1-70b` |\n| `zen@` | OpenCode Zen (免费\u002F付费) | `OPENCODE_API_KEY` _(可选)_ | `zen@gpt-5-nano` |\n| `zgo@`, `zengo@` | OpenCode Zen Go 方案 | `OPENCODE_API_KEY` | `zgo@glm-5` |\n| `v@`, `vertex@` | Vertex AI | `VERTEX_API_KEY` | `v@gemini-2.5-flash` |\n| `go@` | Gemini CodeAssist | _(OAuth)_ | `go@gemini-2.5-flash` |\n| `poe@` | Poe | `POE_API_KEY` | `poe@GPT-4o` |\n| `ollama@` | Ollama (本地) | _(无)_ | `ollama@llama3.2` |\n| `lms@`, `lmstudio@` | LM Studio (本地) | _(无)_ | `lms@qwen2.5-coder` |\n| `vllm@` | vLLM (本地) | _(无)_ | `vllm@mistral-7b` |\n| `mlx@` | MLX (本地) | _(无)_ | `mlx@llama-3.2-3b` |\n\n### 原生模型自动检测\n\n当未指定提供商时，Claudish 会根据模型名称自动检测：\n\n| 模型模式 | 路由至 | 示例 |\n|---------------|-----------|---------|\n| `gemini-*`, `google\u002F*` | Google Gemini | `gemini-2.0-flash` |\n| `gpt-*`, `o1-*`, `o3-*` | OpenAI Direct | `gpt-4o` |\n| `llama-*`, `meta-llama\u002F*` | OllamaCloud | `llama-3.1-70b` |\n| `abab-*`, `minimax\u002F*` | MiniMax Direct | `abab-6.5` |\n| `kimi-*`, `moonshot-*` | Kimi Direct | `kimi-k2` |\n| `glm-*`, `zhipu\u002F*` | GLM Direct | `glm-4` |\n| `poe:*` | Poe | `poe:GPT-4o` |\n| `claude-*`, `anthropic\u002F*` | Native Anthropic | `claude-sonnet-4` |\n| **未知 `vendor\u002Fmodel`** | **错误** | 使用 `openrouter@vendor\u002Fmodel` |\n\n### 示例\n\n```bash\n# 自动检测原生路由（无需前缀！）\nclaudish --model gemini-2.0-flash \"快速任务\"      # → Google API\nclaudish --model gpt-4o \"实现功能\"          # → OpenAI API\nclaudish --model llama-3.1-70b \"代码审查\"         # → OllamaCloud\n\n# 显式指定提供商路由\nclaudish --model google@gemini-2.5-pro \"复杂分析\"\nclaudish --model oai@o1 \"复杂推理\"\nclaudish --model openrouter@deepseek\u002Fdeepseek-r1 \"深度分析\"\n\n# OllamaCloud - 云端托管的 Llama 模型\nclaudish --model llama@llama-3.1-70b \"代码审查\"\nclaudish --model oc@llama-3.2-vision \"分析图片\"\n\n# Vertex AI - Google Cloud\nVERTEX_API_KEY=... claudish --model v@gemini-2.5-flash \"任务\"\nVERTEX_PROJECT=my-project claudish --model vertex@gemini-2.5-flash \"OAuth 模式\"\n\n# 本地模型并发控制\nclaudish --model ollama@llama3.2:3 \"审查\"     # 3 个并发请求\nclaudish --model ollama@llama3.2:0 \"快速\"       # 无限制（绕过队列）\n\n# 未知厂商需显式使用 OpenRouter\nclaudish --model openrouter@qwen\u002Fqwen-2.5 \"任务\"\nclaudish --model or@mistralai\u002Fmistral-large \"分析\"\n```\n\n### 旧版语法（已弃用）\n\n旧的 `前缀\u002F模型` 语法仍然可用，但会显示弃用警告：\n\n```bash\n# 旧版（已弃用）          →  新版（推荐）\nclaudish --model g\u002Fgemini-pro     →  claudish --model g@gemini-pro\nclaudish --model oai\u002Fgpt-4o       →  claudish --model oai@gpt-4o\nclaudish --model ollama\u002Fllama3.2  →  claudish --model ollama@llama3.2\n```\n\n## 精选模型\n\n开发推荐顶级模型（v3.1.1）：\n\n| 模型 | 提供商 | 最佳用途 |\n|-------|----------|----------|\n| `openai\u002Fgpt-5.3` | OpenAI | **默认** - 最先进的推理能力 |\n| `minimax\u002Fminimax-m2.1` | MiniMax | 经济实惠，速度快 |\n| `z-ai\u002Fglm-4.7` | Z.AI | 性能均衡 |\n| `google\u002Fgemini-3-pro-preview` | Google | 100万上下文窗口 |\n| `moonshotai\u002Fkimi-k2-thinking` | MoonShot | 扩展推理能力 |\n| `deepseek\u002Fdeepseek-v3.2` | DeepSeek | 代码专家 |\n| `qwen\u002Fqwen3-vl-235b-a22b-thinking` | Alibaba | 视觉 + 推理 |\n\n**Vertex AI 合作伙伴模型（MaaS - Google Cloud 计费）：**\n\n| 模型 | 提供商 | 最佳用途 |\n|-------|----------|----------|\n| `vertex\u002Fminimax\u002Fminimax-m2-maas` | MiniMax | 快速、经济 |\n| `vertex\u002Fmistralai\u002Fcodestral-2` | Mistral | 代码专家 |\n| `vertex\u002Fdeepseek\u002Fdeepseek-v3-2-maas` | DeepSeek | 深度推理 |\n| `vertex\u002Fqwen\u002Fqwen3-coder-480b-a35b-instruct-maas` | Qwen | 代理式编码 |\n| `vertex\u002Fopenai\u002Fgpt-oss-120b-maas` | OpenAI | 开放权重推理 |\n\n列出所有模型：\n\n```bash\nclaudish --models              # 列出所有 OpenRouter 模型\nclaudish --models gemini       # 搜索特定模型\nclaudish --top-models          # 显示精选推荐\n```\n\n## Claude Code 标志透传（v5.3.0 新增）\n\nClaudish 会将所有未识别的标志直接传递给 Claude Code。这意味着任何 Claude Code 标志都可以与 Claudish 一起使用——无需包装器：\n\n```bash\n# 使用 Claude Code 代理\nclaudish --model grok --agent code-review \"审查认证系统\"\n\n# 控制工作量和权限\nclaudish --model grok --effort high --permission-mode plan \"设计 API\"\n\n# 设置预算上限\nclaudish --model grok --max-budget-usd 0.50 \"快速修复\"\n\n# 自定义系统提示\nclaudish --model grok --append-system-prompt \"始终以 JSON 格式回复\" \"列出文件\"\n\n# 限制可用工具\nclaudish --model grok --allowedTools \"Read,Grep\" \"搜索认证漏洞\"\n```\n\nClaudish 标志（`--model`、`--stdin`、`--quiet`、`-y` 等）可以按 **任意顺序** 出现——无论位置如何，它们都会被识别。\n\n当 Claude Code 标志值以 `-` 开头时，请使用 `--`：\n```bash\nclaudish --model grok -- --system-prompt \"-verbose logging\" \"任务\"\n```\n\n## 视觉代理（v5.1.0 新功能）\n\n**现在所有模型都能“看”图像**——即使是那些本身不支持视觉输入的模型。\n\n当你向一个不具备视觉处理能力的模型（比如本地 Ollama 模型）发送图像时，Claudish 会自动执行以下操作：\n\n1. 检测到该模型无法处理图像\n2. 将每张图像发送至 Anthropic API（Claude Sonnet），生成详细的描述文本\n3. 用 `[Image Description: ...]` 文本替换图像块\n4. 将补充了描述信息的消息转发给目标模型\n\n```\nClaude Code → 图像 + “这是什么？” → Claudish\n                                             ↓\n                              ┌──────────────────────────────┐\n                              │ 模型是否支持视觉？         │\n                              │ 是 → 直接传递图像          │\n                              │ 否 → 使用 Claude 描述图像 → │\n                              │        替换为文本           │\n                              └──────────────────────────────┘\n                                             ↓\n                                      目标模型\n```\n\n**工作原理：**\n- 使用你现有的 Claude Code `x-api-key`（无需额外配置）\n- 每张图像会并行进行描述（即使有多张图像也能快速完成）\n- 每张图像有 30 秒超时时间，超时后会优雅地回退到移除图像\n- 描述内容包括文本、布局、颜色、代码、图表和 UI 元素等信息\n\n**示例：**\n\n```bash\n# 本地 Ollama 模型（无视觉能力）——图像会被自动描述\nclaudish --model ollama@llama3.2 “这张截图里有什么？”\n\n# 支持视觉的模型——图像会原样传递\nclaudish --model g@gemini-2.5-flash “这张截图里有什么？”\n```\n\n**回退行为：** 如果视觉代理失败（网络错误、超时或 API 问题），Claudish 会回退到移除图像——请求仍然会继续，只是没有图像上下文信息。\n\n## 状态栏显示\n\nClaudish 会自动在 Claude Code 的状态栏中显示关键信息——**无需任何设置！**\n\n**超紧凑格式：** `目录 • 模型ID • $成本 • 上下文%`\n\n**视觉设计：**\n- 🔵 **目录**（亮青色，加粗）——当前所在目录\n- 🟡 **模型ID**（亮黄色）——实际的 OpenRouter 模型 ID\n- 🟢 **成本**（亮绿色）——来自 OpenRouter 的实时会话费用\n- 🟣 **上下文**（亮品红色）——剩余上下文窗口的百分比\n- ⚪ **分隔符**（浅色）——视觉分隔线\n\n**示例：**\n- `claudish • x-ai\u002Fgrok-code-fast-1 • $0.003 • 95%` — 使用 Grok 模型，已花费 $0.003，还剩 95% 的上下文空间\n- `my-project • openai\u002Fgpt-5-codex • $0.12 • 67%` — 使用 GPT-5 模型，已花费 $0.12，还剩 67% 的上下文空间\n- `backend • minimax\u002Fminimax-m2 • $0.05 • 82%` — 使用 MiniMax M2 模型，已花费 $0.05，还剩 82% 的上下文空间\n- `test • openrouter\u002Fauto • $0.01 • 90%` — 使用任意自定义模型，已花费 $0.01，还剩 90% 的上下文空间\n\n**关键跟踪（实时更新）：**\n- 💰 **成本跟踪**——基于 Claude Code 会话数据的实时美元费用\n- 📊 **上下文监控**——模型剩余上下文窗口的百分比\n- ⚡ **性能优化**——超紧凑设计，适合与思考模式界面完美融合\n\n**针对思考模式优化：**\n- ✅ **超紧凑**——目录限制在 15 个字符内，为其他信息留出空间\n- ✅ **重要信息优先**——最重要的信息（目录、模型）放在最前面\n- ✅ **智能截断**——长目录用“…”缩短\n- ✅ **预留空间**——为 Claude 的思考模式界面预留约 40 个字符的空间\n- ✅ **颜色编码**——便于快速目视扫描\n- ✅ **不会溢出**——即使启用思考模式也能完美适配\n\n**自定义模型支持：**\n- ✅ **任何 OpenRouter 模型**——不限于推荐列表（例如 `openrouter\u002Fauto` 或自定义模型）\n- ✅ **实际模型ID**——显示确切的 OpenRouter 模型 ID，不做任何翻译\n- ✅ **上下文回退**——对于未知模型，使用 10 万 token 的上下文窗口作为安全默认值\n- ✅ **短名单优化**——我们推荐的模型都具有准确的上下文大小\n- ✅ **面向未来**——适用于未来添加到 OpenRouter 的新模型\n\n**工作原理：**\n- 每个 Claudish 实例都会创建一个临时设置文件，用于自定义状态栏\n- 设置通过 `--settings` 标志实现（不会修改全局的 Claude Code 配置）\n- 状态栏使用简单的 Bash 脚本结合 ANSI 颜色实现（无需外部依赖！）\n- 显示来自 `CLAUDISH_ACTIVE_MODEL_NAME` 环境变量的实际 OpenRouter 模型 ID\n- 上下文跟踪会根据我们推荐列表中的模型使用特定的上下文大小，对于其他模型则使用 10 万 token 作为默认值\n- 临时文件会在 Claudish 退出时自动清理\n- 每个实例完全隔离——可以并行运行多个实例！\n\n**实例间隔离：**\n- ✅ 不会修改 `~\u002F.claude\u002Fsettings.json`\n- ✅ 每个实例都有自己的配置\n- ✅ 可以安全地并行运行多个 Claudish 实例\n- ✅ 不会影响标准的 Claude Code\n- ✅ 临时文件会在退出时自动清理\n- ✅ 无外部依赖（仅使用 Bash，无需 jq！）\n\n## 示例\n\n### 基本用法\n\n```bash\n# 简单提示\nclaudish “修复 user.ts 中的 bug”\n\n# 多词提示\nclaudish “使用 JWT 令牌实现用户认证”\n```\n\n### 指定模型\n\n```bash\n# 自动检测路由（模型名称决定提供商）\nclaudish --model gpt-4o “重构整个 API 层”           # → OpenAI\nclaudish --model gemini-2.0-flash “快速修复”                 # → Google\nclaudish --model llama-3.1-70b “代码审查”                  # → OllamaCloud\n\n# 显式指定提供商（新的 @ 语法）\nclaudish --model google@gemini-2.5-pro “复杂分析”\nclaudish --model oai@o1 “深度推理任务”\nclaudish --model openrouter@deepseek\u002Fdeepseek-r1 “分析”   # 对于未知厂商需要显式指定 OpenRouter\n\n# 本地模型并发控制\nclaudish --model ollama@llama3.2 “代码审查”\nclaudish --model ollama@llama3.2:3 “并行处理”      # 3 个并发任务\nclaudish --model lmstudio@qwen2.5-coder “实现仪表盘 UI”\n```\n\n### 自主模式\n\n自动批准功能是**默认开启**的。如果需要完全自主模式，只需添加 `--dangerous` 参数：\n\n```bash\n# 基本用法（自动批准已开启）\nclaudish “删除未使用的文件”\n\n# 完全自主模式（自动批准 + 危险沙盒关闭）\nclaudish --dangerous “安装依赖项”\n\n# 如果需要手动确认，可关闭自动批准\nclaudish --no-auto-approve “进行重要更改”\n```\n\n### 自定义端口\n\n```bash\n# 使用特定端口\nclaudish --port 3000 “分析代码库”\n\n# 或者设置默认端口\nexport CLAUDISH_PORT=3000\nclaudish “你的任务”\n```\n\n### 传递 Claude 标志\n\n```bash\n# 详细模式\nclaudish “调试问题” --verbose\n\n# 自定义工作目录\nclaudish “分析代码” --cwd \u002Fpath\u002Fto\u002Fproject\n\n# 多个标志\nclaudish --model openai\u002Fgpt-5.3-codex “任务” --verbose --debug\n```\n\n### 监控模式\n\n**新增！** Claudish 现在提供监控模式，帮助你了解 Claude Code 内部的工作机制。\n\n```bash\n\n# 启用监控模式（需要真实的 Anthropic API 密钥）\nclaudish --monitor --debug \"实现一个功能\"\n```\n\n**监控模式的作用：**\n- ✅ **代理至真实的 Anthropic API**（非 OpenRouter） - 使用您实际的 Anthropic API 密钥\n- ✅ **记录所有流量** - 捕获完整的请求和响应\n- ✅ **支持流式传输和 JSON 格式** - 记录 SSE 流和 JSON 响应\n- ✅ **将调试日志保存到文件** - 当使用 `--debug` 时，会保存到 `logs\u002Fclaudish_*.log`\n- ✅ **直通代理** - 不进行任何翻译，原样转发给 Anthropic\n\n**何时使用监控模式：**\n- 🔍 理解 Claude Code 的 API 协议\n- 🐛 调试集成问题\n- 📊 分析 Claude Code 的行为\n- 🔬 研究与开发\n\n**所需条件：**\n```bash\n# 监控模式需要真实的 Anthropic API 密钥（而非占位符）\nexport ANTHROPIC_API_KEY='sk-ant-api03-...'\n\n# 结合 `--debug` 使用以保存日志到文件\nclaudish --monitor --debug \"您的任务\"\n\n# 日志将保存至：logs\u002Fclaudish_TIMESTAMP.log\n```\n\n**示例输出：**\n```\n[Monitor] 服务器已在 http:\u002F\u002F127.0.0.1:8765 上启动\n[Monitor] 模式：直通真实 Anthropic API\n[Monitor] 所有流量都将被记录以便分析\n\n=== [MONITOR] Claude Code → Anthropic API 请求 ===\n{\n  \"model\": \"claude-sonnet-4.5\",\n  \"messages\": [...],\n  \"max_tokens\": 4096,\n  ...\n}\n=== 请求结束 ===\n\n=== [MONITOR] Anthropic API → Claude Code 响应（流式） ===\nevent: message_start\ndata: {\"type\":\"message_start\",...}\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",...}\n...\n=== 流式响应结束 ===\n```\n\n**注意：** 监控模式会从您的 Anthropic 账户中扣费（而非 OpenRouter）。请使用 `--debug` 标志来保存日志以便分析。\n\n### 输出模式\n\nClaudish 支持三种输出模式，适用于不同的场景：\n\n#### 1. 静默模式（单次调用默认）\n\n干净的输出，不含 `[claudish]` 日志信息，非常适合与其他工具配合使用：\n\n```bash\n# 单次调用默认为静默模式\nclaudish \"2+2 是多少？\"\n# 输出：2 + 2 等于 4。\n\n# 在管道中使用\nclaudish \"列出 3 种颜色\" | grep -i blue\n\n# 重定向到文件\nclaudish \"分析代码\" > analysis.txt\n```\n\n#### 2. 详细模式\n\n显示所有 `[claudish]` 日志信息，便于调试：\n\n```bash\n# 详细模式\nclaudish --verbose \"2+2 是多少？\"\n# 输出：\n# [claudish] 正在启动 Claude Code，使用 openai\u002Fgpt-4o\n# [claudish] 代理地址：http:\u002F\u002F127.0.0.1:8797\n# [claudish] 状态行：dir • openai\u002Fgpt-4o • $成本 • 上下文%\n# ...\n# 2 + 2 等于 4。\n# [claudish] 正在关闭代理服务器...\n# [claudish] 完成\n\n# 交互模式默认为详细模式\nclaudish --interactive\n```\n\n#### 3. JSON 输出模式\n\n结构化的输出，非常适合自动化和工具集成：\n\n```bash\n# JSON 输出（始终为静默模式）\nclaudish --json \"2+2 是多少？\"\n# 输出：{\"type\":\"result\",\"result\":\"2 + 2 等于 4.\",\"total_cost_usd\":0.068,\"usage\":{...}}\n\n# 使用 jq 提取结果\nclaudish --json \"列出 3 种颜色\" | jq -r '.result'\n\n# 获取费用和 token 使用情况\nclaudish --json \"分析代码\" | jq '{result, cost: .total_cost_usd, tokens: .usage.input_tokens}'\n\n# 在脚本中使用\nRESULT=$(claudish --json \"检查测试是否通过\" | jq -r '.result')\necho \"AI 说：$RESULT\"\n\n# 跟踪多次运行的费用\nfor task in task1 task2 task3; do\n  claudish --json \"$task\" | jq -r '\"\\(.total_cost_usd)\"'\ndone | awk '{sum+=$1} END {print \"总计：$\"sum}'\n```\n\n**JSON 输出字段：**\n- `result` - AI 的回答文本\n- `total_cost_usd` - 总费用（美元）\n- `usage.input_tokens` - 输入 token 数量\n- `usage.output_tokens` - 输出 token 数量\n- `duration_ms` - 总耗时（毫秒）\n- `num_turns` - 对话轮数\n- `modelUsage` - 各模型的使用情况细分\n\n## 工作原理\n\n### 架构\n\n```\nclaudish \"您的提示\"\n    ↓\n1. 解析参数（--model、--no-auto-approve、--dangerous 等）\n2. 查找可用端口（随机或指定）\n3. 在 http:\u002F\u002F127.0.0.1:PORT 上启动本地代理\n4. 启动：claude --auto-approve --env ANTHROPIC_BASE_URL=http:\u002F\u002F127.0.0.1:PORT\n5. 代理将 Anthropic API 转换为 OpenRouter API 格式\n6. 实时流式输出\n7. 退出时清理代理\n```\n\n### 请求流程\n\n**普通模式（OpenRouter）：**\n```\nClaude Code → Anthropic API 格式 → 本地代理 → OpenRouter API 格式 → OpenRouter\n                                         ↓\nClaude Code ← Anthropic API 格式 ← 本地代理 ← OpenRouter API 格式 ← OpenRouter\n```\n\n**监控模式（Anthropic 直通）：**\n```\nClaude Code → Anthropic API 格式 → 本地代理（记录日志） → Anthropic API\n                                         ↓\nClaude Code ← Anthropic API 格式 ← 本地代理（记录日志） ← Anthropic API\n```\n\n### 并行运行\n\n每次 `claudish` 调用：\n- 获取一个唯一的随机端口\n- 启动独立的代理服务器\n- 运行独立的 Claude Code 实例\n- 退出时进行清理\n\n这使得可以同时运行多个实例：\n\n```bash\n# 终端 1\nclaudish --model x-ai\u002Fgrok-code-fast-1 \"任务 A\"\n\n# 终端 2\nclaudish --model openai\u002Fgpt-5.3-codex \"任务 B\"\n\n# 终端 3\nclaudish --model minimax\u002Fminimax-m2 \"任务 C\"\n```\n\n## 扩展思考支持\n\n**v1.1.0 新增：** Claudish 现在完全支持具有扩展思考\u002F推理能力的模型（Grok、o1 等），并完全符合 Anthropic Messages API 协议。\n\n### 思考转换模型（v1.5.0）\n\nClaudish 包含一个复杂的 **思考转换模型**，能够将 Claude Code 的原生思考预算与各大 AI 提供商的独特需求相匹配。\n\n当您在 Claude 中设置思考预算时（例如 `budget: 16000`），Claudish 会自动进行转换：\n\n| 提供商 | 模型 | 转换逻辑 |\n| :--- | :--- | :--- |\n| **OpenAI** | o1、o3 | 将预算映射到 `reasoning_effort`（minimal\u002Flow\u002Fmedium\u002Fhigh）|\n| **Google** | Gemini 3 | 映射到 `thinking_level`（low\u002Fhigh）|\n| **Google** | Gemini 2.x | 直接传递精确的 `thinking_budget`（上限为 24k）|\n| **xAI** | Grok 3 Mini | 将预算映射到 `reasoning_effort`（low\u002Fhigh）|\n| **Qwen** | Qwen 2.5 | 启用 `enable_thinking` + 精确预算|\n| **MiniMax** | M2 | 启用 `reasoning_split`（交错思考）|\n| **DeepSeek** | R1 | 自动管理推理（为安全起见会剥离相关参数）|\n\n这确保您可以使用标准的 Claude Code 思考控制功能，与 **任何** 支持的模型配合使用，而无需担心 API 的具体差异。\n\n### 什么是扩展思考？\n\n一些 AI 模型（如 Grok 和 OpenAI 的 o1）可以在给出最终答案之前展示其内部的推理过程。这些“思考”内容有助于您理解模型是如何得出结论的。\n\n### Claudish 如何处理思考\n\nClaudish 实现了 Anthropic Messages API 的 `interleaved-thinking` 协议：\n\n**思考块（隐藏）：**\n- 包含模型的推理过程\n- 在 Claude Code 界面中自动折叠\n- 显示“Claude 正在思考…”指示器\n- 用户可以展开查看推理过程\n\n**文本块（可见）：**\n- 包含最终回答\n- 正常显示\n- 逐步流式输出\n\n### 支持思考模式的模型\n\n- ✅ **x-ai\u002Fgrok-code-fast-1** - Grok 的推理模式\n- ✅ **openai\u002Fgpt-5-codex** - o1 推理（启用时）\n- ✅ **openai\u002Fo1-preview** - 完整推理支持\n- ✅ **openai\u002Fo1-mini** - 紧凑型推理\n- ⚠️ 其他模型未来可能支持推理\n\n### 技术细节\n\n**流式协议（V2 - 协议合规）：**\n```\n1. message_start\n2. content_block_start（文本，索引=0）      ← 立即发送！（必需）\n3. ping\n4. [若推理到达]\n   - content_block_stop（索引=0）           ← 关闭初始空块\n   - content_block_start（思考，索引=1）   ← 推理内容\n   - thinking_delta 事件 × N 次\n   - content_block_stop（索引=1）\n5. content_block_start（文本，索引=2）      ← 响应内容\n6. text_delta 事件 × M 次\n7. content_block_stop（索引=2）\n8. message_delta + message_stop\n```\n\n**关键：** `content_block_start` 必须在 `message_start` 之后、`ping` 之前立即发送。这是 Anthropic Messages API 协议的要求，以确保 UI 能够正确初始化。\n\n**主要特性：**\n- ✅ 思考与文本块分离（使用正确的索引）\n- ✅ `thinking_delta` 和 `text_delta` 事件类型\n- ✅ 思考内容默认隐藏\n- ✅ 各块之间平滑过渡\n- ✅ 完全兼容 Claude Code UI\n\n### UX 优势\n\n**之前（v1.0.0 - 不支持思考）：**\n- 推理内容以普通文本形式显示\n- 内部思考与输出混杂，令人困惑\n- 无进度指示\n- 消息一次性全部更新\n\n**之后（v1.1.0 - 完全协议支持）：**\n- ✅ 推理内容隐藏\u002F折叠\n- ✅ 输出整洁、专业\n- ✅ 显示“Claude 正在思考…”提示\n- ✅ 平滑的增量流式传输\n- ✅ 消息头和结构清晰可见\n- ✅ 符合 Anthropic Messages API 协议\n\n### 文档\n\n完整协议文档请参见：\n- [STREAMING_PROTOCOL.md](.\u002FSTREAMING_PROTOCOL.md) - 完整 SSE 协议规范\n- [PROTOCOL_FIX_V2.md](.\u002FPROTOCOL_FIX_V2.md) - 关键 V2 协议修复（事件顺序）\n- [COMPREHENSIVE_UX_ISSUE_ANALYSIS.md](.\u002FCOMPREHENSIVE_UX_ISSUE_ANALYSIS.md) - 技术分析\n- [THINKING_BLOCKS_IMPLEMENTATION.md](.\u002FTHINKING_BLOCKS_IMPLEMENTATION.md) - 实现概要\n\n## 动态推理支持（v1.4.0 新增）\n\n**Claudish 现在能够智能适配任何支持推理的模型！**\n\n不再需要硬编码列表或手动标记。Claudish 会动态查询 OpenRouter 元数据，为所有支持推理的模型启用相应功能。\n\n### 🧠 动态思考功能\n\n1. **自动检测：**\n   - 启动时自动检查模型能力\n   - 仅在支持时启用扩展思考 UI\n   - 具有前瞻性：可即时支持新模型（如 `deepseek-r1` 或 `minimax-m2`）\n\n2. **智能参数映射：**\n   - **Claude：** 直接传递 token 预算（如 16k tokens）\n   - **OpenAI (o1\u002Fo3)：** 将预算转换为 `reasoning_effort`\n       - “ultrathink”（≥32k）→ `high`\n       - “think hard”（16k-32k）→ `medium`\n       - “think”（\u003C16k）→ `low`\n   - **Gemini & Grok：** 自动保留思考签名和 XML 轨迹\n\n3. **通用兼容性：**\n   - 可使用“ultrathink”或“think hard”提示词，适用于任何支持的模型\n   - Claudish 会为您处理翻译层\n\n## 上下文缩放与自动压缩\n\n**v1.2.0 新增：** Claudish 现在能够智能管理 token 计数，支持任意上下文窗口大小（从 128k 到 2M+），同时保留 Claude Code 原生的自动压缩行为。\n\n### 挑战\n\nClaude Code 默认假设一个固定的上下文窗口（通常为 Sonnet 的 200k tokens）。\n- **小型模型（如 Grok 128k）：** Claude 可能过度消耗上下文而崩溃。\n- **超大型模型（如 Gemini 2M）：** Claude 会在使用量仅为 10% 时就过早压缩，浪费模型潜力。\n\n### 解决方案：Token 缩放\n\nClaudish 实现了一种“双重计数”系统：\n\n1. **内部缩放（用于 Claude）：**\n   - 从 OpenRouter 获取真实的上下文限制（如 1M tokens）。\n   - 我们按比例调整报告的 token 使用量，使 Claude 认为 1M tokens 相当于 200k。\n   - **结果：** 自动压缩将在正确的使用百分比（如 90%）触发，无论实际限制是多少。\n\n2. **准确报告（供您使用）：**\n   - 状态栏显示**真实未缩放的使用量**和**真实上下文百分比**。\n   - 您可以看到具体的成本和限制，而 Claude 仍然保持稳定运行。\n\n**好处：**\n- ✅ **适用于任何模型规模**（128k、1M、2M 等）\n- ✅ **解锁超大上下文**窗口（Claude Code 在 Gemini 下性能提升 10 倍！）\n- ✅ **防止小型模型崩溃**（Grok）\n- ✅ **原生行为**（压缩功能正常运作）\n\n## 开发\n\n### 项目结构\n\n```\nmcp\u002Fclaudish\u002F\n├── src\u002F\n│   ├── index.ts              # 主入口文件\n│   ├── cli.ts                # CLI 参数解析器\n│   ├── proxy-server.ts       # 基于 Hono 的代理服务器\n│   ├── transform.ts          # API 格式转换（来自 claude-code-proxy）\n│   ├── claude-runner.ts      # Claude CLI 运行程序（创建临时设置）\n│   ├── port-manager.ts       # 端口管理工具\n│   ├── config.ts             # 常量和默认值\n│   ├── types.ts              # TypeScript 类型定义\n│   └── services\u002F\n│       └── vision-proxy.ts   # 非视觉模型的图像描述服务\n├── tests\u002F                    # 测试文件\n├── package.json\n├── tsconfig.json\n└── biome.json\n```\n\n### 代理实现\n\nClaudish 使用基于 **Hono 的代理服务器**，灵感来源于 [claude-code-proxy](https:\u002F\u002Fgithub.com\u002Fkiyo-e\u002Fclaude-code-proxy)：\n\n- **框架：** [Hono](https:\u002F\u002Fhono.dev\u002F) - 快速、轻量级的 Web 框架\n- **API 转换：** 将 Anthropic API 格式 ↔ OpenAI 格式进行转换\n- **流式传输：**  volle支持 Server-Sent Events (SSE)\n- **工具调用：** 处理 Claude 的 tool_use ↔ OpenAI 的 tool_calls\n- **实战验证：** 基于生产级的 claude-code-proxy 实现\n\n**为什么选择 Hono？**\n- 原生支持 Bun（无需适配器）\n- 极其快速且轻量\n- 支持中间件（CORS、日志等）\n- 可跨 Node.js、Bun 和 Cloudflare Workers 使用\n\n### 构建与测试\n\n```bash\n# 安装依赖\nbun install\n\n# 开发模式\nbun run dev \"测试提示\"\n\n# 构建\nbun run build\n\n# 代码检查\nbun run lint\n\n# 格式化\nbun run format\n\n# 类型检查\nbun run typecheck\n\n# 运行测试\nbun test\n```\n\n### 协议合规性测试\n\nClaudish 包含一套全面的快照测试系统，以确保与官方 Claude Code 协议的 1:1 兼容性：\n\n```bash\n# 运行快照测试（13\u002F13 通过 ✅）\nbun test tests\u002Fsnapshot.test.ts\n\n# 完整工作流程：捕获测试用例 + 运行测试\n.\u002Ftests\u002Fsnapshot-workflow.sh --full\n\n# 从监控模式捕获新的测试用例\n.\u002Ftests\u002Fsnapshot-workflow.sh --capture\n\n# 调试 SSE 事件\nbun tests\u002Fdebug-snapshot.ts\n```\n\n**测试内容：**\n- ✅ 事件序列（message_start → content_block_start → deltas → stop → message_delta → message_stop）\n- ✅ 内容块索引（按顺序：0、1、2、...）\n- ✅ 工具输入流式传输（细粒度的 JSON 数据块）\n- ✅ 使用量指标（在 message_start 和 message_delta 中存在）\n- ✅ 停止原因（始终存在且有效）\n- ✅ 缓存指标（创建和读取令牌）\n\n**文档：**\n- [快速入门指南](.\u002FQUICK_START_TESTING.md) - 开始测试\n- [快照测试指南](.\u002FSNAPSHOT_TESTING.md) - 完整的测试文档\n- [实现细节](.\u002Fai_docs\u002FIMPLEMENTATION_COMPLETE.md) - 技术实现概要\n- [协议合规计划](.\u002Fai_docs\u002FPROTOCOL_COMPLIANCE_PLAN.md) - 详细的合规路线图\n\n### 全局安装\n\n```bash\n# 全局使用链接\nbun run install:global\n\n# 现在可以在任何地方使用\nclaudish \"你的任务\"\n```\n\n## 故障排除\n\n### “Claude Code CLI 未安装”\n\n安装 Claude Code：\n\n```bash\nnpm install -g claude-code\n# 或访问：https:\u002F\u002Fclaude.com\u002Fclaude-code\n```\n\n### “需要 OPENROUTER_API_KEY 环境变量”\n\n设置您的 API 密钥：\n\n```bash\nexport OPENROUTER_API_KEY=sk-or-v1-...\n```\n\n或者将其添加到您的 shell 配置文件中（`~\u002F.zshrc`、`~\u002F.bashrc`）：\n\n```bash\necho 'export OPENROUTER_API_KEY=sk-or-v1-...' >> ~\u002F.zshrc\nsource ~\u002F.zshrc\n```\n\n### “未找到可用端口”\n\n指定自定义端口：\n\n```bash\nclaudish --port 3000 \"你的任务\"\n```\n\n或者在 `src\u002Fconfig.ts` 中增加端口范围。\n\n### 代理错误\n\n检查 OpenRouter API 状态：\n- https:\u002F\u002Fopenrouter.ai\u002Fstatus\n\n验证您的 API 密钥是否有效：\n- https:\u002F\u002Fopenrouter.ai\u002Fkeys\n\n### 状态行未显示模型\n\n如果状态行没有显示模型名称：\n\n1. **检查是否传递了 --settings 标志：**\n   ```bash\n   # 在 Claudish 输出中查找以下内容：\n   # [claudish] 实例设置：\u002Ftmp\u002Fclaudish-settings-{时间戳}.json\n   ```\n\n2. **验证环境变量是否已设置：**\n   ```bash\n   # 应该由 Claudish 自动设置\n   echo $CLAUDISH_ACTIVE_MODEL_NAME\n   # 应输出类似：xAI\u002FGrok-1 的内容\n   ```\n\n3. **手动测试状态行命令：**\n   ```bash\n   export CLAUDISH_ACTIVE_MODEL_NAME=\"xAI\u002FGrok-1\"\n   cat > \u002Fdev\u002Fnull && echo \"[$CLAUDISH_ACTIVE_MODEL_NAME] 📁 $(basename \"$(pwd)\")\"\n   # 应输出：[xAI\u002FGrok-1] 📁 你的目录名\n   ```\n\n4. **检查临时设置文件：**\n   ```bash\n   # 文件创建在 \u002Ftmp\u002Fclaudish-settings-*.json 中\n   ls -la \u002Ftmp\u002Fclaudish-settings-*.json 2>\u002Fdev\u002Fnull | tail -1\n   cat \u002Ftmp\u002Fclaudish-settings-*.json | head -1\n   ```\n\n5. **验证 bash 是否可用：**\n   ```bash\n   which bash\n   # 应显示 bash 的路径（通常是 \u002Fbin\u002Fbash 或 \u002Fusr\u002Fbin\u002Fbash）\n   ```\n\n**注意：** 临时设置文件会在 Claudish 退出时自动清理。如果您看到多个文件，可能有实例崩溃——可以安全地手动删除它们。\n\n## 与 Claude Code 的比较\n\n| 特性         | Claude Code       | Claudish        |\n|--------------|-------------------|-----------------|\n| 模型         | 仅 Anthropic 模型 | 任意 OpenRouter 模型 |\n| API          | Anthropic API     | OpenRouter API  |\n| 成本         | Anthropic 定价    | OpenRouter 定价  |\n| 设置         | API 密钥 → 直接   | API 密钥 → 代理 → OpenRouter |\n| 速度         | 直接连接          | ~相同（本地代理）|\n| 功能         | 所有 Claude Code 功能 | 所有 Claude Code 功能 |\n| 视觉功能     | 原生支持（Anthropic 模型） | 任意模型（通过 Claude 自动描述） |\n\n**何时使用 Claudish：**\n- ✅ 想尝试不同模型（Grok、GPT-5 等）\n- ✅ 需要 OpenRouter 特定功能\n- ✅ 更倾向于 OpenRouter 的定价\n- ✅ 测试模型性能\n\n**何时使用 Claude Code：**\n- ✅ 只想使用最新的 Anthropic 模型\n- ✅ 需要官方 Anthropic 支持\n- ✅ 设置更简单（无需代理）\n\n## 贡献\n\n欢迎贡献！请：\n\n1. 分支仓库\n2. 创建功能分支：`git checkout -b feature\u002Famazing`\n3. 提交更改：`git commit -m '添加惊人功能'`\n4. 推送到分支：`git push origin feature\u002Famazing`\n5. 打开拉取请求\n\n## 许可证\n\nMIT © MadAppGang\n\n## 致谢\n\nClaudish 的代理实现基于 [@kiyo-e](https:\u002F\u002Fgithub.com\u002Fkiyo-e) 的 [claude-code-proxy](https:\u002F\u002Fgithub.com\u002Fkiyo-e\u002Fclaude-code-proxy)。我们对其优秀的基于 Hono 的 API 转换层进行了改造，以实现与 OpenRouter 的集成。\n\n**来自 claude-code-proxy 的关键贡献：**\n- Anthropic ↔ OpenAI API 格式转换（`transform.ts`）\n- 使用服务器发送事件处理流式响应\n- 工具调用兼容层\n- 干净的 Hono 框架架构\n\n感谢 claude-code-proxy 团队构建了如此强大且可用于生产的基础设施！🙏\n\n## 链接\n\n- **GitHub**：https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\n- **OpenRouter**：https:\u002F\u002Fopenrouter.ai\n- **Claude Code**：https:\u002F\u002Fclaude.com\u002Fclaude-code\n- **Bun**：https:\u002F\u002Fbun.sh\n- **Hono**：https:\u002F\u002Fhono.dev\n- **claude-code-proxy**：https:\u002F\u002Fgithub.com\u002Fkiyo-e\u002Fclaude-code-proxy\n\n---\n\n由 [MadAppGang](https:\u002F\u002Fmadappgang.com) 用心打造","# Claudish 快速上手指南\n\nClaudish 是一个命令行工具，允许你在 **Claude Code** 的界面中使用任意 AI 模型（如 Gemini、GPT-4o、Kimi、GLM、Ollama 等）。它通过本地代理将请求转换为 Anthropic API 兼容格式，让你无需额外订阅即可利用现有的 AI 服务。\n\n## 环境准备\n\n在开始之前，请确保满足以下前置条件：\n\n1.  **操作系统**：Linux、macOS 或 Windows (需配合 WSL 或 Git Bash)。\n2.  **核心依赖**：必须已安装 [Claude Code](https:\u002F\u002Fclaude.com\u002Fclaude-code) CLI 工具。\n3.  **运行环境**：Node.js (推荐 v18+) 或 Bun (v1.3.0+)。\n4.  **API 密钥**：至少拥有一个支持的提供商密钥（任选其一）：\n    *   **OpenRouter** (推荐，支持 580+ 模型): [获取密钥](https:\u002F\u002Fopenrouter.ai\u002Fkeys)\n    *   **Google Gemini**: [获取密钥](https:\u002F\u002Faistudio.google.com\u002Fapikey)\n    *   **OpenAI**: [获取密钥](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)\n    *   **Kimi \u002F GLM \u002F MiniMax**: 对应平台的 API Key\n    *   **本地模型**: 安装 Ollama 或 LM Studio (无需 API Key)\n\n> **国内开发者提示**：如果你主要使用国产模型（如 Kimi、GLM-4、Qwen），可直接使用对应厂商的 API Key；若需访问受限模型，建议配置好网络环境或使用 OpenRouter 作为统一入口。\n\n## 安装步骤\n\n你可以选择以下任意一种方式进行安装：\n\n### 方式一：使用 npm (通用)\n```bash\nnpm install -g claudish\n```\n\n### 方式二：使用 Bun (更快速)\n```bash\nbun install -g claudish\n```\n\n### 方式三：免安装直接使用 (npx\u002Fbunx)\n无需全局安装，每次运行时动态调用：\n```bash\nnpx claudish@latest --model x-ai\u002Fgrok-code-fast-1 \"your prompt\"\n# 或\nbunx claudish@latest --model x-ai\u002Fgrok-code-fast-1 \"your prompt\"\n```\n\n### 方式四：Shell 脚本 (Linux\u002FmacOS)\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FMadAppGang\u002Fclaudish\u002Fmain\u002Finstall.sh | bash\n```\n\n## 基本使用\n\n### 1. 初始化技能（首次使用推荐）\n在项目根目录下运行以下命令，安装 Claudish 技能包。这将启用自动子代理委托和最佳实践模式，防止上下文污染。\n\n```bash\ncd \u002Fpath\u002Fto\u002Fyour\u002Fproject\nclaudish --init\n```\n*运行后请重启 Claude Code 以生效。*\n\n### 2. 交互式模式（最简单）\n直接运行 `claudish`，工具会自动提示你输入 API Key 并选择模型。适合初次体验。\n\n```bash\nclaudish\n# 按提示输入 OpenRouter 或其他提供商的 Key\n# 选择模型后即可开始对话\n```\n\n### 3. 指定模型运行\n通过 `--model` 参数直接指定提供商和模型。语法格式为 `provider@model-name`。\n\n**设置环境变量（可选，避免每次输入 Key）：**\n```bash\nexport OPENROUTER_API_KEY=sk-or-v1-...\nexport GEMINI_API_KEY=...\nexport ANTHROPIC_API_KEY=sk-ant-api03-placeholder # 占位符，必须设置\n```\n\n**运行示例：**\n\n*   **使用 Gemini Advanced:**\n    ```bash\n    claudish --model g@gemini-2.0-flash \"为当前项目添加单元测试\"\n    ```\n\n*   **使用 ChatGPT (GPT-4o):**\n    ```bash\n    claudish --model oai@gpt-4o \"重构 src\u002Futils 目录下的代码\"\n    ```\n\n*   **使用 Kimi:**\n    ```bash\n    claudish --model kimi@kimi-k2.5 \"分析当前的日志文件\"\n    ```\n\n*   **使用本地 Ollama 模型 (完全离线):**\n    ```bash\n    claudish --model ollama@qwen2.5-coder:latest \"解释这段代码的功能\"\n    ```\n\n*   **使用 OpenRouter 聚合模型:**\n    ```bash\n    claudish --model openrouter@anthropic\u002Fclaude-3.5-sonnet \"审查代码安全性\"\n    ```\n\n### 4. 高级用法：AI 代理模式\n在 Claude Code 内部调用其他模型时，建议使用文件指令模式以避免上下文溢出：\n\n```bash\n# 查看 AI 代理使用指南\nclaudish --help-ai\n\n# 示例：通过子代理任务调用 Grok 模型\n# (在 Claude Code 对话中)\nUse Task tool to run: claudish --model x-ai\u002Fgrok-code-fast-1 --stdin \u003C instructions.md\n```\n\n---\n**提示**：Claudish 支持透传所有原生 Claude Code 的参数（如 `--agent`, `--effort` 等），你可以像使用原生命令一样灵活组合。","某全栈开发者需要在本地重构一个遗留的 Python 数据处理模块，希望利用 Claude Code 强大的多文件编辑能力，但受限于团队预算无法额外购买 Anthropic 订阅，且部分代码涉及敏感数据严禁上传云端。\n\n### 没有 claudish 时\n- **工具割裂**：必须在终端手动切换不同的 AI 客户端，无法享受 Claude Code 统一的命令行交互体验和多文件自动编排能力。\n- **成本高昂**：为了使用高级编码代理功能，被迫单独开通昂贵的 Anthropic Max 订阅，导致现有 Gemini Advanced 或 ChatGPT Plus 会员权益闲置浪费。\n- **隐私风险**：处理敏感业务逻辑时，只能选择功能较弱的本地脚本或完全断网开发，难以在保障数据不出域的前提下获得高质量的代码建议。\n- **配置繁琐**：每次尝试不同模型（如从 GPT-4o 切换到 Qwen）都需要重写复杂的 API 调用脚本，无法在同一会话中灵活热切换。\n\n### 使用 claudish 后\n- **体验统一**：直接通过 `claudish --model oai@gpt-4o` 命令，即可让现有的 ChatGPT Plus 账号在原生 Claude Code 界面中运行，无缝获得多文件重构能力。\n- **降本增效**：复用团队已购买的 Google Vertex AI 或 OpenRouter 额度，无需新增任何订阅费用，真正实现“一份投入，多端通用”。\n- **安全合规**：针对敏感模块，一键切换至本地 Ollama 模型（`claudish --model ollama@qwen2.5-coder`），确保代码全程在本地运行，彻底杜绝泄露风险。\n- **灵活调度**：在单次开发会话中，可根据任务难度动态切换模型，简单任务用轻量模型省钱，复杂架构用高端模型提质，全程无需重启或重新配置。\n\nclaudish 的核心价值在于打破了模型供应商与顶级编码交互界面之间的壁垒，让开发者能自由组合现有资源，以最低成本和最高安全性释放 AI 编程潜力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMadAppGang_claudish_8cf03964.png","MadAppGang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMadAppGang_8a06976d.png","",null,"i@madappgang.com","http:\u002F\u002Fmadappgang.com","https:\u002F\u002Fgithub.com\u002FMadAppGang",[80,84,88,92,96,100,104,108],{"name":81,"color":82,"percentage":83},"TypeScript","#3178c6",82,{"name":85,"color":86,"percentage":87},"Swift","#F05138",9.7,{"name":89,"color":90,"percentage":91},"C","#555555",3.4,{"name":93,"color":94,"percentage":95},"Go","#00ADD8",2.8,{"name":97,"color":98,"percentage":99},"Shell","#89e051",1.1,{"name":101,"color":102,"percentage":103},"JavaScript","#f1e05a",0.7,{"name":105,"color":106,"percentage":107},"HTML","#e34c26",0.4,{"name":109,"color":110,"percentage":111},"Makefile","#427819",0,712,95,"2026-04-10T07:43:32","Linux, macOS, Windows","非必需。仅在使用本地模型（如 Ollama, LM Studio, vLLM, MLX）时取决于所选模型的需求；云端模型无需本地 GPU。","未说明（取决于是否运行本地模型及模型大小）",{"notes":119,"python":120,"dependencies":121},"该工具是一个 CLI 代理，核心依赖是已安装的 'Claude Code' 官方客户端。支持通过 npm 或 Bun 安装。若使用云端模型（如 OpenRouter, Gemini, OpenAI），需配置相应的 API Key；若使用本地模型，需自行部署 Ollama、LM Studio 等服务。首次使用可通过交互式向导配置。","未说明",[122,123,124],"Node.js (LTS)","Bun (v1.3.0+, 可选)","Claude Code CLI",[15,13,14],[127,128,129],"ai","claude","claudecode","2026-03-27T02:49:30.150509","2026-04-11T16:54:35.798383",[133,138,143,147,151,156,161],{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},9543,"如何在不同模型之间切换时保持对话上下文？","上下文在模型切换时是完全保留的。Claude Code 在客户端管理对话历史，并在每次请求中发送**完整的消息历史**。Claudish 是无状态的，它只负责路由和转换负载，不会剥离任何消息。\n\n例如，当你用 Opus 进行规划然后切换到 Sonnet 进行编码时，Sonnet 模型会在请求中收到之前所有的 Opus 消息和回复。你可以通过查看调试日志中的 `messageCount` 字段来确认这一点，无论哪个模型处理请求，该字段都会随着对话增长而增加。","https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues\u002F47",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},9544,"如何启用流式输出（Streaming）而不是使用 --json 一次性输出？","从 v4.3.0 版本开始，已添加 `--stream` 标志以启用绕过 Claude Code 的 NDJSON 流式输出。\n\n使用方法：\n```bash\n# 基础流式输出\nclaudish --stream --model gpt-4o \"Hello world\"\n\n# 配合标准输入\ncat prompt.txt | claudish --stream --stdin --model gemini-2.0-flash\n\n# 管道到 jq 进行处理\nclaudish --stream --model grok-code \"Explain recursion\" | jq -c 'select(.event==\"delta\")'\n\n# 本地模型\nclaudish --stream --model ollama@llama3.2 \"Hi\"\n```\n\n输出格式为 NDJSON，包含 start, delta, thinking, tool_use, done, error 等事件类型。","https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues\u002F42",{"id":144,"question_zh":145,"answer_zh":146,"source_url":142},9545,"如何让 Claudish 读取文件内容作为提示词（Prompt）？","使用 `--stdin` 标志从文件读取内容：\n\n```bash\n# 重定向文件\nclaudish --model grok \"\" --stdin \u003C a.md\n\n# 或者使用管道\ncat a.md | claudish --model grok \"\" --stdin\n```\n\n文件内容将成为提示词。你可以将引号内的提示词留空，或者在其中添加额外的上下文信息。",{"id":148,"question_zh":149,"answer_zh":150,"source_url":142},9546,"Claudish 是否支持跨会话持久化对话历史？","Claudish 默认不在运行之间持久化对话。每次调用都是一个全新的上下文。\n\n你的选项包括：\n1. **交互模式** (`claudish -i`)：在该次运行期间保持持久会话，你可以进行多轮对话直到退出。\n2. **基于文件的上下文**：通过 `--stdin` 从包含对话历史的文件中传递之前的上下文。\n\n如果你需要真正的多会话连续性（类似 ChatGPT 的对话线程），目前尚不支持。对于需要状态的集成，可以参考 `claudish --help-ai` 中提到的基于文件的模式。",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},9547,"为什么在交互模式下设置的环境变量模型别名（如 CLAUDISH_MODEL_HAIKU）不生效？","此问题已在 **v4.0.5** 版本中修复。现在的优先级顺序如下：\n1. 角色映射（如 `--model-haiku`, `CLAUDISH_MODEL_HAIKU` 等环境变量）\n2. 请求的模型（来自 `\u002Fmodel` 命令）\n3. 默认模型（作为后备）\n\n现在即使通过 `--model` 或 `CLAUDISH_MODEL` 设置了默认模型，角色映射也能正常工作，且 `\u002Fmodel` 切换命令也会尊重请求的模型。\n\n示例：\n```bash\nexport CLAUDISH_MODEL='z-ai\u002Fglm-4.7'\nexport CLAUDISH_MODEL_HAIKU='z-ai\u002Fglm-4.7-flash'\nclaudish\n# 在会话中输入：\u002Fmodel haiku → 将使用 z-ai\u002Fglm-4.7-flash\n```\n请运行 `npm install -g claudish@latest` 更新。","https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues\u002F36",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},9548,"为什么某些带有 :free 后缀的免费模型显示不可用或无法选择？","根本原因是 **OpenRouter  discontinued（停止提供）了部分模型**。OpenRouter 经常添加或移除免费模型，`:free` 后缀本身是有效的，但你尝试的一些模型可能已不再存在。\n\n建议直接使用提供商的 API 以获得更高的可靠性：\n```bash\n# Google Gemini (免费层级)\nexport GEMINI_API_KEY=\"your-key\"\nclaudish --model google@gemini-2.0-flash\n\n# xAI Grok (部分模型免费)\nexport XAI_API_KEY=\"your-key\"\nclaudish --model xai@grok-code-fast-1\n```\n如果遇到问题，请检查 OpenRouter 当前可用的模型列表。","https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues\u002F19",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},9549,"我想直接使用 Vertex AI 或 Google API，为什么还强制要求设置 OPENROUTER_API_KEY？","这是一个已知的设计限制\u002F问题。即使用户提供了其他提供商的密钥（如 `VERTEX_API_KEY`）并指定了直接模型（如 `v\u002Fgemini-2.5-flash`），程序当前仍会检查并要求 `OPENROUTER_API_KEY` 环境变量。\n\n社区已注意到此问题并讨论了重构代码以正确处理前缀和直接 API 调用的必要性。目前的临时解决方案可能需要在环境中设置一个虚拟的 OpenRouter Key，或者等待后续版本修复此逻辑判断。","https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fissues\u002F35",[167,172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262],{"id":168,"version":169,"summary_zh":170,"released_at":171},204817,"v6.12.2","## [6.12.2] - 2026-04-10\n\n### Bug Fixes\n\n- v6.12.2 — team orchestrator race conditions and test hardening([`302e3f3`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F302e3f372f0be1961175ea217b07e576a3262e2c))\n- use official pricing from provider docs, not aggregator prices([`0e8bc48`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F0e8bc480790d92763b49f5cc99f619b8d370fa53))\n\n### Documentation\n\n- update CHANGELOG.md for v6.12.1([`21c5fc0`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F21c5fc07cca05040097f18f5c9e7dcac92280767))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.12.1...v6.12.2\n","2026-04-10T02:44:12",{"id":173,"version":174,"summary_zh":175,"released_at":176},204818,"v6.12.1","## [6.12.1] - 2026-04-10\n\n### Bug Fixes\n\n- v6.12.1 — fix xAI pricing conversion (was 100x too low)([`871e957`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F871e95727fc18bf55963819c2b081a7f5ef952f9))\n- close remaining race conditions in team-orchestrator *(team)* ([`832cbb7`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F832cbb7e96e01eaca8564cdb42db400a2026a8e3))\n\n### Documentation\n\n- update CHANGELOG.md for v6.12.0([`107e843`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F107e8439cea41cc248677714c4d14e97ed1fafb6))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.12.0...v6.12.1\n","2026-04-10T02:18:36",{"id":178,"version":179,"summary_zh":180,"released_at":181},204819,"v6.12.0","## [6.12.0] - 2026-04-09\n\n### Documentation\n\n- update CHANGELOG.md for v6.11.1([`d89cddd`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fd89cdddd5ad2004356e7727ad0898e7ef39bc0e7))\n\n### New Features\n\n- v6.12.0 — new API collectors, error report ingest, auto-recommender, team timeout fix([`e940c79`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fe940c79a60fa3ab74dbf98ac6e0f657b6f9063ef))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.11.1...v6.12.0\n","2026-04-09T12:25:11",{"id":183,"version":184,"summary_zh":185,"released_at":186},204820,"v6.11.1","## [6.11.1] - 2026-04-08\n\n### Bug Fixes\n\n- v6.11.1 — fix OAuth login in bundled dist, model catalog improvements([`73cff9c`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F73cff9caa24818935fce2304c77756c7f13639b9))\n\n### Documentation\n\n- update CHANGELOG.md for v6.11.0([`f6a4ce0`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Ff6a4ce09af964a2df6f1dee5f83fc0ddd26f7a04))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.11.0...v6.11.1\n","2026-04-08T00:09:55",{"id":188,"version":189,"summary_zh":190,"released_at":191},204821,"v6.11.0","## [6.11.0] - 2026-04-07\n\n### Bug Fixes\n\n- remove uncommitted warmRecommendedModels import that breaks CI([`b4265ff`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fb4265ff66e0c52eac57c513eee15a0f65e39dd3a))\n\n### Documentation\n\n- update CHANGELOG.md for v6.10.1([`8233ae5`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F8233ae5cfc20c2e802b1239856c2337ec9d65c57))\n\n### New Features\n\n- v6.11.0 — Anthropic error format, SSE pings, web search detection([`a249eb4`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fa249eb4a2e86ec2b3a023a2183d7a3a7b76fb0a7))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.10.1...v6.11.0\n","2026-04-07T19:45:44",{"id":193,"version":194,"summary_zh":195,"released_at":196},204822,"v6.10.1","## [6.10.1] - 2026-04-07\n\n### Documentation\n\n- update CHANGELOG.md for v6.10.0([`aaf24f2`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Faaf24f21df44867cf42770202d0d7ee0a0cd0033))\n\n### New Features\n\n- v6.10.1 — auto-update with changelog, single version source of truth([`de889eb`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fde889eb6609145bb1a40643101b70236576be1e3))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.10.0...v6.10.1\n","2026-04-07T19:23:38",{"id":198,"version":199,"summary_zh":200,"released_at":201},204823,"v6.10.0","## [6.10.0] - 2026-04-07\n\n### Documentation\n\n- update CHANGELOG.md for v6.9.1([`714b1b5`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F714b1b5166662ea3aac3087faad51be0e896fd25))\n\n### New Features\n\n- v6.10.0 — Codex subscription OAuth, unified login\u002Flogout, quota registry([`a2dd1ea`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fa2dd1ea156b96da16ac8021702edf614ce9ebe3d))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.9.1...v6.10.0\n","2026-04-07T05:22:51",{"id":203,"version":204,"summary_zh":205,"released_at":206},204824,"v6.9.1","## [6.9.1] - 2026-04-06\n\n### Documentation\n\n- update CHANGELOG.md for v6.9.0([`3075035`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F3075035e28ffc425917f3ccc0680f27f9b860693))\n\n### Other Changes\n\n- bump to v6.9.1 — verify magmux npm publishing([`3384f03`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F3384f034facf1da80cef0061da7ed4e2d3b5815b))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.9.0...v6.9.1\n","2026-04-06T09:29:00",{"id":208,"version":209,"summary_zh":210,"released_at":211},204825,"v6.9.0","## [6.9.0] - 2026-04-06\n\n### Documentation\n\n- update CHANGELOG.md for v6.8.1([`9b376b6`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F9b376b6eb588441bcaf165764c41052303598bc2))\n\n### New Features\n\n- v6.9.0 — model catalog overhaul, team grid mode, Slack alerts([`de0b815`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fde0b81554206fc3072f6e74549a3699220c2862e))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.8.1...v6.9.0\n","2026-04-06T07:38:03",{"id":213,"version":214,"summary_zh":215,"released_at":216},204826,"v6.8.1","## [6.8.1] - 2026-04-06\n\n### Documentation\n\n- update CHANGELOG.md for v6.8.0([`d72520d`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fd72520db1264cf6799a9c470f5fc94d1e86fe3a3))\n\n### New Features\n\n- platform-specific magmux npm packages + stripped binaries([`efd6bba`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fefd6bba4dd71f3ae34e9868501d10941a10b9258))\n\n### Other Changes\n\n- bump to v6.8.1 — platform-specific magmux packages([`a03e995`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fa03e99558e06c1bae0bdfb485d471716b1bbe785))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.8.0...v6.8.1\n","2026-04-06T05:23:22",{"id":218,"version":219,"summary_zh":220,"released_at":221},204827,"v6.8.0","## [6.8.0] - 2026-04-06\n\n### Documentation\n\n- update CHANGELOG.md for v6.7.0([`57d6ae5`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F57d6ae522dc11f9d3c9c08e0c78fca12817f745b))\n\n### New Features\n\n- v6.8.0 — add DeepSeek as native direct API provider([`a833000`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fa833000d59d3a4ce5d610201bf967ea867dd9ead))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.7.0...v6.8.0\n","2026-04-06T04:57:35",{"id":223,"version":224,"summary_zh":225,"released_at":226},204828,"v6.7.0","## [6.7.0] - 2026-04-06\n\n### Documentation\n\n- update CHANGELOG.md for v6.6.3([`dd7e6fb`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fdd7e6fbe9d47df1ba63d4bfc30436ddbd7429c31))\n\n### New Features\n\n- v6.7.0 — replace mtm with magmux, improve catalog resolver, add OAuth manager([`6759005`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F675900567be9f139aece1f674ed8f6880843bd89))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.6.3...v6.7.0\n","2026-04-06T04:36:27",{"id":228,"version":229,"summary_zh":230,"released_at":231},204829,"v6.6.3","## [6.6.3] - 2026-04-06\n\n### Bug Fixes\n\n- handle magmux artifact names in release file preparation *(ci)* ([`c8aca08`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fc8aca08575f3265c869ca85b7b79f04dad83f2a3))\n- v6.6.3 — reject sentinel model names in team orchestrator([`e485263`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fe485263cfdd99aeda77b195fb7de572274c355ce))\n- reject sentinel model names in team orchestrator *(team)* ([`91ee9a8`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F91ee9a811fb821dbd1f01214cdbfd977017ed96f))\n\n### Documentation\n\n- update CHANGELOG.md for v6.6.2([`4c071a6`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F4c071a69e105daf92fb2967392b0637d1129074c))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.6.2...v6.6.3\n","2026-04-06T04:22:40",{"id":233,"version":234,"summary_zh":235,"released_at":236},204830,"v6.6.2","## [6.6.2] - 2026-04-06\n\n### Bug Fixes\n\n- v6.6.2 — Gemini image translation, CI npm fix([`bba0327`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fbba03275bbfaf9cb8448eff00723d800d2094341))\n\n### Documentation\n\n- update CHANGELOG.md for v6.6.1([`5fd634b`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F5fd634b40022fd2b8d332372db9091a1ab5119b5))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.6.1...v6.6.2\n","2026-04-06T02:24:20",{"id":238,"version":239,"summary_zh":240,"released_at":241},204831,"v6.6.1","## [6.6.1] - 2026-04-06\n\n### Bug Fixes\n\n- v6.6.1 — OpenAI schema compatibility for bare object MCP tools([`8fe7373`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F8fe73736d7f3a5d07ede283e407e7a5889f9a1ca))\n- ensure properties:{} on bare object schemas for OpenAI compatibility([`99d3e73`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F99d3e732f82e776a4d3d809666f95233c206fb55))\n- quota bar without pill bg — add lowercase color codes to magmux([`d029001`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fd0290013c04248ee593b88388fa257827b694f5e))\n\n### Documentation\n\n- update CHANGELOG.md for v6.6.0([`2bf5e9a`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F2bf5e9a6b962e4b1bc15afc46702a62f10f4c9c0))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.6.0...v6.6.1\n","2026-04-06T01:28:08",{"id":243,"version":244,"summary_zh":245,"released_at":246},204832,"v6.6.0","## [6.6.0] - 2026-04-01\n\n### Documentation\n\n- update CHANGELOG.md for v6.5.3([`76e4df5`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F76e4df586c651289b17196366cd4f5711a320058))\n\n### New Features\n\n- magmux v0.3.0 — grid mode, status bar, socket IPC, tint overlays([`4bbbce2`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F4bbbce21f341405009ee06baac0a66e7c3c7245d))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.5.3...v6.6.0\n","2026-04-01T14:21:50",{"id":248,"version":249,"summary_zh":250,"released_at":251},204833,"v6.5.3","## [6.5.3] - 2026-04-01\n\n### Bug Fixes\n\n- quota display in status bar — strip provider prefix, await fetch, rewrite token file([`b026b2f`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fb026b2ff3d2a3b95530f3136e125971177315508))\n\n### Documentation\n\n- update CHANGELOG.md for v6.5.2([`67d4181`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F67d418143f2ee718ee425ce7a26d6f32fb3e2f8d))\n\n### Other Changes\n\n- bump to v6.5.3([`1eafee8`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F1eafee81943eb2d45ee552de3184935f8365205a))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.5.2...v6.5.3\n","2026-04-01T13:04:45",{"id":253,"version":254,"summary_zh":255,"released_at":256},204834,"v6.5.2","## [6.5.2] - 2026-04-01\n\n### Bug Fixes\n\n- poll token file for provider\u002Fquota in magmux status bar([`15adbb4`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F15adbb488a85d9b8827ad4b4dc1bb776c8c52647))\n\n### Documentation\n\n- update CHANGELOG.md for v6.5.1([`6f31af7`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F6f31af73460921abcc3d6a896c48f30b0dd36538))\n\n### Other Changes\n\n- bump to v6.5.2([`7b5a267`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F7b5a2678339b79af1a73c8e18a3bd28de27aca06))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.5.1...v6.5.2\n","2026-04-01T12:44:45",{"id":258,"version":259,"summary_zh":260,"released_at":261},204835,"v6.5.1","## [6.5.1] - 2026-04-01\n\n### Bug Fixes\n\n- show provider name and quota in claudish status bar([`eb8693c`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Feb8693c9b60ed3e6e7f007c7061f51918a07733d))\n\n### Documentation\n\n- update CHANGELOG.md for v6.5.0([`ad801f6`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fad801f66c7862212752442b455677857301367f2))\n\n### Other Changes\n\n- bump to v6.5.1([`9ed4074`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F9ed40745d52c7a278faa7a00a15680a2fddfebd7))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.5.0...v6.5.1\n","2026-04-01T12:24:33",{"id":263,"version":264,"summary_zh":265,"released_at":266},204836,"v6.5.0","## [6.5.0] - 2026-04-01\n\n### Bug Fixes\n\n- magmux set TERM=screen-256color (root cause of all VT issues)([`488cf7e`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F488cf7e99a18321bdabb146b58e0f81ac39d5321))\n- magmux handle Kitty keyboard protocol CSI sequences([`b4b02ff`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fb4b02ff56261ca01067451dfc12de184f783090c))\n- magmux filter CSI intermediate bytes to prevent SGR corruption([`ea6e723`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fea6e72339ed2a5a88ef123ba96998d5629c9c61a))\n- magmux suppress underline SGR + fix border rendering order([`a1b20b0`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fa1b20b0f61a0a6638681fe41781784e6eb70e8c9))\n\n### Documentation\n\n- MTM-to-magmux migration guide for claudish developers([`c296671`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fc2966716e423e4b38efc8728df908825952e00c4))\n- add magmux usage guide to claudish documentation([`6ea796d`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F6ea796dba3f0c5faa31a2f51315e281ab605ce66))\n- update CHANGELOG.md for v6.4.6([`84674f5`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F84674f5c8b6f05a92940531c300f3549091bc9a3))\n\n### New Features\n\n- v6.5.0 — Gemini Code Assist overhaul, auth commands, quota CLI, Codex OAuth([`f9b1c54`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Ff9b1c54682d16cf8684d3ec8ce4b4201cddef59d))\n- magmux VT parser — implement tmux-equivalent escape sequence coverage([`c8abea2`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002Fc8abea2f2023119f62c7e10def176ffdd87d938f))\n- team grid mode — mtm-based multi-model visual display([`3da53f1`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F3da53f196c90c2790d009af39ea1cf8573e9cc91))\n\n### Performance\n\n- magmux dirty-flag rendering — skip redraws when nothing changed([`7fb0eb3`](https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcommit\u002F7fb0eb34e8d69c673c4e649beb5070e1b30e6fde))\n\n\n\n## Install\n\n```bash\n# npm\nnpm install -g claudish\n\n# Homebrew\nbrew install MadAppGang\u002Ftap\u002Fclaudish\n\n# or download binary from assets below\n```\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FMadAppGang\u002Fclaudish\u002Fcompare\u002Fv6.4.6...v6.5.0\n","2026-04-01T12:00:02"]