CrushCrush
crush 是 Charm 生态出品的 TUI 编码 agent,在终端里跑。 它的 列明 MCP 三种传输方式,并带一个官方订阅方案 Hyper。
A TUI coding agent in the Charm ecosystem that runs in your terminal. Its MCP section describes three transport options, and it ships an official subscription plan, Hyper.
Hyper is its own paid provider, so two cost models coexist. The license on GitHub is NOASSERTION, so commercial use is not something you can assume.
适合与不适合When to use it, when not to
这几类人适合用它:
- 喜欢 Charm 生态终端体验(TUI 审美与交互)的用户
- 需要明确 MCP 传输方式(http / stdio / sse 三种都支持)的人
- 想在官方订阅方案 Hyper 与自带 key 之间切换的人
- 想中途换模型又不丢上下文的人
不适合需要明确开源许可做二次分发的场景 —— GitHub 识别为 NOASSERTION,条款未核验。
Several kinds of people fit:
- Users who like the Charm ecosystem's terminal experience (TUI aesthetics and interaction)
- People who need to switch between several providers, or want the official Hyper subscription
- People who want to switch models mid-session without losing context (the official README promises exactly this)
- People who want local models and want to declare their context window explicitly
- People who need all three MCP transports supported
Not a fit for scenarios needing a clear open-source licence for redistribution — GitHub reports NOASSERTION and the terms were not verified.
中文生态China availability 国产 / 国内可直接用 / 备案状态 · 快照domestic / direct access / CAC filing · snapshot 2026-10-20
- 出品属地Origin
- 国外出品foreign-made 国外主体(网信办公示名单未见对应备案主体)。foreign entity (no matching filing entity in the CAC registry).
- 国内使用Direct access
- 大陆可直连direct OK 官网仓库在 GitHub,大陆直连波动(同日实测 200/000 混合);npm / PyPI 安装源实测稳定可达。Hosted on GitHub — direct reachability from mainland fluctuates (200/000 mixed on the same day); npm / PyPI install routes measured stable.
- 备案状态CAC filing
- 未见于备案名单not in filing list:未见于网信办公示名单(2026-10-20 检索 13 批附件,https://www.cac.gov.cn/2024-04/02/c_1713729983803145.htm);该产品未面向大陆公众提供服务,备案不适用。not in the CAC public registry (13 batch attachments searched 2026-10-20, https://www.cac.gov.cn/2024-04/02/c_1713729983803145.htm); the product does not serve the mainland public, so filing does not apply.
备案信息以网信办《生成式人工智能服务已备案信息》公示名单为准(按批次滚动更新,本站只抄编号不解读);「大陆可直连」是本站从大陆网络直连实测的结果,不是厂商承诺。GitHub 类站点当日实测有波动,口径写在依据里。Filing status is quoted from the CAC public registry (updated batch by batch; this site copies the number and does not interpret it). "Direct access" is this site's own reachability measurement from a mainland network, not a vendor promise. GitHub-hosted sites fluctuated on the measurement day — the note says so.
固定坐标系Fixed coordinate system
8 个维度dimensions, 与同分区其他对象逐项可比each comparable item by item against others in the same section.
- 模型与开放条件Model & openness
它自己不带模型,模型全要你自备(BYOK),但可接的 provider 很多。
官方 README 给了完整清单与多种换法。其中包括官方自营的订阅方案 Hyper。
官方 README 原文:
官方原文:"Hyper, from Charm, is the official Crush provider. It's subscription-based"
官方 README 另提到 Hyper 有免费层,以及零数据留存(ZDR)。
除 Hyper,官方 README 点名的 provider 有:
- Anthropic、OpenAI、Gemini、OpenRouter
- Vercel AI Gateway、Z.ai、MiniMax、Synthetic
- Hugging Face、Cerebras、io.net、Alibaba
- Groq、Avian、OpenCode Zen & Go
- Google Cloud VertexAI、Amazon Bedrock(Claude)
- Azure OpenAI、Moonshot
每家都有对应环境变量(如
ANTHROPIC_API_KEY)。换法有三种:
- 接任意兼容端点:命令是
provider add,参数依次是 provider id、--type、--base-url、--api-key,其中--type只能填openai-compat或anthropic
- 注册模型:用
model add <provider>/<id> --context-window …注册,并声明该模型能用多长的上下文
- 设默认模型:
model large/model small分别设默认大、小模型
默认清单来自官方维护的 Catwalk 仓库,并自动更新。
本地模型:官方支持 llamacpp、omlx、lmstudio、litellm、ollama,并自动发现模型。
官方 README 给的本地接法是:
provider add ollama --type ollama --base-url http://localhost:11434/v1/It ships no model of its own — all models are BYOK, but many providers can be connected.
The official README gives the full list and several ways to switch. It includes Charm's own subscription offering Hyper.
Official README wording:
Official wording: "Hyper, from Charm, is the official Crush provider. It's subscription-based"
The official README also mentions Hyper has a free tier, and zero data retention (ZDR).
Besides Hyper, providers named in the official README:
- Anthropic, OpenAI, Gemini, OpenRouter
- Vercel AI Gateway, Z.ai, MiniMax, Synthetic
- Hugging Face, Cerebras, io.net, Alibaba
- Groq, Avian, OpenCode Zen & Go
- Google Cloud VertexAI, Amazon Bedrock (Claude)
- Azure OpenAI, Moonshot
Each has a corresponding environment variable (e.g.
ANTHROPIC_API_KEY).Three ways to switch:
- connect any compatible endpoint: the command is
provider add, arguments in order are provider id,--type,--base-url,--api-key, where--typeonly acceptsopenai-compatoranthropic
- register a model: via
model add <provider>/<id> --context-window …, declaring how long a context the model supports
- set default models:
model large/model smallset the default large and small models respectively
The default catalog comes from the officially maintained Catwalk repository and updates automatically.
Local models: officially supported are llamacpp, omlx, lmstudio, litellm, ollama, with automatic model discovery.
The local connection example in the official README:
provider add ollama --type ollama --base-url http://localhost:11434/v1/- 运行位置Where it runs
本地进程,在终端里跑,用 Charm 的终端库做 TUI。
安装方式有 Homebrew、NPM、Arch Linux 等。
多个客户端可以共享同一个 workspace。 指向同一工作目录的第二个客户端会附着到已存在的 workspace, 共享会话列表、消息历史、权限队列、LSP 与 MCP 状态。
但每次新调用都会启动新进程。 所以 first-wins 规则会影响共享 workspace 的配置。
A local process, running in the terminal, with a TUI built on Charm's terminal libraries.
Install options include Homebrew, NPM, Arch Linux, etc.
Multiple clients can share one workspace. A second client pointing at the same working directory attaches to the existing workspace, sharing the session list, message history, permission queue, LSP and MCP state.
But every new invocation starts a new process. So the first-wins rule affects the shared workspace's configuration.
- 本地文件Local files
默认只在项目工作区读写,没有全量语义索引。 范围靠两样东西界定:LSP,以及忽略规则。
忽略边界:官方 README 原文「Crush respects
.gitignorefiles by default」。 另可用同语法的.crushignore追加排除,放项目根或子目录都行。初始化:
crush init会分析代码库并生成一份上下文文件。 默认名AGENTS.md,可用initialize-as改名或改路径。符号级能力取决于外接 LSP。
官方 README 原文:
官方原文:"LSP-Enhanced: Crush uses LSPs for additional context"
可
lsp add go --command gopls手动配置,或让auto-lsp自动配置。上下文文件:全局
~/.config/crush/CRUSH.md(Crush 专用)与~/.config/AGENTS.md(跨工具通用)自动注入, 路径可用global-context-path追加。未知:索引算法与大仓库的耗时,官方未说明。 (已查 README 与 docs/config 两处。)
By default it reads and writes only within the project workspace; there is no full semantic index. The scope is bounded by two things: LSP, and ignore rules.
Ignore boundary: official README wording "Crush respects
.gitignorefiles by default". A.crushignorewith the same syntax can add exclusions, placed at the project root or in subdirectories.Initialization:
crush initanalyzes the codebase and generates a context file. Default nameAGENTS.md; rename or relocate viainitialize-as.Symbol-level capability depends on attached LSPs.
Official README wording:
Official wording: "LSP-Enhanced: Crush uses LSPs for additional context"
Configure manually via
lsp add go --command gopls, or letauto-lspconfigure them automatically.Context files: the global
~/.config/crush/CRUSH.md(Crush-specific) and~/.config/AGENTS.md(cross-tool standard) are injected automatically; paths can be added viaglobal-context-path.Unknown: the indexing algorithm and time cost on large repos are not stated by the official docs. (README and docs/config both checked.)
- 关机后的任务Tasks after shutdown
它不能关机续跑。 这是本地 CLI 的形态边界,不是缺陷。
多客户端共享 workspace 不等于后台。 官方 README 说明:运行
crush serve会暴露本地后端, 多个 TUI 客户端按--cwd并入同一 workspace。 但 workspace 的生命周期跟着客户端流走。官方 README 原文:
官方原文:"A workspace lives as long as at least one client has an SSE event stream open against it." "When the last stream disconnects, the workspace is torn down."
即最后一条流断开,workspace 就被拆除。
执行环境归你的本地机器。
crush serve也是本机后端。 官方 README 与 docs/config 都没有厂商托管的表述。也没有「关机后继续」的说法。中断可恢复:会话按项目保存。可经会话选择器 resume,退出横幅也提示 resume。 但进程本身不常驻。
It cannot keep running after shutdown. This is the form-factor boundary of a local CLI, not a defect.
Multi-client workspace sharing is not background execution. The official README explains: running
crush serveexposes a local backend, and multiple TUI clients join the same workspace via--cwd. But the workspace's lifecycle follows the client streams.Official README wording:
Official wording: "A workspace lives as long as at least one client has an SSE event stream open against it." "When the last stream disconnects, the workspace is torn down."
That is, when the last stream disconnects, the workspace is torn down.
The execution environment is your local machine.
crush serveis also a local backend. Neither the official README nor docs/config has any vendor-hosted wording, nor any "keeps running after shutdown" claim.Interruption is recoverable: sessions are saved per project. You can resume via the session selector, and the exit banner also prompts resume. But the process itself does not stay resident.
- 工具与扩展Tools & extensions
明确支持 MCP,三种传输方式全支持,而且标得最全。
官方 README 写明支持
http、stdio和sse三种。 这是本分区里把 MCP 传输方式写清楚的少数几个之一。另支持自定义配置文件
~/.config/crush/crushrc(Windows 为%USERPROFILE%\.config\crush\crushrc), 且可按机器条件覆盖配置(示例里用$HOSTNAME判断)。模型可手动添加,并可显式声明上下文窗口。 官方 README 给的命令是
model add ollama/llama3.3 --name "Llama 3.3" --context-window 128000。MCP is explicitly supported, all three transports, and it is the most completely documented.
The official README states support for
http,stdioandsse. This is one of the few entries in this section that spells out MCP transports clearly.It also supports a custom config file
~/.config/crush/crushrc(Windows:%USERPROFILE%\.config\crush\crushrc), and config can be overridden by machine conditions (the example branches on$HOSTNAME).Models can be added manually, with the context window declared explicitly. The command given in the official README is
model add ollama/llama3.3 --name "Llama 3.3" --context-window 128000.- 上下文与记忆Context & memory
上下文机制分三段:会话、全局上下文文件、LSP。
会话:官方 README 原文「Session-Based: maintain multiple work sessions and contexts per project」 —— 按项目维护多个工作会话与上下文,可切换、可 resume。
跨模型保留上下文:官方 README 原文「Flexible: switch LLMs mid-session while preserving context」 —— 即官方明确换模型不丢上下文。
上下文文件:全局
~/.config/crush/CRUSH.md与~/.config/AGENTS.md自动注入;项目侧由crush init生成AGENTS.md; 可用context-path/global-context-path追加。压缩策略已核到。 docs/config 的
auto-summarize布尔项,官方说明为:官方原文:"automatically summarize long conversations"
命令面板另有 "Summarize Session" 可手动压缩当前会话。
LSP 提供额外上下文(见 local_files)。
The context mechanism has three parts: sessions, global context files, LSP.
Sessions: official README wording "Session-Based: maintain multiple work sessions and contexts per project" — multiple work sessions and contexts per project, switchable and resumable.
Context survives model switches: official README wording "Flexible: switch LLMs mid-session while preserving context" — i.e. the official docs explicitly promise switching models does not lose context.
Context files: the global
~/.config/crush/CRUSH.mdand~/.config/AGENTS.mdare injected automatically; on the project sidecrush initgeneratesAGENTS.md;context-path/global-context-pathcan add more.Compaction strategy verified. The
auto-summarizeboolean in docs/config, official description:Official wording: "automatically summarize long conversations"
The command palette also has "Summarize Session" to compact the current session manually.
LSP provides additional context (see local_files).
- 权限与限制Permissions & limits
默认每次工具调用都询问。 官方 README 原文:
官方原文:"By default, Crush will ask you for permission before running tool calls"
可在配置里
permissions allow view edit免确认特定工具。官方对免确认模式的提醒是
Use this with care,意思是谨慎使用。另有
--yolo开关可整体放宽审批。 但该 flag 遵循「first-wins」规则。同一 cwd 下,首个客户端的设置会锁定后续客户端的行为。 不一致时会打一行 debug 日志记录这种不匹配。 多客户端同时接入同一目录时需注意这个规则。凭据配置也支持按机器分叉(可用
$HOSTNAME条件覆盖)。By default it asks before every tool call. Official README wording:
Official wording: "By default, Crush will ask you for permission before running tool calls"
In config,
permissions allow view editskips confirmation for specific tools.The official caution on the no-confirmation mode is
Use this with care.There is also a
--yoloswitch that relaxes approvals wholesale. But this flag follows the "first-wins" rule. Within the same cwd, the first client's setting locks the behavior of later clients. On mismatch, a debug log line records the discrepancy. Mind this rule when multiple clients attach to the same directory at once.Credential config also supports per-machine branching (overridable via
$HOSTNAMEconditions).- 适合什么任务Best for
适合这几类人:
- 喜欢 Charm 生态的终端体验(TUI 审美与交互)
- 需要在多个 provider 间切换,或想用官方订阅方案 Hyper
- 想中途换模型且不丢上下文的人(官方 README 明确承诺)
- 想用本地模型并显式声明其上下文窗口的人
- 需要 MCP 三种传输都支持的人
不适合需要明确开源许可做二次分发的场景 —— GitHub 识别为 NOASSERTION,条款未核验。
Fits these kinds of people:
- those who like the Charm ecosystem's terminal experience (TUI aesthetics and interaction)
- those who need to switch among multiple providers, or want to try the official subscription Hyper
- those who want to switch models mid-session without losing context (explicitly promised in the official README)
- those who want to use local models and declare their context window explicitly
- those who need all three MCP transports supported
Not a fit for scenarios that need a clear open-source license for redistribution — GitHub identifies it as NOASSERTION and the terms are unverified.
头号误解Top misconception
- 以为许可证明确可商用,GitHub 识别为 NOASSERTION,条款未核验Assuming the licence clearly permits commercial use — GitHub reports NOASSERTION and the terms were not verified
- 以为只能用自己的模型,实际上可以接 Anthropic / OpenAI 等Assuming it only works with your own models — it can also connect to Anthropic / OpenAI and others
- 以为每个终端窗口独立配置,其实同 workspace 下 first-wins 会锁定设置Assuming each terminal window is configured independently — within the same workspace, first-wins locks the settings
未知项清单Known unknowns
- 许可证具体条款 —— GitHub 识别为
NOASSERTION - Hyper 免费层的具体额度(报价见官方页,本站按本站的报价记录约定不存)
- 索引算法与大仓库首次索引耗时(官方未说明,已查 README 与 docs/config)
- The specific license terms — GitHub identifies it as
NOASSERTION - The concrete quota of Hyper's free tier (pricing on the official page; per this site's price-recording policy, not stored here)
- The indexing algorithm and first-index time on large repos (not stated officially; README and docs/config checked)
证据来源Evidence sources
判断可回到以下一手源复核。本站核验日Every judgement can be rechecked against the primary sources below. Verified on 2026-10-23,内容更新日content updated on 2026-09-29。
| 类型Type | 名称Name | 链接Link |
|---|---|---|
| repo | Charm · Crush 仓库 READMECharm · Crush repository README | https://github.com/charmbracelet/crush |
| docs | Charm · Crush 官方配置文档(docs/config:Bash 配置、permissions allow/deny、 auto-summarize、context-path、provider/model add、本地模型)Charm · Crush official config docs (docs/config: Bash config, permissions allow/deny, auto-summarize, context-path, provider/model add, local models) | https://github.com/charmbracelet/crush/blob/main/docs/config/README.md |
| repo | Charm · Catwalk 官方 provider/model 目录(README 指明的默认清单来源)Charm · Catwalk official provider/model catalog (the default-catalog source named by the README) | https://github.com/charmbracelet/catwalk |
| changelog | Charm · Crush ReleasesCharm · Crush Releases | https://github.com/charmbracelet/crush/releases |
| changelog | Charm · Crush CommitsCharm · Crush Commits | https://github.com/charmbracelet/crush/commits/main |
| docs | Charm · Crush 官网Charm · Crush official site | https://charm.land/crush/ |
实测记录Measured runs
本档未跑端到端编码任务;能力结论来自官方文档,编码向测量协议见 protocols/coding/_protocol.md。
实测建议:重点测非 TTY 环境下的表现。 这类 TUI 形态的终端工具在 CI 里常出问题。
This site has not completed measured runs. The test protocol is at protocols/coding/_protocol.md.
Suggested measurement: focus on behavior in non-TTY environments. TUI-style terminal tools of this kind often break in CI.
变更记录说明Release-channel note
| 版本 | 日期 |
|---|---|
nightly | 2026-09-29 |
它和 Gemini CLI 一样,采用 nightly 滚动发布。 引用版本号时要注意:nightly 的内容每天都在变。
| Version | Date |
|---|---|
nightly | 2026-09-29 |
Like Gemini CLI, it uses nightly rolling releases. When citing a version number, remember: nightly contents change daily.
官方 provider:HyperThe official provider: Hyper
官方 README 原文:
"Hyper, from Charm, is the official Crush provider. It's subscription-based"
这是本分区唯一有厂商自营订阅方案的条目。 其他工具要么只给自家模型,要么纯 BYOK。
所以成本模型有两种并存:
| 方式 | 说明 |
|---|---|
| Hyper 订阅 | Charm 官方运营,按订阅计费(报价见官方页,本站按本站的报价记录约定不存) |
| 自带 key | 接 Anthropic / OpenAI 等,费用自付 |
未知:Hyper 官方称带免费层,但其档位与额度数值本次未核验,记为未知。
Official README wording:
"Hyper, from Charm, is the official Crush provider. It's subscription-based"
This is the only entry in this section with a vendor-run subscription. Other tools either ship only their own models or are pure BYOK.
So two cost models coexist:
| Mode | Description |
|---|---|
| Hyper subscription | run by Charm officially, billed by subscription (pricing on the official page; per this site's price-recording policy, not stored here) |
| bring-your-own key | connect Anthropic / OpenAI etc., costs self-paid |
Unknown: Hyper officially has a free tier, but its tiers and quota numbers were not verified on 2026-10-08; recorded as unknown.
MCP:三种传输方式写清楚了MCP: all three transports spelled out
官方 README 原文:
"Extensible: add capabilities via MCPs (http, stdio, and sse)"
这一条值得单独记一笔。 多数工具只写「支持 MCP」,Crush 直接列出了三种传输方式。
对照工具分区自己的观察:不少 reference server 只支持 stdio。它们不支持远程传输。 所以一个明确支持 http 的 CLI 工具,扩展兼容面实际上比想象中大。
Official README wording:
"Extensible: add capabilities via MCPs (http, stdio, and sse)"
This one deserves its own note. Most tools just say "supports MCP"; Crush lists all three transports outright.
Cross-checked against this site's own observations of the tools section: quite a few reference servers only support stdio. They do not support remote transports. So a CLI tool that explicitly supports http has a larger extension-compatibility surface than one might assume.
许可状态需要提醒The license status deserves a flag
GitHub API 返回的许可证字段是 NOASSERTION,也就是无法识别。 它不是 MIT,也不是 Apache-2.0。
这意味着:
- 不能假设可以商用
- 不能假设可以闭源分发
- 引用前须自行查看仓库内的 LICENSE 文件确认
这属于「未知」,按本站方法论必须标注。
The license field returned by the GitHub API is NOASSERTION, i.e. unrecognized. It is neither MIT nor Apache-2.0.
This means:
- do not assume commercial use is allowed
- do not assume closed-source redistribution is allowed
- check the LICENSE file in the repository yourself before citing
This counts as "unknown" and must be flagged per this site's methodology.
权限定级说明Permission-grading note
本条目 confidence: partial 的原因:
- ✅ 已核验:仓库、star 数(28,756 · 滚动核验 2026-10-23)、最新 release(nightly)与日期、MCP 三种传输、 Hyper 官方 provider、自定义 provider 方式、安装方式;2026-10-08 补充: 完整 provider 清单与本地模型、LSP 与上下文文件机制、auto-summarize、 权限 allow/deny 与
--yolo、crush serve本地后端边界
- ❌ 未核验:许可证具体条款、Hyper 免费层的具体额度
Why this entry is confidence: partial:
- ✅ verified: repository, star count (28,756 · rolling check 2026-10-23), latest release (nightly) and date, MCP's three transports, the Hyper official provider, custom-provider setup, install methods; added in the 2026-10-08 round: the full provider list and local models, LSP and context-file mechanics, auto-summarize, permission allow/deny and
--yolo, thecrush servelocal-backend boundary
- ❌ not verified: the specific license terms, the concrete quota of Hyper's free tier
相关条目Related entries
- OpenCodeOpenCode同类多 provider 工具,也支持 MCPa similar multi-provider tool, also supports MCP
- Gemini CLIGemini CLI同类工具,工程化更完整a similar tool, more complete engineering
- Context7Context7另一层 · MCP 工具Other layer · MCP tools
本页由This page is generated from the ai-handbook 数据层生成(CC BY 4.0)。data layer (CC BY 4.0).
方法论与坐标系定义见仓库内For the methodology and coordinate definitions, see METHODOLOGY.md.