| 1 | <!-- source: README.md sha256:604da19bff2c --> |
| 2 | <div align="center"> |
| 3 | |
| 4 | <picture> |
| 5 | <source media="(prefers-color-scheme: dark)" srcset="brand/wordmark-inverted.svg"> |
| 6 | <img src="brand/wordmark.svg" alt="Codewhale" width="320"> |
| 7 | </picture> |
| 8 | |
| 9 | **Tác nhân lập trình mã nguồn mở, hoạt động với mọi mô hình.** |
| 10 | |
| 11 | Codewhale đọc dự án của bạn, chỉnh sửa tệp, chạy lệnh và tự kiểm tra công việc |
| 12 | của mình, ngay trong terminal, với mô hình lưu trữ trực tuyến hoặc mô hình cục |
| 13 | bộ do bạn chọn. |
| 14 | |
| 15 | [](https://github.com/codewhale-hq/CodeWhale/actions/workflows/ci.yml) |
| 16 | [](https://crates.io/crates/codewhale-cli) |
| 17 | [](https://www.npmjs.com/package/codewhale) |
| 18 | [](LICENSE) |
| 19 | [](https://discord.gg/37gfS3ksug) |
| 20 | |
| 21 | [Trang web](https://codewhale.net) · [Tài liệu](docs/README.md) · [Nhật ký thay đổi](CHANGELOG.md) · [Đóng góp](CONTRIBUTING.md) |
| 22 | |
| 23 | [English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · [Bahasa Indonesia](README.id.md) · [한국어](README.ko-KR.md) · [Español](README.es-419.md) · [Português](README.pt-BR.md) · [Русский](README.ru.md) · [Українська](README.uk.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [繁體中文](README.zh-TW.md) · [हिन्दी](README.hi.md) · [Türkçe](README.tr.md) · [Italiano](README.it.md) · [Polski](README.pl.md) · [العربية](README.ar.md) · [Català](README.ca.md) |
| 24 | |
| 25 | <img src="web/public/codewhale-tui-8ba2bbf.png" alt="Một phiên terminal của Codewhale" width="760"> |
| 26 | |
| 27 | <sub>Ảnh chụp terminal thật sau một lần cài mới, không dàn dựng đầu ra.</sub> |
| 28 | |
| 29 | </div> |
| 30 | |
| 31 | ## Cài đặt |
| 32 | |
| 33 | macOS và Linux: |
| 34 | |
| 35 | ```bash |
| 36 | curl -fsSL https://codewhale.net/install.sh | sh |
| 37 | ``` |
| 38 | |
| 39 | Trình cài đặt tải các tệp nhị phân đã được xác minh checksum vào `~/.local/bin`. |
| 40 | Nếu sau đó `codewhale` báo "command not found", hãy chạy dòng lệnh PATH mà trình |
| 41 | cài đặt in ra, hoặc xem |
| 42 | [Thêm vào PATH](docs/INSTALL.md#put-it-on-your-path). |
| 43 | Bạn có thể nâng cấp bất cứ lúc nào bằng `codewhale update`. |
| 44 | |
| 45 | <details> |
| 46 | <summary><b>Windows, npm, Cargo và các cách cài khác</b></summary> |
| 47 | |
| 48 | ```bash |
| 49 | winget install HunterBown.CodeWhale # Windows x64 (or Scoop, or the installer from GitHub Releases) |
| 50 | npm install -g codewhale # wraps the same release binaries |
| 51 | cargo install codewhale-cli --locked # build from crates.io |
| 52 | ``` |
| 53 | |
| 54 | Docker, Nix, Homebrew trên Linux, Android/Termux, tải thủ công kèm xác minh |
| 55 | checksum và bản mirror CNB tùy chọn được trình bày trong |
| 56 | [hướng dẫn cài đặt](docs/INSTALL.md). Hãy chọn một cách: cài nhiều lần trên cùng |
| 57 | một máy sẽ xung đột với nhau về `PATH`. |
| 58 | |
| 59 | </details> |
| 60 | |
| 61 | ## Bắt đầu nhanh |
| 62 | |
| 63 | 1. **Mở dự án của bạn.** Chạy `codewhale` trong thư mục bạn muốn làm việc. |
| 64 | 2. **Kết nối mô hình.** Chạy `/provider` (hoặc nhấn `F3`) để thêm khóa của mô |
| 65 | hình lưu trữ trực tuyến hoặc chọn runtime cục bộ. Nếu Ollama đang chạy sẵn |
| 66 | với một mô hình trò chuyện, Codewhale sẽ tự chuyển sang mô hình đó. Dùng |
| 67 | `/model` để đổi mô hình. |
| 68 | 3. **Giao một tác vụ cụ thể.** |
| 69 | |
| 70 | ```text |
| 71 | Fix the failing tests and explain what changed. |
| 72 | ``` |
| 73 | |
| 74 | Cùng tác vụ đó có thể chạy ở chế độ headless từ một script hoặc job CI: |
| 75 | |
| 76 | ```bash |
| 77 | codewhale exec "fix the failing tests and explain what changed" |
| 78 | ``` |
| 79 | |
| 80 | Chạy `/help` để xem các lệnh và phím tắt. |
| 81 | |
| 82 | ## Các cách chạy |
| 83 | |
| 84 | Mọi client đều điều khiển cùng một Codewhale Runtime cục bộ, nên phiên làm việc, |
| 85 | công cụ và quyền hạn hoạt động giống nhau ở mọi nơi. |
| 86 | |
| 87 | | Lệnh | Chức năng | |
| 88 | | --- | --- | |
| 89 | | `codewhale` | Giao diện terminal tương tác | |
| 90 | | `codewhale exec "…"` | Một lượt chạy headless từ script hoặc CI, phát trực tiếp JSON | |
| 91 | | `codewhale web` | [Client trình duyệt cục bộ](docs/WEB.md) đi kèm tại `127.0.0.1` | |
| 92 | | `codewhale review --pr N` | [Đánh giá pull request](docs/GITHUB_ACTION.md) mang tính tham khảo; việc đăng là tùy chọn | |
| 93 | | Runtime API | [API HTTP cục bộ](docs/RUNTIME_API.md) cho thread, sự kiện và phê duyệt | |
| 94 | |
| 95 | Ứng dụng desktop gốc (GPUI) đang được xây dựng làm client sản phẩm cho tài khoản |
| 96 | đã đăng nhập; xem tình trạng phát hành tại |
| 97 | [trang sản phẩm](https://codewhale.net/en/product). |
| 98 | [Tiện ích mở rộng VS Code](https://marketplace.visualstudio.com/items?itemName=HengQuWorld.brotherwhale-vscode) |
| 99 | do cộng đồng duy trì kết nối với cùng Runtime từ thanh bên |
| 100 | ([mã nguồn](https://github.com/HengQuWorld/CodeWhale-VSCode)). |
| 101 | |
| 102 | ## Codewhale làm được gì |
| 103 | |
| 104 | - **Mọi mô hình, không bị khóa.** Hơn 40 tuyến nhà cung cấp tích hợp sẵn, |
| 105 | gồm Anthropic, DeepSeek, Google, Mistral, Moonshot, OpenAI, OpenRouter, xAI |
| 106 | và nhiều hơn nữa, cùng mọi endpoint tương thích OpenAI và mô hình cục bộ qua |
| 107 | Ollama, vLLM hoặc SGLang. [Nhà cung cấp](docs/PROVIDERS.md) |
| 108 | - **Bạn luôn nắm quyền kiểm soát.** Chế độ Plan chỉ khám phá mà không thay đổi |
| 109 | gì; Work và Operate thực hiện thay đổi. Các posture phê duyệt quyết định khi |
| 110 | nào một lệnh gọi công cụ cần bạn đồng ý, `/undo` và `/restore` khôi phục các |
| 111 | thay đổi trong không gian làm việc, còn `/receipts` liệt kê mọi tệp, lệnh và |
| 112 | phê duyệt trong một phiên. [Chế độ](docs/MODES.md) · |
| 113 | [Biên nhận](docs/RECEIPTS.md) |
| 114 | - **Dành cho công việc dài hơi.** Đặt một `/goal` bền vững, giao việc có phạm vi |
| 115 | rõ ràng cho [tác nhân phụ](docs/SUBAGENTS.md), chạy |
| 116 | [nhóm tác nhân](docs/FLEET.md) có giám sát với bước kiểm tra chi phí trước khi |
| 117 | chạy, hoặc viết script cho chúng dưới dạng |
| 118 | [workflow](docs/WORKFLOW_AUTHORING.md) lưu trong kho mã. |
| 119 | - **Mở rộng những gì bạn đang dùng.** Kết nối [máy chủ MCP](docs/MCP.md), cài |
| 120 | [skill](docs/SKILLS.md) và [plugin](docs/PLUGINS.md), chạy |
| 121 | [hook](docs/HOOKS.md) theo sự kiện phiên và công cụ, đồng thời nạp các |
| 122 | [plugin Claude Code](docs/CLAUDE_PLUGIN_COMPAT.md) hiện có. |
| 123 | - **Computer Use.** Một plugin đi kèm bổ sung công cụ để quan sát và điều khiển |
| 124 | các ứng dụng khác. Hãy xem lại phạm vi truy cập của nó và bật trước khi dùng. |
| 125 | [Hướng dẫn](crates/tui/plugins/computer-use/README.md) |
| 126 | |
| 127 | ## Chế độ và quyền |
| 128 | |
| 129 | | | Chọn bằng | Tùy chọn | |
| 130 | | --- | --- | --- | |
| 131 | | **Chế độ** — tác nhân đang làm gì | `Tab` hoặc `/mode` | Plan (khám phá, không thay đổi) · Work (chỉnh sửa và chạy) · Operate (thực hiện một mục tiêu qua các bước đã lập kế hoạch và được kiểm chứng) | |
| 132 | | **Posture** — khi nào hỏi trước | `Shift+Tab` | Ask · Auto-Review · Full Access | |
| 133 | |
| 134 | Full Access vẫn tuân thủ các ranh giới chính sách cứng. |
| 135 | [Hướng dẫn về chế độ và quyền](docs/MODES.md) giải thích từng tùy chọn. |
| 136 | |
| 137 | ## An toàn |
| 138 | |
| 139 | Codewhale chạy trên máy của bạn với quyền truy cập bạn cấp. Các posture phê duyệt |
| 140 | và quy tắc của kho mã giới hạn những gì tác nhân được phép làm, và lệnh chạy bên |
| 141 | trong sandbox của hệ điều hành ở nơi được hỗ trợ (Seatbelt trên macOS; bubblewrap |
| 142 | trên Linux là tùy chọn). `/preview-request` hiển thị chính xác yêu cầu đã được che |
| 143 | thông tin nhạy cảm trước khi bất cứ thứ gì được gửi đi. Giá của mô hình chưa biết |
| 144 | vẫn được giữ là chưa biết, không bị báo cáo là miễn phí. |
| 145 | |
| 146 | Xem [thứ tự cấp quyền](docs/AUTHORIZATION_ORDER.md), |
| 147 | [sandbox](docs/SANDBOX.md) và [telemetry](docs/TELEMETRY.md): số liệu sử dụng được |
| 148 | bật theo mặc định và `codewhale config set telemetry false` sẽ tắt chúng. |
| 149 | |
| 150 | ## Tài liệu |
| 151 | |
| 152 | | Bắt đầu tại đây | Tìm hiểu sâu hơn | |
| 153 | | --- | --- | |
| 154 | | [Cài đặt](docs/INSTALL.md) | [Cấu hình](docs/CONFIGURATION.md) | |
| 155 | | [Nhà cung cấp và mô hình cục bộ](docs/PROVIDERS.md) | [Kiến trúc](docs/ARCHITECTURE.md) | |
| 156 | | [Chế độ và quyền](docs/MODES.md) | [Runtime API](docs/RUNTIME_API.md) | |
| 157 | | [Phím tắt](docs/KEYBINDINGS.md) | [Viết plugin](docs/PLUGIN_AUTHORING.md) | |
| 158 | | [Đánh giá PR trên GitHub](docs/GITHUB_ACTION.md) | [Toàn bộ tài liệu](docs/README.md) | |
| 159 | |
| 160 | ## Cộng đồng |
| 161 | |
| 162 | Chúng tôi hoan nghênh báo lỗi, ý tưởng tính năng và pull request, dù bạn đã dùng |
| 163 | Codewhale nhiều tháng hay mới thử lần đầu. Nếu thiếu một nhà cung cấp hoặc một |
| 164 | quy trình làm việc còn vướng víu, hãy |
| 165 | [mở một issue](https://github.com/codewhale-hq/CodeWhale/issues/new/choose) hoặc |
| 166 | [gửi pull request](CONTRIBUTING.md). Đóng góp đầu tiên luôn được chào đón, và |
| 167 | người đóng góp được ghi nhận công sức cho phần việc được tích hợp. |
| 168 | [Cấu trúc kho mã](CONTRIBUTING.md#project-structure) là nơi tốt để bắt đầu. |
| 169 | |
| 170 | Hãy tham gia [Discord](https://discord.gg/37gfS3ksug), hoặc thêm Hunter trên |
| 171 | WeChat (`hunterbown`) và xin vào nhóm Whale Brothers. |
| 172 | |
| 173 | ## Lịch sử và giấy phép |
| 174 | |
| 175 | Codewhale bắt đầu từ `deepseek-tui` và vẫn đọc cấu hình cùng các phiên của dự án |
| 176 | đó. Nay dự án không phụ thuộc nhà cung cấp mô hình nào, được duy trì độc lập và |
| 177 | không liên kết với bất kỳ nhà cung cấp mô hình nào. Cảm ơn |
| 178 | [mọi người đóng góp](docs/CONTRIBUTORS.md) và các cộng đồng mã nguồn mở đã giúp |
| 179 | dự án lớn mạnh. |
| 180 | |
| 181 | [MIT](LICENSE). Các phần được điều chỉnh từ những dự án mã nguồn mở khác được ghi |
| 182 | lại trong [thông báo bên thứ ba](docs/THIRD_PARTY_NOTICES.md). |
| 183 |