Crush và OpenCode đều là agent lập trình trên terminal miễn phí, không tính phí bạn, và cả hai đều cho phép trỏ đến endpoint tương thích với OpenAI hoặc Anthropic của riêng bạn, vì vậy lựa chọn này không liên quan đến giá của client. Nó liên quan đến giấy phép, mặc định quyền, mô hình thực thi cấu hình và ví mà mỗi dự án hướng bạn đến. Crush là agent lập trình AI của Charm — không phải shell Rust cùng tên — được viết bằng Go và phát hành theo FSL-1.1-MIT. OpenCode là agent TypeScript tại opencode.ai, do Anomaly duy trì, theo MIT.
Cần làm rõ hai bẫy về tên trước khi đọc an toàn bất kỳ phần nào còn lại. "Crush CLI" cũng là tên của một dự án không liên quan — liljencrantz/crush, tự mô tả là "một shell dòng lệnh đồng thời là một ngôn ngữ lập trình hiện đại mạnh mẽ", được viết bằng Rust và hoàn toàn không liên quan đến lập trình AI. Ngoài ra có hai repository mang tên opencode, một trong số đó là tên cũ của chính Crush. Phần đó nằm ngay bên dưới, vì hiểu sai sẽ làm mất hiệu lực mọi so sánh tiếp theo.
Ba dự án, trong đó hai dự án mang tên OpenCode
CLI Go đã được lưu trữ không phải là lựa chọn thứ ba trong so sánh này. Nó là tiền thân của Crush, và repository nói rõ điều đó bằng chính lời của mình: "Repository này không còn được duy trì và đã được lưu trữ để bảo toàn nguồn gốc. Dự án đã tiếp tục dưới tên Crush, do tác giả ban đầu và đội ngũ Charm phát triển."
| Dự án | Nó là gì ngày nay | Ngôn ngữ lập trình | Giấy phép | Bản phát hành mới nhất |
|---|---|---|---|---|
| charmbracelet/crush | Đang hoạt động. Agent lập trình AI của Charm. Phần tiếp nối của OpenCode Go đã được lưu trữ | Go | FSL-1.1-MIT (GitHub báo cáo NOASSERTION) | v0.95.0, ngày 16 tháng 9 năm 2026 |
| anomalyco/opencode | Đang hoạt động. OpenCode được xuất bản tại opencode.ai. Một codebase riêng được tạo ngày 30 tháng 4 năm 2025 | TypeScript | MIT | v1.18.31, ngày 14 tháng 9 năm 2026 |
| opencode-ai/opencode | Đã lưu trữ. Tên cũ của Crush. Không lấy cấu hình, provider hoặc giá từ đó | Go | MIT | v0.0.55, ngày 27 tháng 6 năm 2025 |
Siêu dữ liệu repository được đọc từ GitHub API vào ngày 19 tháng 9 năm 2026; các phiên bản package được xác nhận với npm, trong đó @charmland/crush là 0.95.0 theo FSL-1.1-MIT và opencode-ai là 1.18.31 theo MIT. Lưu ý rằng tên package npm opencode-ai thuộc về dự án Anomaly đang hoạt động, trong khi opencode-ai cũng là tổ chức GitHub của dự án đã lưu trữ — chỉ kiểm tra npm không thể phân biệt chúng, vì vậy hãy kiểm tra tổ chức GitHub. Có một điều trang này không thể xác lập: GitHub không trả về ngày lưu trữ cho repository cũ, nên không nêu ngày nào cho nó. Tương tự, github.com/sst/opencode hiện chuyển hướng đến anomalyco/opencode và chân trang của opencode.ai hiển thị "© Anomaly", nhưng không tìm thấy thông báo đổi tên chính thức nào từ bên thứ nhất có ghi ngày, vì vậy quá trình chuyển giao được mô tả nhưng không ghi ngày.
Ai nên chọn sản phẩm nào
| Nếu mô tả đúng về bạn | Lựa chọn | Cụ thể là vì sao |
|---|---|---|
| Tổ chức của bạn yêu cầu công cụ dành cho nhà phát triển sử dụng giấy phép được OSI phê duyệt | OpenCode | MIT trên cả GitHub và npm. Crush phát hành theo FSL-1.1-MIT, hạn chế Competing Use và chỉ chuyển đổi sang MIT vào ngày kỷ niệm thứ hai của mỗi phiên bản |
| Bạn muốn agent dừng lại và hỏi trước khi chạm vào bất kỳ thứ gì | Crush | Theo mặc định, Crush yêu cầu cấp quyền trước các lệnh gọi công cụ; các mặc định được tài liệu hóa của OpenCode chủ yếu là allow |
| Bạn muốn một agent vượt ra ngoài terminal — ứng dụng máy tính, tiện ích mở rộng IDE, GitHub hoặc GitLab | OpenCode | Tài liệu của nó bao quát ứng dụng máy tính, tiện ích mở rộng IDE, tích hợp web/share, GitHub và GitLab, ACP, SDK, server và plugin |
| Bạn muốn cấu hình là tệp dữ liệu để nhóm có thể xem xét nhanh chóng | OpenCode | opencode.json là dữ liệu. crushrc là Bash, và $(...) bên trong crush.json được mở rộng khi tải |
| Bạn muốn cấu hình có thể thực thi lệnh shell — lấy khóa từ trình quản lý mật khẩu, rẽ nhánh theo hostname | Crush | Chính mô hình thực thi đó là tính năng. Ví dụ của Charm tự giải quyết token MCP bằng $(op read ...) |
| Bạn muốn gói đăng ký $10 mỗi tháng trên một danh sách cố định, chủ yếu gồm open-weights | OpenCode | OpenCode Go là sản phẩm đó. Crush có thể đọc cùng OPENCODE_API_KEY, nhưng Crush không nằm trong danh sách client đã được xác thực của Go |
| Bạn muốn một số dư trả trước duy nhất cho các model Claude, GPT và Gemini frontier | Bên nào cũng được | Cả hai đều chấp nhận endpoint của bên thứ ba mà không yêu cầu gói. Provider riêng của Charm không bán bất kỳ dòng nào trong số đó |
Về chi phí di chuyển: cấu hình model là phần rẻ và định dạng cấu hình là phần đắt. Không có trình chuyển đổi giữa crushrc và opencode.json, vì vậy thiết lập cục bộ của dự án phải được viết lại thủ công. Những gì được giữ lại nhiều hơn vẻ bề ngoài — cả hai client đều hỗ trợ MCP server, LSP server và Agent Skills, nên khả năng mở rộng không phải yếu tố phân biệt giữa chúng, chỉ cú pháp là khác. Cả hai cũng có chế độ không tương tác, vì vậy đây không phải lựa chọn TUI-so-với-TUI: subcommand run của Crush được mô tả trong mã nguồn là "Chạy một lời nhắc không tương tác duy nhất", còn OpenCode ghi lại opencode run.
Quyền và thực thi cấu hình: khác biệt an toàn thực sự duy nhất
Hai dự án này có các hướng mặc định trái ngược nhau, và đây là khác biệt đáng biết nhất trước khi cho phép một trong hai hoạt động trên repository.
README của Crush nêu rằng theo mặc định Crush yêu cầu cấp quyền trước khi chạy các lệnh gọi công cụ. Bạn mở rộng quyền này bằng danh sách allow hoặc deny phẳng — permissions allow view edit, permissions deny bash sourcegraph — hoặc loại bỏ hoàn toàn bằng --yolo, được mã nguồn mô tả là "Tự động chấp nhận mọi quyền (chế độ nguy hiểm)".
OpenCode bắt đầu từ hướng ngược lại. Tài liệu về quyền của nó cho biết hầu hết quyền mặc định là "allow", trong khi doom_loop và external_directory mặc định là "ask". Đổi lại, các quy tắc chi tiết hơn: quyền được định khóa theo từng công cụ trong read, edit, glob, grep, bash, task, skill, lsp, question, webfetch, websearch, external_directory và doom_loop, chúng chấp nhận mẫu glob theo từng công cụ nên bash có thể cho phép git * và từ chối rm *, các quy tắc được đánh giá bằng cách khớp mẫu với quy tắc khớp cuối cùng được áp dụng, và agent có thể ghi đè tập hợp toàn cục. OpenCode cũng có cờ --auto để phê duyệt mọi thứ không bị từ chối rõ ràng, vì vậy cả hai client đều có thể được cấu hình theo hướng cho phép rộng; chỉ là chúng không bắt đầu như vậy.
Nửa còn lại là định dạng cấu hình. README của Crush nói rất rõ: "Cả crushrc và crush.json đều là mã được tin cậy; crushrc chạy trong một shell đầy đủ, và mọi $(...) trong crush.json đều chạy khi tải. Đừng khởi chạy Crush trong một thư mục có cấu hình mà bạn chưa xem xét". Crush đọc ./.crushrc, sau đó ./crushrc, rồi ~/.config/crush/crushrc, vì vậy một repository bạn sao chép có thể chứa một tệp như vậy. Đây là một khả năng thực sự — đó là cách khóa được lấy ra từ trình quản lý mật khẩu — và cũng là một mối nguy thực sự. opencode.json của OpenCode là dữ liệu. Cả hai sự thật đều được kiểm tra vào ngày 18 tháng 9 năm 2026; định dạng JSON Crush cũ được ghi nhận là đã lỗi thời và không nhận tính năng mới, vì vậy hãy xây dựng trên crushrc thay vì JSON.
Tiền nằm ở ví, không nằm ở client
Mỗi dự án có một provider chính thức của bên thứ nhất, và danh mục của chúng khác nhau. Charm Hyper hoàn toàn không bán model Claude, GPT hoặc Gemini; OpenCode bán cả danh mục frontier trả theo mức sử dụng lẫn gói đăng ký $10 hàng tháng trên một danh sách riêng, chủ yếu gồm open-weights.
| Ví | Giá niêm yết | Danh mục | Điều đó có ý nghĩa gì đối với lựa chọn này |
|---|---|---|---|
| Charm Hyper miễn phí | "Mọi người đều nhận 100 Hypercredits mỗi tháng", với "1 Hypercredit hiện có giá 5¢" | 23 model, chủ yếu là các dòng open-weights | Quy trình bắt đầu mặc định của Crush. Hoàn toàn không có Claude, GPT hoặc Gemini |
| Gói đăng ký Charm Hyper | "$20 /tháng" cho "250 Hypercredits, làm mới hằng ngày" | Cùng 23 model | Chu kỳ hằng ngày chỉ xuất hiện trên trang giá và không được nhắc lại trong tài liệu, vì vậy đừng tính toán dựa trên đó |
| Charm Hyper trả trước | $5 = 100, $10 = 200, $20 = 400 Hypercredits; "Hypercredits trả trước không bao giờ hết hạn" | Cùng 23 model | Việc cộng dồn và hết hạn của tín dụng gói không được tài liệu hóa theo hướng nào — hãy xác nhận trong tài khoản trước khi dựa vào điều đó |
| OpenCode Zen | Trả theo mức sử dụng trên mỗi triệu token bằng tín dụng trả trước; phí thẻ được chuyển nguyên ở mức "4,4% + $0,30 cho mỗi giao dịch" | Claude, GPT, Gemini, Grok frontier cùng các open weights | Tài liệu của sản phẩm nêu rằng sản phẩm được bán theo giá vốn, chỉ cộng thêm phí để trang trải phí xử lý |
| OpenCode Go | "gói đăng ký chi phí thấp $10/tháng" | Chủ yếu là open-weights, nhưng bảng riêng cũng liệt kê Grok 4.6 và GPT 5.6 Luna | Các hạn mức được tính bằng đô la: 5 giờ ở mức 20% giới hạn hàng tháng, hàng tuần ở mức 50%, hàng tháng ở mức 100%. Một thuê bao cho mỗi workspace |
Giá Hyper và danh sách mô hình được đọc từ điểm cuối công khai cung cấp danh sách mô hình vào ngày 18 tháng 9 năm 2026 — 23 mô hình, không mô hình nào là mô hình Claude, GPT hoặc Gemini. Phần lớn mang tên các dòng mô hình có trọng số mở — DeepSeek, Kimi, GLM, MiniMax, Qwen, gpt-oss-120b và Gemma — còn một mô hình, inkling, mang thương hiệu Charm nhưng không có mô hình nền được nêu trong tài liệu, vì vậy tuyên bố của trang này là "không có dòng mô hình độc quyền tiên tiến hàng đầu nào", chứ không phải "toàn bộ đều có trọng số mở". Giá gói lấy từ hyper.charm.land, được kiểm tra cùng ngày. Có một mâu thuẫn cần nêu nếu quyền riêng tư là một phần trong quyết định của bạn: README của Crush và trang giá của Hyper đều mô tả chính sách không lưu giữ dữ liệu, trong khi tài liệu của chính Hyper nêu "chính sách nghiêm ngặt giới hạn thời gian lưu giữ tối đa là 30 ngày" và phần FAQ diễn giải chính sách không lưu giữ là chính sách họ áp dụng với các nhà cung cấp đám mây của mình. Hãy đọc câu trong tài liệu thay vì câu tiếp thị, và xác nhận trong điều khoản tài khoản của bạn.
Có một sự thật đi ngược lại câu chuyện khóa chặt thông thường: Crush tích hợp sẵn OpenCode Zen và OpenCode Go dưới dạng provider, được xác thực bằng OPENCODE_API_KEY, nên ví OpenCode vẫn theo bạn vào Crush. Nhưng Tài liệu riêng của Go yêu cầu client tự nhận diện bằng user agent riêng và gửi ID phiên ổn định trong header x-opencode-session, còn bảng client đã xác thực của Go liệt kê Hermes, Claude Code, Codex, ZCode, Pi, jcode và Kilo Code CLI — Crush không xuất hiện trong danh sách đó cũng như danh sách có vấn đề. Việc không có tên trong một danh sách không phải bằng chứng cho việc bị hỏng, và trang này không có bằng chứng theo hướng nào, nên không kết luận gì. Hãy tự kiểm tra trước khi dựa vào đó. Tùy chọn tự mang khóa của Zen cũng hẹp hơn tưởng tượng: tài liệu mô tả việc sử dụng khóa OpenAI hoặc Anthropic của riêng bạn bên trong Zen, không phải một vị trí cho gateway tùy ý.
Mang endpoint riêng của bạn vào cả hai client
Đây là phần mà cả hai dự án thực sự mở, đồng thời là nơi người dùng Crush nhận được thứ Hyper hoàn toàn không thể bán cho họ. Không client nào giới hạn provider tùy chỉnh sau gói.
Chi tiết hữu ích nhất đối với người dùng Crush: base URL của Crush bao gồm /v1, áp dụng cho cả loại tương thích với OpenAI và loại tương thích với Anthropic. Các ví dụ provider tùy chỉnh trong README của chính sản phẩm sử dụng https://api.deepseek.com/v1 và https://api.anthropic.com/v1. Đây là quy ước ngược với Claude Code, nơi ANTHROPIC_BASE_URL nhận một origin thuần vì client tự nối đường dẫn — xem tài liệu tham khảo về base URL để biết vì sao cùng một gateway lại được viết theo hai cách. Đối với khóa Kunavo, giá trị Crush là https://api.kunavo.com/v1.
# crushrc is Bash. Treat it as executable code, not as settings.
provider add kunavo --type openai-compat \
--base-url "https://api.kunavo.com/v1" \
--api-key "$KUNAVO_API_KEY"
model add kunavo/claude-sonnet-5 \
--name "Claude Sonnet 5" \
--context-window 1000000 \
--default-max-tokens 32000 \
--price-input 1.4 \
--price-output 7Ba lưu ý về khối đó. Sử dụng openai-compat, không phải openai: README dành openai cho việc proxy hoặc định tuyến qua chính OpenAI. Các cờ --price-* chỉ cung cấp dữ liệu cho ước tính chi phí trên màn hình của Crush — chúng không thay đổi khoản phí bạn phải trả, vì vậy lỗi đánh máy sẽ tạo ra số liệu hiển thị sai chứ không tạo ra khoản tính phí sai. Và vì crushrc là Bash, --api-key "$(op read ...)" là cách được tài liệu hóa để giữ khóa hoàn toàn bên ngoài tệp. Tương đương của OpenCode là một tệp dữ liệu, với khóa được tham chiếu thông qua {env:VAR}:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"kunavo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kunavo",
"options": {
"baseURL": "https://api.kunavo.com/v1",
"apiKey": "{env:KUNAVO_API_KEY}"
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"limit": { "context": 1000000, "output": 128000 }
}
}
}
}
}Trường npm chọn định dạng wire: @ai-sdk/openai-compatible cho endpoint cung cấp /v1/chat/completions, @ai-sdk/openai cho /v1/responses. OpenCode cũng có thể ghi đè baseURL của provider tích hợp sẵn mà không cần khai báo provider tùy chỉnh, vì vậy có hai cách thay vì một; các khóa được thêm qua /connect sẽ nằm trong ~/.local/share/opencode/auth.json (tài liệu provider, kiểm tra ngày 18 tháng 9 năm 2026). Kunavo có một trang thiết lập cho mỗi loại: OpenCode và Crush. Chưa client nào được kiểm thử khi chạy thực tế với Kunavo, vì vậy hãy xem cả hai khối là tài liệu tham khảo cấu hình và xác minh bằng một tác vụ có phạm vi giới hạn.
Chi phí thực tế của một phiên
Các số liệu dưới đây là phép tính token mang tính minh họa, không phải chi phí tác vụ được đo lường và không phải mức trần hóa đơn. Giả định một phiên hoạt động của tác nhân AI gửi 200.000 token đầu vào không được lưu trong bộ nhớ đệm và nhận 15.000 token đầu ra — một giả định để so sánh, không phải phép đo từ kho mã của bạn. Mức giá là giá catalog Kunavo hiện hành trên mỗi triệu token, đặt cạnh mức giá OpenCode Zen công bố vào ngày 18 tháng 9 năm 2026 cho các tên model mà Zen cũng cung cấp. Catalog của Zen không phải bản sao của catalog Kunavo, nên một dòng dưới đây không có dòng tương ứng ở đó.
| Mô hình | Kunavo vào / ra trên mỗi 1M | Đầu vào / đầu ra OpenCode Zen trên mỗi 1M | Ước tính của Kunavo cho phiên này |
|---|---|---|---|
| Claude Haiku 4.5 | $0,70 / $3,50 | $1,00 / $5,00 | $0,192 |
| GPT-5.6 Terra | $0,70 / $4,20 | Không có dòng Zen nào dưới tên này | $0,203 |
| Claude Sonnet 5 | $1,40 / $7,00 | $2,00 / $10,00 | $0,385 |
| Claude Opus 5 | $3,50 / $17,50 | $5,00 / $25,00 | $0,963 |
Hãy đọc trung thực hai cột ở giữa. Trên Claude Sonnet 5, hai catalog giống hệt nhau ở mức $1,40 và $7,00, vì vậy không có khoản tiết kiệm nào để tuyên bố ở đó; chênh lệch nằm ở các dòng khác. Dòng Claude Haiku 4.5 của Zen là $1,00 và $5,00 so với $0,70 và $3,50 của Kunavo, còn dòng Claude Opus 5 của Zen là $5,00 và $25,00 so với $3,50 và $17,50 của Kunavo. Trước khi dựa vào đó, hãy lưu ý ba điểm. Zen hoàn toàn không liệt kê model nào có tên GPT-5.6 Terra — vào ngày 18 tháng 9 năm 2026, các dòng GPT của Zen là GPT 6 Astra và GPT 5.6 Sol, không dòng nào là cùng model — vì vậy dòng đó cố ý để trống thay vì điền bằng một model gần tương đương. Và đây là mức giá catalog được công bố tại một thời điểm, không phải benchmark và cũng không phải lời hứa rằng bất kỳ tuyến nào là cách rẻ nhất để hoàn thành tác vụ của bạn: một model cần thực hiện lần thử thứ hai sẽ nhanh chóng xóa sạch lợi thế về giá. Bốn dòng cũng không phải toàn bộ danh mục ở mỗi bên.
Đây là điểm mà trang này được tạo ra để nêu rõ. Chi phí hiển thị và chi phí được tính hóa đơn là hai con số khác nhau trong cả hai ứng dụng. Danh sách model mặc định và các ước tính chi phí của Crush lấy từ Catwalk, một catalog bên ngoài tự động cập nhật; còn với một nhà cung cấp tùy chỉnh được đăng ký thủ công, các con số đơn giản là bất kỳ giá trị nào bạn đã nhập vào model add. Các sản phẩm riêng của OpenCode cũng cho thấy điều tương tự mà không cần bên thứ ba: DeepSeek V4 Flash là $0,14 đầu vào / $0,28 đầu ra trên Zen, $0,15 / $0,60 trên Go ngoài giờ cao điểm và $0,30 / $1,20 trên Go vào giờ cao điểm (tài liệu nhà cung cấp, ngày 18 tháng 9 năm 2026). Bản ghi của Catwalk cho model đó khớp với cặp giá ngoài giờ cao điểm, vì vậy số liệu chi phí của Crush cho model này sẽ âm thầm đánh giá thấp mức sử dụng vào giờ cao điểm. Hãy đối soát với sổ cái mà tài khoản nhà cung cấp của bạn thực sự ghi nhận, không bao giờ đối soát với con số trong terminal.
Mức giá trong danh mục của Kunavo là mức sàn tính phí, không phải mức trần: khi nhà cung cấp thượng nguồn báo cáo khoản phí của họ, số tiền phải thanh toán là giá trị lớn hơn giữa chi phí theo danh mục và chi phí của nhà cung cấp thượng nguồn nhân với hệ số tăng giá áp dụng. Phí bộ nhớ đệm và phí công cụ bên ngoài không nằm trong ví dụ này. Mức nạp tiền tối thiểu là $10 vào số dư trả trước — đây là mức tiền nạp tối thiểu, không phải phí tác vụ hay gói đăng ký. Xem chi tiết tính phí.
Thiết lập một trong hai ứng dụng
Nếu chọn OpenCode, hãy bắt đầu với hướng dẫn tích hợp OpenCode và tạo tài khoản Kunavo để nạp tiền cho một key. Nếu chọn Crush, khối crushrc ở trên đã là toàn bộ cấu hình; hãy duy trì một tuyến đang hoạt động, chạy một tác vụ có phạm vi giới hạn và đọc khoản phí tài khoản của bạn đã ghi nhận cho tác vụ đó trước khi chuyển sang dùng làm công cụ chính hằng ngày. Muốn so sánh rộng hơn? OpenCode và Claude Code cùng Các lựa chọn thay thế cho OpenCode sẽ mở rộng phạm vi, còn tài liệu tham chiếu API tương thích với OpenAI mô tả quy ước endpoint mà cả hai ứng dụng đều dựa vào.
Câu hỏi thường gặp
Crush có phải là cùng dự án với OpenCode không?
Không phải phiên bản đang hoạt động, nhưng sự nhầm lẫn này là có lý do. Có hai dự án mang tên opencode. CLI Go tại github.com/opencode-ai/opencode đã được lưu trữ, và README của chính dự án cho biết dự án tiếp tục dưới tên Crush, do tác giả ban đầu và đội ngũ Charm phát triển. Vì vậy, OpenCode đó là tên cũ của Crush, không phải đối thủ cạnh tranh. OpenCode mà bạn có thể cài đặt hiện nay là một codebase TypeScript khác tại github.com/anomalyco/opencode — được tạo ngày 30 tháng 4 năm 2025, cấp phép MIT và xuất bản tại opencode.ai. So sánh Crush và OpenCode nghĩa là so sánh agent Go của Charm với agent TypeScript của Anomaly; không phải so sánh hai fork của cùng một codebase.
Crush có phải là mã nguồn mở không?
Không theo giấy phép được OSI phê duyệt, điều này quan trọng nếu công ty bạn có chính sách giấy phép. LICENSE.md của Crush là Functional Source License, Version 1.1, MIT Future License — viết tắt là FSL-1.1-MIT, bản quyền 2025-2026 Charmbracelet, Inc. API giấy phép riêng của GitHub báo cáo giấy phép này là NOASSERTION thay vì một mã định danh SPDX được công nhận. Giấy phép cho phép sử dụng nội bộ, giáo dục và nghiên cứu phi thương mại, cũng như cung cấp dịch vụ chuyên môn cho bên được cấp phép, nhưng loại trừ điều mà giấy phép gọi là Competing Use; đồng thời cấp giấy phép MIT không thể hủy ngang có hiệu lực vào ngày kỷ niệm thứ hai kể từ khi phát hành mỗi phiên bản. Ngược lại, OpenCode sử dụng MIT thuần túy trên cả GitHub và npm.
Crush hay OpenCode rẻ hơn?
Không bên nào, vì không client nào tính phí. Crush là bản tải xuống miễn phí và OpenCode cũng là bản tải xuống miễn phí; khoản bạn trả là token model tại provider bạn cấu hình. Chênh lệch chi phí do ví mà mỗi dự án hướng bạn đến tạo ra, và cả hai đều chấp nhận endpoint OpenAI tương thích của bên thứ ba mà không yêu cầu gói. Cũng lưu ý rằng mức giá được niêm yết rẻ nhất và chi phí thấp nhất để hoàn thành một tác vụ là hai điều khác nhau: một model cần ba lần thử có thể tốn nhiều hơn một model đắt hơn nhưng chỉ cần một lần.
Tôi có thể sử dụng khóa API riêng hoặc gateway với Crush không?
Có, và đây là một quy trình chính thức được tài liệu hóa, không yêu cầu gói. README của Crush mô tả các provider tùy chỉnh thuộc loại openai, openai-compat, anthropic và một số loại cục bộ. Đối với gateway OpenAI tương thích của bên thứ ba, loại chính xác là openai-compat; README của Crush cảnh báo rằng openai dành cho việc proxy hoặc định tuyến qua chính OpenAI, còn openai-compat dành cho các provider không phải OpenAI có API tương thích với OpenAI. Đăng ký provider bằng provider add, sau đó đăng ký từng model bằng model add, bao gồm giá trên mỗi triệu token mà Crush sử dụng để ước tính chi phí trên màn hình. Tự động phát hiện chạy khi danh sách model của provider openai-compat trống hoặc khi bạn truyền --discover-models true.
Charm Hyper có cung cấp cho tôi các model Claude, GPT hoặc Gemini không?
Không. Endpoint model công khai của Hyper tại hyper.charm.land/v1/models trả về 23 model vào ngày 18 tháng 9 năm 2026, và không có Claude, không có dòng GPT-5 hoặc GPT-6, cũng không có Gemini trong số đó. Phần lớn ID thuộc các dòng open-weights — DeepSeek, Kimi, GLM, MiniMax, Qwen, gpt-oss-120b và các biến thể Gemma — còn một ID, inkling, là ID mang thương hiệu Charm mà tài liệu Hyper không mô tả các trọng số nền tảng, vì vậy trang này không mô tả toàn bộ danh mục là open-weights. Hyper là provider chính thức của Crush — README của Crush gọi việc chọn model Hyper từ bộ chọn model là cách nhanh nhất để bắt đầu và liệt kê HYPER_API_KEY trong bảng biến môi trường — nhưng người dùng Crush muốn model Claude, GPT hoặc Gemini frontier phải cấu hình một provider khác. Không có điều gì trong Crush ngăn cản việc đó.
OpenCode Zen và OpenCode Go khác nhau như thế nào?
Đây là hai sản phẩm trả phí riêng biệt của cùng một nhà cung cấp, trên hai endpoint khác nhau, và cùng một model có thể có mức giá khác nhau ở mỗi nơi. Zen là khoản tín dụng trả trước theo mức sử dụng trên danh mục frontier, tính phí theo mỗi triệu token; tài liệu của Zen nêu rằng sản phẩm được bán theo giá vốn, chỉ cộng thêm phí để trang trải phí xử lý, với phí thẻ được chuyển nguyên cho khách hàng ở mức 4,4% cộng $0,30 cho mỗi giao dịch. Go là gói đăng ký $10 mỗi tháng trên một danh sách riêng, chủ yếu gồm các model open-weights — bảng riêng cũng liệt kê Grok 4.6 và GPT 5.6 Luna — với các hạn mức sử dụng tính bằng đô la — hạn mức 5 giờ ở mức 20% giới hạn hàng tháng, hạn mức hàng tuần ở mức 50% và giới hạn hàng tháng ở mức 100% — và chỉ một thành viên trong mỗi workspace được phép đăng ký gói này. DeepSeek V4 Flash minh họa khoảng cách này: $0,14 đầu vào và $0,28 đầu ra trên Zen, so với $0,15 đầu vào và $0,60 đầu ra ngoài giờ cao điểm, cùng $0,30 đầu vào và $1,20 đầu ra vào giờ cao điểm trên Go; tất cả đều được đọc từ tài liệu của nhà cung cấp vào ngày 18 tháng 9 năm 2026.
Việc chuyển một dự án từ bên này sang bên kia khó đến mức nào?
Phần tốn công không nằm ở cấu hình model mà nằm ở trạng thái quyền và định dạng cấu hình. Crush đọc một crushrc, là Bash với các lệnh tích hợp của Crush, theo thứ tự ./.crushrc, ./crushrc rồi ~/.config/crush/crushrc; crush.json cũ vẫn được hỗ trợ nhưng được ghi rõ là đã lỗi thời và bị đóng băng đối với các tính năng mới. OpenCode đọc tệp dữ liệu opencode.json. Không có trình chuyển đổi giữa hai định dạng, vì vậy cấu hình cục bộ của dự án phải được viết lại thủ công. Cả hai client đều hỗ trợ MCP server, LSP server và Agent Skills, nên các khả năng này vẫn được giữ lại khi chuyển đổi dù phần khai báo của chúng không được giữ nguyên.
Siêu dữ liệu kho mã, bản phát hành và các phiên bản npm được đối chiếu với GitHub API và npm registry vào ngày 19 tháng 9 năm 2026; giấy phép, README, tệp mã nguồn Crush và tài liệu về Charm Hyper, OpenCode Zen, OpenCode Go, quyền hạn và nhà cung cấp được kiểm tra vào ngày 18–19 tháng 9 năm 2026. Mức giá token Kunavo lấy từ catalog hiện hành. Không tiến hành kiểm thử khả năng tương thích, hiệu năng hoặc benchmark nào của hai ứng dụng cho trang này và cũng không tuyên bố có; mọi ví dụ đô la ở đây đều là phép tính token mang tính minh họa, không phải chi phí tác vụ được đo lường.