Codewhale

Codewhale to agent o otwartym kodzie źródłowym, który czyta Twój projekt, edytuje pliki, wykonuje polecenia i sprawdza swoją pracę przy użyciu wybranego przez Ciebie modelu hostowanego lub lokalnego. Zacznij od jednego zadania w terminalu. Przy większej pracy powierz jej części agentom korzystającym z różnych modeli i pełniącym różne role.

Codewhale działający w terminalu

Podgląd terminala z rozwojowej kompilacji v0.9.12.

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

CI crates.io npm Discord

Instalacja

Przy nowej instalacji na macOS lub Linuksie użyj oficjalnego wydania z GitHuba:

curl -fsSL https://codewhale.net/install.sh | sh
"$HOME/.local/bin/codewhale"

Instalator wybiera najnowsze opublikowane wydanie. Dziennik zmian opisuje również nieopublikowanego jeszcze kandydata do kolejnego wydania; te zmiany trafią do opublikowanych plików do pobrania dopiero po udostępnieniu wydania.

Na Windows pobierz odpowiedni instalator lub archiwum z GitHub Releases. Istniejącą instalację bezpośrednią zaktualizujesz poleceniem codewhale update; codewhale update --check służy tylko do sprawdzenia. Aktualizator pokazuje ścieżkę pliku wykonywalnego i zachowuje nowsze kompilacje. npm i Cargo to opcje dodatkowe. Migrację z menedżera pakietów i konfigurację PATH opisuje instrukcja instalacji.

Przy pierwszym uruchomieniu Codewhale pomaga połączyć się z dostawcą lub skonfigurować Codewhale w trybie offline. Odpowiedzi modelu wymagają połączenia z modelem hostowanym lub lokalnym. Codewhale obsługuje również npm i Cargo jako dodatkowe sposoby instalacji, a także Docker, Nix, Scoop, Android/Termux oraz opcjonalny serwer lustrzany CNB. Dla istniejących instalacji zarządzanych przez menedżera pakietów dostępne są instrukcje migracji. Zobacz pomoc dotyczącą instalacji i PATH.

Uzupełnianie klawiszem Tab można włączyć jednym poleceniem dla każdej powłoki — codewhale completion bash|zsh|fish|powershell|elvish. Zobacz uzupełnianie powłoki.

Użycie

Otwórz terminal w folderze projektu i uruchom codewhale. Wybierz dostawcę poleceniem /provider, a model poleceniem /model. Następnie opisz konkretne zadanie:

Fix the failing tests and explain what changed.

Możesz też uruchomić zadanie bez otwierania TUI:

codewhale exec "fix the failing tests and explain what changed"

Codewhale może czytać Twoje repozytorium, edytować pliki, wykonywać polecenia, sprawdzać wyniki i kontynuować pracę nad celem. Użyj /mode plan, aby analizować projekt bez zmian w plikach i wykonywania poleceń powłoki, a /mode work, gdy chcesz wprowadzać zmiany. Naciśnij Shift+Tab, aby wybrać Ask, Auto-Review lub Full Access; przewodnik po trybach i uprawnieniach wyjaśnia, na co pozwala każdy z nich.

Terminal, aplikacje i Computer Use

Terminal i klienci graficzni łączą się z Codewhale Runtime, który uruchamia agenta i jego narzędzia:

  • Terminal: codewhale otwiera interaktywny interfejs; codewhale exec uruchamia zadanie ze skryptu lub zadania CI.
  • Lokalna przeglądarka: codewhale web otwiera dołączonego lokalnego klienta webowego dla tego samego środowiska wykonawczego.
  • Aplikacje webowe i desktopowe Codewhale: graficzne środowiska pracy w trakcie rozwoju. Informacje o ich dostępności znajdują się na stronie produktu.

Computer Use dodaje narzędzia do obserwowania innych aplikacji i interakcji z nimi. Wtyczka jest dołączona do obecnego kodu źródłowego. Przed użyciem sprawdź, o jaki dostęp prosi, i włącz ją; nadal obowiązują uprawnienia systemu operacyjnego i wymagania platformy. Zobacz dołączony przewodnik po Computer Use oraz konfigurację wtyczek.

Utrzymywane przez społeczność rozszerzenie CodeWhale dla VS Code łączy się z lokalnym Runtime z panelu bocznego. Zainstaluj je z VS Code Marketplace; kod źródłowy znajdziesz na GitHub.

Dlaczego Codewhale

  • Wybieraj modele. Połącz się z hostowanymi dostawcami lub lokalnymi modelami przez Ollama, vLLM albo SGLang. Polecenie /provider służy do zmiany dostawcy, a /model do wyboru modelu.
  • Zachowaj kontrolę. Sprawdzaj proponowane działania i wynikające z nich zmiany w plikach. Ustawienia zatwierdzania określają, kiedy potrzebna jest weryfikacja; Full Access nadal przestrzega nieprzekraczalnych ograniczeń zasad. /undo i /restore pomagają przywrócić przestrzeń roboczą po zmianach.
  • Utrzymuj porządek w długich zadaniach. Zapisuj sesje, ustawiaj trwały /goal, sprawdzaj przepływy pracy przed uruchomieniem i koordynuj agentów bez umieszczania ich wewnętrznych instrukcji w zapisie Twojej rozmowy.
  • Rozszerzaj agenta, którego już masz. Podłączaj serwery MCP i umiejętności, konfiguruj hooki oraz przechowuj role agentów jako czytelne pliki w projekcie lub ustawieniach osobistych.

Uruchom /help w TUI, aby zobaczyć polecenia i skróty klawiaturowe.

Bezpieczeństwo

Codewhale działa na Twoim komputerze z dostępem, który mu przyznasz. Tryby zatwierdzania i reguły repozytorium ograniczają działania agenta; opcjonalny sandbox systemu operacyjnego zapewnia mocniejszą granicę wykonywania tam, gdzie jest obsługiwany. Nieznane ceny modeli pozostają oznaczone jako nieznane, zamiast być przedstawiane jako bezpłatne.

Przeczytaj o kolejności autoryzacji, aby poznać dokładną hierarchię zasad, oraz o konfiguracji, aby poznać ustawienia lokalne.

Dokumentacja

Dołącz do społeczności

Zgłoszenia błędów, pomysły na funkcje i pull requesty są mile widziane, niezależnie od tego, czy używasz Codewhale od miesięcy, czy próbujesz go po raz pierwszy. Jeśli brakuje dostawcy, przepływ pracy jest niewygodny albo interfejs terminala przeszkadza Ci w pracy, otwórz issue lub wyślij pull request, abyśmy mogli wspólnie go ulepszyć. Pierwsze wkłady są mile widziane, a autorzy zachowują uznanie za pracę przyjętą do projektu.

Dołącz do Discorda albo dodaj Huntera na WeChat (hunterbown) i poproś o dołączenie do grupy Whale Brothers.

Historia projektu

Codewhale rozpoczął się jako deepseek-tui i nadal zachowuje zgodność z jego konfiguracją oraz sesjami. Obecnie jest niezależny od dostawców, utrzymywany samodzielnie i nie jest powiązany z żadnym dostawcą modeli.

Dziękujemy wszystkim współtwórcom oraz społecznościom open source, które pomogły projektowi się rozwijać. Zobacz rejestr współtwórców.

Licencja

MIT. Części zaadaptowane z innych projektów open source są wymienione w informacjach o komponentach zewnętrznych.