Files
Boyce 010d99c2d5 docs(i18n): translate the review-bot row and refresh README stamps
c962177c7 rewrote the 'codewhale review' table row in README.md but left
all 18 translations on the old wording, missing link and stale stamps,
so scripts/check-readme-translations.py fails on main. Translate the new
row in every pack (linking the anchor that commit added) and bump the
stamps.

Signed-off-by: Boyce <[email protected]>
2026-10-29 16:05:13 +08:00

16 KiB
Raw Permalink Blame History

Codewhale

Agent programistyczny open source do terminala, który działa z dowolnym modelem.

Dajesz Codewhale zadanie, a on czyta repozytorium, edytuje pliki i uruchamia polecenia, dopóki zadanie nie zostanie wykonane albo nie będzie potrzebował informacji od Ciebie. Działa z ponad 40 wbudowanymi dostawcami (domyślnie z DeepSeek V4.1 Flash) oraz z modelami uruchomionymi na Twoim własnym komputerze. /receipts wyświetla listę plików, które zmienił, poleceń, które uruchomił, oraz wywołań internetowych i MCP, które wykonał.

CI crates.io npm License: MIT Discord

Strona · Dokumentacja · Dziennik zmian · Współtworzenie

English · 简体中文 · 日本語 · Tiếng Việt · Bahasa Indonesia · 한국어 · Español · Português · Русский · Українська · Français · Deutsch · 繁體中文 · हिन्दी · Türkçe · Italiano · العربية · Català

Sesja Codewhale w terminalu

Wersja rozwojowa 0.10.2 ze skryptowanym modelem testowym, z uprawnieniem Full Access, w jednorazowym obszarze roboczym. Edycja, trzy testy i przegląd wykonany przez subagenta odbyły się naprawdę.

Codewhale × OrcaRouter — o 30% więcej korzystania z DeepSeek v4.1 Flash

Zobacz ofertę Codewhale × OrcaRouter. Codewhale otrzymuje prowizję za polecenia od OrcaRouter.

Instalacja

macOS i Linux:

curl -fsSL https://codewhale.net/install.sh | sh

Instalator umieszcza w ~/.local/bin plik codewhale i jego krótki alias codew, po weryfikacji sum kontrolnych. Jeśli powłoka zgłosi potem command not found, uruchom linię z PATH, którą wypisuje instalator (szczegóły). Do aktualizacji służy codewhale update. Te polecenia instalują najnowsze wydanie. Ta strona opisuje gałąź main, więc funkcja oznaczona wersją pojawi się w tym wydaniu; dziennik zmian pokazuje, co wnosi każde wydanie.

Windows, npm, Cargo i inne sposoby instalacji
winget install HunterBown.CodeWhale  # Windows x64 (or Scoop, or the installer from GitHub Releases)
npm install -g codewhale            # wraps the same release binaries
cargo install codewhale-cli --locked  # crates.io; can trail GitHub Releases

Gotowe pliki binarne są dostępne dla Linuksa, macOS i Windows na x64 i arm64. Nix, Homebrew w Linuksie, Android/Termux (wersja zapoznawcza) i ręczne pobieranie opisuje przewodnik instalacji, a kontenery Docker. Na jednej maszynie używaj jednej metody instalacji; inaczej w PATH znajdą się dwie kopie i zadziała ta, która jest pierwsza.

Szybki start

  1. Zrób commit lub stash swoich zmian, a następnie uruchom codewhale w katalogu głównym repozytorium git. Domyślnie wprowadza tam zmiany w plikach bez pytania i pokazuje Ci diff.
  2. Uruchom /provider (lub naciśnij F3), wybierz dostawcę, wklej jego klucz API i wybierz model. Domyślnym dostawcą jest DeepSeek. Jeśli nie masz klucza, wybierz zamiast tego lokalne środowisko. Jeśli żaden dostawca nie jest skonfigurowany, a Ollama już udostępnia model czatu, Codewhale automatycznie go użyje; od 0.10.2 proponuje go, gdy wyślesz pierwszą wiadomość.
  3. Wpisz zadanie:
Fix the failing tests and explain what changed.

Polecenia tylko do odczytu uruchamiają się od razu. Przed każdym innym poleceniem powłoki Codewhale najpierw pyta: y uruchamia je jednorazowo, a zezwala na podobne polecenia do końca rozmowy, n odmawia. /undo cofa Twoje ostatnie zlecenie i zmiany, które wprowadziło w plikach. /help wyświetla polecenia i skróty klawiszowe.

W skryptach i CI codewhale exec wykonuje jedno zadanie bez interfejsu. Domyślnie --auto używa Full Access: narzędzia działają bez pytania, polecenia powłoki działają bez piaskownicy Codewhale, a tryb zaufania pozwala narzędziom plikowym zapisywać pliki poza obszarem roboczym. Dodaj --sandbox workspace-write, aby zachować piaskownicę powłoki i ograniczyć narzędzia plikowe do obszaru roboczego, z wyłączonym trybem zaufania:

codewhale exec --auto --sandbox workspace-write "fix the failing tests and explain what changed"

Tryby i uprawnienia

Świeża instalacja startuje w trybie Work z uprawnieniem Ask.

Przełączanie Opcje
Tryb Tab (gdy pole wprowadzania jest puste) lub /mode Plan czyta i przeszukuje, ale niczego nie zmienia. Work edytuje pliki i uruchamia polecenia. Operate ma ten sam dostęp co Work, traktuje Twoje zlecenie jako cel i działa dalej, dopóki cel nie zostanie zweryfikowany albo nie będzie potrzebował informacji od Ciebie.
Uprawnienie Shift+Tab Ask wprowadza zmiany w plikach Twojego repozytorium bez pytania i pyta przed poleceniami powłoki, które nie są tylko do odczytu. Auto-Review pozwala regułom i modelowi recenzującemu zatwierdzać rutynowe wywołania, a wywołania wysokiego ryzyka odrzuca; aby zatwierdzać je samodzielnie, przełącz na Ask. Full Access nigdy nie pyta i wyłącza piaskownicę Codewhale; reguły repozytorium i polityka zarządzana nadal obowiązują.

Szczegóły opisuje przewodnik po trybach i uprawnieniach.

Co potrafi

Nowości w 0.10.2

  • /pet on zamienia terminal w animowanego wieloryba, który pokazuje, czym zajmuje się agent, a pole wiadomości pozostaje przy tym aktywne. Jego 980 cząsteczek układa się w nazwę bieżącego kroku po angielsku, chińsku lub japońsku.
  • /workbar terminal pokazuje powłoki uruchomione przez agenta na bieżąco, w trakcie ich działania. Możesz pisać w każdej z nich albo nacisnąć Ctrl+N, aby otworzyć własną powłokę (macOS i Linux).
  • /undo cofa całe Twoje ostatnie zlecenie w jednym kroku, łącznie ze wszystkimi zmienionymi przez nie plikami, a /diff działa w folderach bez Gita.
  • Gdy plan jest gotowy, Codewhale pyta, czy rozpocząć Work z Ask lub Auto-Review, czy dalej planować.
  • /color nadaje każdemu czatowi własny kolor pola wiadomości, zapisywany razem z sesją.
  • web_search może korzystać z nowego Search API od DeepSeek: ustaw [search] provider = "deepseek" i podaj klucz DeepSeek.
  • Poza Full Access polecenie curl lub wget, które wysłałoby dane uwierzytelniające, nigdy nie uruchomi się bez Twojej zgody, a polecenie ukrywające niewidoczne znaki Unicode zostaje odrzucone. write nie zastępuje już pliku, którego agent nie przeczytał, ani pliku, który zmienił się po przeczytaniu.

Modele

Wbudowanych jest ponad 40 dostawców, w tym Anthropic, OpenAI, DeepSeek, Google, Mistral, Moonshot, OpenRouter i xAI. Działa każdy punkt końcowy zgodny z OpenAI, a także modele lokalne przez Ollama, vLLM lub SGLang. Domyślnym modelem jest deepseek-flash od DeepSeek, który DeepSeek 2026-10-17 przełączył na DeepSeek-V4.1-Flash-1017; 0.10.1 obsługuje go bez aktualizacji (szczegóły).

/model przełącza model między turami, a /model auto wybiera model dla każdej tury (sposób wyboru ustawia /router). /turn inspect pokazuje, jakiego modelu użyła tura, ile kosztowała i jak długo trwała. codewhale auth chatgpt pozwala korzystać z subskrypcji ChatGPT zamiast klucza API (eksperymentalnie). Zobacz Dostawcy.

Pokwitowania i cofanie

/receipts (albo codewhale receipts --last po wyjściu z programu) wyświetla listę zmienionych plików, uruchomionych poleceń, wywołań internetowych i MCP, uruchomionych agentów, zatwierdzeń wraz z tym, kto ich udzielił, oraz niepowodzeń. /undo cofa Twoje ostatnie zlecenie i zmienione przez nie pliki w jednym kroku, bez trybu zaufania. /restore przywraca cały obszar roboczy do wcześniejszej migawki; ponieważ nadpisuje to późniejsze zmiany, wymaga /trust on lub Full Access. Zobacz Pokwitowania.

Uruchomienia exec z dostępnymi narzędziami są zapisywane w każdym formacie wyjściowym, więc codewhale receipts --last działa po exec --auto, także z --json. Uruchomienia bez narzędzi z wyjściem tekstowym lub --json są zapisywane tylko przy wznawianiu lub gdy zaczyna się kompakcja rozmowy; użyj --output-format stream-json, aby zawsze je zapisywać na potrzeby pokwitowań lub exec --continue.

Dłuższa praca

/goal ustawia cel, który obowiązuje przez kolejne tury. Codewhale może podzielić pracę między subagentów, uruchomić flotę agentów albo wykonać przepływ pracy zapisany w repozytorium.

Przejście z innego agenta

Codewhale sam czyta AGENTS.md. Pliki instrukcji napisane dla innych narzędzi, takie jak CLAUDE.md, .cursorrules czy .github/copilot-instructions.md, są wczytywane tylko wtedy, gdy włączysz to w konfiguracji ustawieniem project_instruction_imports = ["claude"] (lub "cursor", "cline", "windsurf", "copilot", "all"); zobacz config.example.toml. Codewhale ostrzega, gdy znajdzie taki plik, którego nie wczytał.

/import-claude przygotowuje import Twoich ustawień Claude Code i serwerów MCP do przejrzenia. /plugin install przyjmuje wtyczki Claude Code zawierające umiejętności, polecenia, profile agentów i serwery MCP, a odrzuca wtyczki wymagające hooków lub serwerów LSP (szczegóły).

Rozszerzenia

Podłączaj serwery MCP, dodawaj umiejętności i wtyczki oraz uruchamiaj hooki na zdarzeniach sesji i narzędzi. Code mode (eksperymentalny, domyślnie włączony) pozwala modelowi napisać jeden program execute_tools, który wywołuje kilka narzędzi MCP i wtyczek; każde wywołanie nadal podlega Twoim regułom zatwierdzania i ma własne pokwitowanie. Osobno instalowana wtyczka Computer Use (eksperymentalna, tylko macOS) potrafi obserwować i obsługiwać inne aplikacje. Pozostaje wyłączona, dopóki nie sprawdzisz jej dostępu i jej nie włączysz (przewodnik).

Sposoby uruchamiania

Polecenie Co robi
codewhale Interaktywna aplikacja terminalowa
codewhale exec "…" Jedno zadanie bez interfejsu. Bez dodatkowych flag odpowiada bez użycia narzędzi; --auto domyślnie włącza narzędzia z Full Access, --sandbox workspace-write je ogranicza, a --output-format stream-json strumieniuje zdarzenia jako JSON
codewhale web Lokalny interfejs przeglądarkowy pod 127.0.0.1 (przewodnik)
codewhale review --pr N Doradczy przegląd pull requesta na GitHubie. Konfiguracja bota GitHub generuje przypięty do wersji workflow do automatycznych przeglądów i @codewhale review, z użyciem własnego klucza modelu i opcjonalnej tożsamości App
codewhale app-server --http Runtime API, lokalne HTTP API dla wątków, zdarzeń, zatwierdzeń i zmian w plikach z każdej tury
codewhale serve --acp Agent Client Protocol przez stdio, dla edytorów takich jak Zed

Aplikacja terminalowa, exec, web i Runtime API korzystają z jednego silnika (architektura). Utrzymywane przez społeczność rozszerzenie VS Code łączy się z nim z panelu bocznego (kod źródłowy). Natywna aplikacja desktopowa oparta na Runtime API jest w trakcie tworzenia; nie ma jeszcze publicznej wersji do pobrania.

Koszty i konta

Codewhale jest darmowy i udostępniany na licencji MIT. Z własnym kluczem API płacisz bezpośrednio dostawcy; modele lokalne nie wymagają klucza. Stopka i /cost pokazują koszt sesji, gdy cena jest znana; nieznana cena jest pokazywana jako nieznana, nigdy jako darmowa.

Konto nie jest wymagane. Klucze dodane przez /provider pozostają na Twoim komputerze.

Bezpieczeństwo i prywatność

Przy uprawnieniach Ask i Auto-Review polecenia działają w piaskownicy systemowej, jeśli system ją ma: Seatbelt w macOS i bubblewrap w Linuksie, gdy jest zainstalowany. Windows nie ma jeszcze piaskownicy systemowej, a Full Access wyłącza piaskownicę. W piaskownicy polecenia powłoki nie mogą odczytywać magazynów danych uwierzytelniających, takich jak ~/.ssh, ~/.aws i pliki .env; od 0.10.2 ta sama reguła obejmuje sesje terminala i więcej narzędzi plikowych. /preview-request pokazuje zredagowany podgląd następnego zapytania, nie wysyłając go.

Telemetria jest domyślnie włączona. Wysyła zagregowane liczniki (wersja i platforma, długość i wynik sesji, używani wbudowani dostawcy, liczniki użycia funkcji i błędów) wraz z losowym identyfikatorem instalacji, który zmienia się co 90 dni; nigdy nie wysyła rozmów, kodu, promptów, nazw modeli, nazw plików ani repozytoriów, ani danych uwierzytelniających. codewhale config set telemetry false ją wyłącza. Przy uruchomieniu Codewhale sprawdza też na GitHubie, czy jest nowe wydanie; ustaw CODEWHALE_NO_UPDATE_CHECK=1, aby to pominąć. Więcej o kolejności autoryzacji, piaskownicy i telemetrii.

Dokumentacja

Zacznij tutaj Materiały referencyjne
Instalacja Konfiguracja
Dostawcy i modele lokalne Architektura
Tryby i uprawnienia Runtime API
Skróty klawiszowe Tworzenie wtyczek
Przegląd PR na GitHubie Cała dokumentacja

Społeczność

Jeśli brakuje dostawcy albo jakiś przepływ pracy jest niewygodny, otwórz issue lub wyślij pull request. Autorzy zachowują uznanie za pracę, która zostanie włączona, a struktura repozytorium pokazuje, gdzie co się znajduje.

Rozmawiaj na Discordzie albo dodaj opiekuna projektu, Huntera, na WeChacie (hunterbown) i poproś o dołączenie do grupy Whale Brothers.

Historia i licencja

Codewhale zaczynał jako deepseek-tui i nadal czyta konfigurację oraz sesje tego projektu. Jest utrzymywany niezależnie i nie jest powiązany z DeepSeek ani z żadnym innym dostawcą modeli. Dziękujemy wszystkim, którzy wnieśli swój wkład.

Codewhale contributors

MIT. Kod zaadaptowany z innych projektów open source wymieniono w informacjach o komponentach zewnętrznych.