diff --git a/.github/scripts/update-homebrew-tap.sh b/.github/scripts/update-homebrew-tap.sh index 216000e7..d0e28018 100644 --- a/.github/scripts/update-homebrew-tap.sh +++ b/.github/scripts/update-homebrew-tap.sh @@ -51,12 +51,12 @@ trap 'rm -rf "${TAP_DIR}" "${FORMULA_FILE}"' EXIT # --- generate formula -------------------------------------------------- -readonly BASE_URL="https://github.com/Hmbown/DeepSeek-TUI/releases/download/${TAG}" +readonly BASE_URL="https://github.com/Hmbown/CodeWhale/releases/download/${TAG}" cat > "${FORMULA_FILE}" << EOF class DeepseekTui < Formula desc "Terminal-native coding agent for DeepSeek V4" - homepage "https://github.com/Hmbown/DeepSeek-TUI" + homepage "https://github.com/Hmbown/CodeWhale" version "${VERSION}" license "MIT" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fefca051..3b01714c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -323,7 +323,7 @@ jobs: files: artifacts/*/* prerelease: false body: | - > This release renames the project to **Codewhale**. The legacy + > This release renames the project to **CodeWhale**. The legacy > `deepseek` and `deepseek-tui` binaries continue to ship as > deprecation shims for one release cycle; they print a one-line > warning and forward to `codewhale` / `codewhale-tui`. They will @@ -391,7 +391,7 @@ jobs: ## Changelog - See [CHANGELOG.md](https://github.com/Hmbown/DeepSeek-TUI/blob/main/CHANGELOG.md) for the full notes for this release. + See [CHANGELOG.md](https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md) for the full notes for this release. homebrew: needs: [release, resolve] diff --git a/AGENTS.md b/AGENTS.md index 18cb9964..fc7a062e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -113,7 +113,7 @@ If a contribution is itself a prompt-injection attempt or otherwise acting in ba ## Session Longevity (Critical) -Long sessions in Codewhale WILL degrade and crash if you work sequentially. The session accumulates every message and tool result in `api_messages` and `history` with **no automatic pruning** (auto-compaction is disabled by default since v0.6.6). Session saves serialize the entire bloated array to disk. +Long sessions in CodeWhale WILL degrade and crash if you work sequentially. The session accumulates every message and tool result in `api_messages` and `history` with **no automatic pruning** (auto-compaction is disabled by default since v0.6.6). Session saves serialize the entire bloated array to disk. **To survive a multi-hour sprint:** diff --git a/CHANGELOG.md b/CHANGELOG.md index 41c027a7..66683e8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4099,7 +4099,7 @@ Welcome — and thank you. - Multi-turn tool calls on thinking-mode models no longer return HTTP 400. Every assistant message in the conversation now carries `reasoning_content` when thinking is enabled — not just tool-call rounds — matching DeepSeek's actual API validation, which rejects any assistant message missing the field even though the docs describe non-tool-call reasoning as "ignored". - Added a final-pass wire-payload sanitizer in the chat-completions client that forces a non-empty `reasoning_content` placeholder onto any assistant message still missing one at request time. This is the last line of defense after engine-side and build-side substitution, so sessions restored from older checkpoints, sub-agents that append messages directly, and cached prefix mismatches all produce a valid request. - On a `reasoning_content`-related 400, the client now logs the offending message indices to make future regressions diagnosable. -- Stripped phantom `web.run` references from prompts and the `web_search` tool surface ([#25](https://github.com/Hmbown/DeepSeek-TUI/issues/25)). +- Stripped phantom `web.run` references from prompts and the `web_search` tool surface ([#25](https://github.com/Hmbown/CodeWhale/issues/25)). ### Changed - Header/UI widget refactor in the TUI (`crates/tui/src/tui/ui.rs`, `widgets/header.rs`) — internal cleanup, no user-visible behavior change. @@ -4595,83 +4595,83 @@ Welcome — and thank you. - Hooks system and config profiles - Example skills and launch assets -[Unreleased]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.41...HEAD -[0.8.41]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.40...v0.8.41 -[0.8.40]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.39...v0.8.40 -[0.8.39]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.38...v0.8.39 -[0.8.38]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.37...v0.8.38 -[0.8.37]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.36...v0.8.37 -[0.8.36]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.35...v0.8.36 -[0.8.35]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.34...v0.8.35 -[0.8.34]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.33...v0.8.34 -[0.8.33]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.32...v0.8.33 -[0.8.32]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.31...v0.8.32 -[0.8.31]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.30...v0.8.31 -[0.8.30]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.29...v0.8.30 -[0.8.29]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.28...v0.8.29 -[0.8.28]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.27...v0.8.28 -[0.8.27]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.26...v0.8.27 -[0.8.26]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.25...v0.8.26 -[0.8.25]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.24...v0.8.25 -[0.8.24]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.23...v0.8.24 -[0.8.23]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.22...v0.8.23 -[0.8.22]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.21...v0.8.22 -[0.8.21]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.20...v0.8.21 -[0.8.20]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.19...v0.8.20 -[0.8.19]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.18...v0.8.19 -[0.8.18]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.17...v0.8.18 -[0.8.17]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.16...v0.8.17 -[0.8.16]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.15...v0.8.16 -[0.8.15]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.13...v0.8.15 -[0.8.13]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.12...v0.8.13 -[0.8.12]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.11...v0.8.12 -[0.8.11]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.10...v0.8.11 -[0.8.10]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.8...v0.8.10 -[0.8.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.7...v0.8.8 -[0.8.7]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.6...v0.8.7 -[0.8.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.5...v0.8.6 -[0.8.5]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.4...v0.8.5 -[0.8.4]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.3...v0.8.4 -[0.8.3]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.2...v0.8.3 -[0.8.2]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.1...v0.8.2 -[0.8.1]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.0...v0.8.1 -[0.8.0]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.9...v0.8.0 -[0.7.9]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.8...v0.7.9 -[0.7.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.7...v0.7.8 -[0.7.7]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.6...v0.7.7 -[0.7.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.5...v0.7.6 -[0.6.1]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.6.0...v0.6.1 -[0.6.0]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.4.9...v0.6.0 -[0.4.9]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.4.8...v0.4.9 -[0.4.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.33...v0.4.8 -[0.3.33]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.32...v0.3.33 -[0.3.32]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.31...v0.3.32 -[0.3.31]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.28...v0.3.31 -[0.3.28]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.27...v0.3.28 -[0.3.23]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.22...v0.3.23 -[0.3.22]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.21...v0.3.22 -[0.3.21]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.17...v0.3.21 -[0.3.17]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.16...v0.3.17 -[0.3.16]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.14...v0.3.16 -[0.3.14]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.13...v0.3.14 -[0.3.13]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.12...v0.3.13 -[0.3.12]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.11...v0.3.12 -[0.3.11]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.10...v0.3.11 -[0.3.10]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.6...v0.3.10 -[0.3.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.5...v0.3.6 -[0.3.5]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.4...v0.3.5 -[0.3.4]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.3...v0.3.4 -[0.3.3]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.2...v0.3.3 -[0.3.2]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.1...v0.3.2 -[0.3.1]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.0...v0.3.1 -[0.3.0]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.2.2...v0.3.0 -[0.2.2]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.2.0...v0.2.2 -[0.2.0]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.2.0 -[0.0.2]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.0.2 -[0.0.1]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.0.1 -[0.1.9]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.8...v0.1.9 -[0.1.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.7...v0.1.8 -[0.1.7]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.6...v0.1.7 -[0.1.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.5...v0.1.6 -[0.1.5]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.0...v0.1.5 -[0.1.0]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.1.0 +[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.41...HEAD +[0.8.41]: https://github.com/Hmbown/CodeWhale/compare/v0.8.40...v0.8.41 +[0.8.40]: https://github.com/Hmbown/CodeWhale/compare/v0.8.39...v0.8.40 +[0.8.39]: https://github.com/Hmbown/CodeWhale/compare/v0.8.38...v0.8.39 +[0.8.38]: https://github.com/Hmbown/CodeWhale/compare/v0.8.37...v0.8.38 +[0.8.37]: https://github.com/Hmbown/CodeWhale/compare/v0.8.36...v0.8.37 +[0.8.36]: https://github.com/Hmbown/CodeWhale/compare/v0.8.35...v0.8.36 +[0.8.35]: https://github.com/Hmbown/CodeWhale/compare/v0.8.34...v0.8.35 +[0.8.34]: https://github.com/Hmbown/CodeWhale/compare/v0.8.33...v0.8.34 +[0.8.33]: https://github.com/Hmbown/CodeWhale/compare/v0.8.32...v0.8.33 +[0.8.32]: https://github.com/Hmbown/CodeWhale/compare/v0.8.31...v0.8.32 +[0.8.31]: https://github.com/Hmbown/CodeWhale/compare/v0.8.30...v0.8.31 +[0.8.30]: https://github.com/Hmbown/CodeWhale/compare/v0.8.29...v0.8.30 +[0.8.29]: https://github.com/Hmbown/CodeWhale/compare/v0.8.28...v0.8.29 +[0.8.28]: https://github.com/Hmbown/CodeWhale/compare/v0.8.27...v0.8.28 +[0.8.27]: https://github.com/Hmbown/CodeWhale/compare/v0.8.26...v0.8.27 +[0.8.26]: https://github.com/Hmbown/CodeWhale/compare/v0.8.25...v0.8.26 +[0.8.25]: https://github.com/Hmbown/CodeWhale/compare/v0.8.24...v0.8.25 +[0.8.24]: https://github.com/Hmbown/CodeWhale/compare/v0.8.23...v0.8.24 +[0.8.23]: https://github.com/Hmbown/CodeWhale/compare/v0.8.22...v0.8.23 +[0.8.22]: https://github.com/Hmbown/CodeWhale/compare/v0.8.21...v0.8.22 +[0.8.21]: https://github.com/Hmbown/CodeWhale/compare/v0.8.20...v0.8.21 +[0.8.20]: https://github.com/Hmbown/CodeWhale/compare/v0.8.19...v0.8.20 +[0.8.19]: https://github.com/Hmbown/CodeWhale/compare/v0.8.18...v0.8.19 +[0.8.18]: https://github.com/Hmbown/CodeWhale/compare/v0.8.17...v0.8.18 +[0.8.17]: https://github.com/Hmbown/CodeWhale/compare/v0.8.16...v0.8.17 +[0.8.16]: https://github.com/Hmbown/CodeWhale/compare/v0.8.15...v0.8.16 +[0.8.15]: https://github.com/Hmbown/CodeWhale/compare/v0.8.13...v0.8.15 +[0.8.13]: https://github.com/Hmbown/CodeWhale/compare/v0.8.12...v0.8.13 +[0.8.12]: https://github.com/Hmbown/CodeWhale/compare/v0.8.11...v0.8.12 +[0.8.11]: https://github.com/Hmbown/CodeWhale/compare/v0.8.10...v0.8.11 +[0.8.10]: https://github.com/Hmbown/CodeWhale/compare/v0.8.8...v0.8.10 +[0.8.8]: https://github.com/Hmbown/CodeWhale/compare/v0.8.7...v0.8.8 +[0.8.7]: https://github.com/Hmbown/CodeWhale/compare/v0.8.6...v0.8.7 +[0.8.6]: https://github.com/Hmbown/CodeWhale/compare/v0.8.5...v0.8.6 +[0.8.5]: https://github.com/Hmbown/CodeWhale/compare/v0.8.4...v0.8.5 +[0.8.4]: https://github.com/Hmbown/CodeWhale/compare/v0.8.3...v0.8.4 +[0.8.3]: https://github.com/Hmbown/CodeWhale/compare/v0.8.2...v0.8.3 +[0.8.2]: https://github.com/Hmbown/CodeWhale/compare/v0.8.1...v0.8.2 +[0.8.1]: https://github.com/Hmbown/CodeWhale/compare/v0.8.0...v0.8.1 +[0.8.0]: https://github.com/Hmbown/CodeWhale/compare/v0.7.9...v0.8.0 +[0.7.9]: https://github.com/Hmbown/CodeWhale/compare/v0.7.8...v0.7.9 +[0.7.8]: https://github.com/Hmbown/CodeWhale/compare/v0.7.7...v0.7.8 +[0.7.7]: https://github.com/Hmbown/CodeWhale/compare/v0.7.6...v0.7.7 +[0.7.6]: https://github.com/Hmbown/CodeWhale/compare/v0.7.5...v0.7.6 +[0.6.1]: https://github.com/Hmbown/CodeWhale/compare/v0.6.0...v0.6.1 +[0.6.0]: https://github.com/Hmbown/CodeWhale/compare/v0.4.9...v0.6.0 +[0.4.9]: https://github.com/Hmbown/CodeWhale/compare/v0.4.8...v0.4.9 +[0.4.8]: https://github.com/Hmbown/CodeWhale/compare/v0.3.33...v0.4.8 +[0.3.33]: https://github.com/Hmbown/CodeWhale/compare/v0.3.32...v0.3.33 +[0.3.32]: https://github.com/Hmbown/CodeWhale/compare/v0.3.31...v0.3.32 +[0.3.31]: https://github.com/Hmbown/CodeWhale/compare/v0.3.28...v0.3.31 +[0.3.28]: https://github.com/Hmbown/CodeWhale/compare/v0.3.27...v0.3.28 +[0.3.23]: https://github.com/Hmbown/CodeWhale/compare/v0.3.22...v0.3.23 +[0.3.22]: https://github.com/Hmbown/CodeWhale/compare/v0.3.21...v0.3.22 +[0.3.21]: https://github.com/Hmbown/CodeWhale/compare/v0.3.17...v0.3.21 +[0.3.17]: https://github.com/Hmbown/CodeWhale/compare/v0.3.16...v0.3.17 +[0.3.16]: https://github.com/Hmbown/CodeWhale/compare/v0.3.14...v0.3.16 +[0.3.14]: https://github.com/Hmbown/CodeWhale/compare/v0.3.13...v0.3.14 +[0.3.13]: https://github.com/Hmbown/CodeWhale/compare/v0.3.12...v0.3.13 +[0.3.12]: https://github.com/Hmbown/CodeWhale/compare/v0.3.11...v0.3.12 +[0.3.11]: https://github.com/Hmbown/CodeWhale/compare/v0.3.10...v0.3.11 +[0.3.10]: https://github.com/Hmbown/CodeWhale/compare/v0.3.6...v0.3.10 +[0.3.6]: https://github.com/Hmbown/CodeWhale/compare/v0.3.5...v0.3.6 +[0.3.5]: https://github.com/Hmbown/CodeWhale/compare/v0.3.4...v0.3.5 +[0.3.4]: https://github.com/Hmbown/CodeWhale/compare/v0.3.3...v0.3.4 +[0.3.3]: https://github.com/Hmbown/CodeWhale/compare/v0.3.2...v0.3.3 +[0.3.2]: https://github.com/Hmbown/CodeWhale/compare/v0.3.1...v0.3.2 +[0.3.1]: https://github.com/Hmbown/CodeWhale/compare/v0.3.0...v0.3.1 +[0.3.0]: https://github.com/Hmbown/CodeWhale/compare/v0.2.2...v0.3.0 +[0.2.2]: https://github.com/Hmbown/CodeWhale/compare/v0.2.0...v0.2.2 +[0.2.0]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.2.0 +[0.0.2]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.0.2 +[0.0.1]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.0.1 +[0.1.9]: https://github.com/Hmbown/CodeWhale/compare/v0.1.8...v0.1.9 +[0.1.8]: https://github.com/Hmbown/CodeWhale/compare/v0.1.7...v0.1.8 +[0.1.7]: https://github.com/Hmbown/CodeWhale/compare/v0.1.6...v0.1.7 +[0.1.6]: https://github.com/Hmbown/CodeWhale/compare/v0.1.5...v0.1.6 +[0.1.5]: https://github.com/Hmbown/CodeWhale/compare/v0.1.0...v0.1.5 +[0.1.0]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.1.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9fe02fea..f1afa9ed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,7 @@ Thank you for your interest in contributing to codewhale! This document provides 1. Fork and clone the repository: ```bash git clone https://github.com/YOUR_USERNAME/DeepSeek-TUI.git - cd DeepSeek-TUI + cd CodeWhale ``` 2. Build the project: diff --git a/Cargo.toml b/Cargo.toml index 0a0b76de..7dd08c7b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ edition = "2024" # confusing E0658 from rustc. rust-version = "1.88" license = "MIT" -repository = "https://github.com/Hmbown/DeepSeek-TUI" +repository = "https://github.com/Hmbown/CodeWhale" [workspace.dependencies] anyhow = "1.0.100" diff --git a/Dockerfile b/Dockerfile index 1be33e7e..73b24efa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -# Codewhale multi-arch Docker image (#501) +# CodeWhale multi-arch Docker image (#501) # # Build: docker buildx build --platform linux/amd64,linux/arm64 -t codewhale:latest . # Run: docker run --rm -it -e DEEPSEEK_API_KEY -v codewhale-home:/home/codewhale/.deepseek codewhale diff --git a/README.ja-JP.md b/README.ja-JP.md index bcdd1e60..98c8c088 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -1,4 +1,4 @@ -# 🐳 Codewhale +# 🐳 CodeWhale > **このターミナルネイティブのコーディングエージェントは、DeepSeek V4 の 100 万トークンのコンテキストウィンドウとプレフィックスキャッシュ機能を中心に構築されています。単一のバイナリとして配布され、Node.js や Python のランタイムは不要です。MCP クライアント、サンドボックス、永続的なタスクキューも標準で同梱されています。** @@ -24,7 +24,7 @@ brew tap Hmbown/deepseek-tui brew install deepseek-tui # 4. 直接ダウンロード — Node もツールチェーンも不要。 -# https://github.com/Hmbown/DeepSeek-TUI/releases +# https://github.com/Hmbown/CodeWhale/releases # Linux x64/ARM64、macOS x64/ARM64、Windows x64 向けのビルド済みバイナリがあります。 # 5. Docker — ビルド済みリリースイメージ。 @@ -49,10 +49,10 @@ cargo install codewhale-cli --locked --force cargo install codewhale-tui --locked --force ``` -[![CI](https://github.com/Hmbown/DeepSeek-TUI/actions/workflows/ci.yml/badge.svg)](https://github.com/Hmbown/DeepSeek-TUI/actions/workflows/ci.yml) +[![CI](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml/badge.svg)](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/codewhale)](https://www.npmjs.com/package/codewhale) [![crates.io](https://img.shields.io/crates/v/codewhale-cli?label=crates.io)](https://crates.io/crates/codewhale-cli) -[![DeepWiki](https://img.shields.io/badge/DeepWiki-Ask_AI-_.svg?style=flat&color=0052D9&labelColor=000000&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/Hmbown/DeepSeek-TUI) +[![DeepWiki](https://img.shields.io/badge/DeepWiki-Ask_AI-_.svg?style=flat&color=0052D9&labelColor=000000&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/Hmbown/CodeWhale) Buy me a coffee @@ -123,7 +123,7 @@ codewhale doctor # セットアップを検証 ### Linux ARM64(Raspberry Pi、Asahi、Graviton、HarmonyOS PC) -`npm i -g codewhale` は v0.8.8 以降、glibc ベースの ARM64 Linux で動作します。[Releases ページ](https://github.com/Hmbown/DeepSeek-TUI/releases) からビルド済みバイナリをダウンロードし、`PATH` 上に並べて配置することもできます。 +`npm i -g codewhale` は v0.8.8 以降、glibc ベースの ARM64 Linux で動作します。[Releases ページ](https://github.com/Hmbown/CodeWhale/releases) からビルド済みバイナリをダウンロードし、`PATH` 上に並べて配置することもできます。 ### 中国 / ミラーフレンドリーなインストール @@ -146,7 +146,7 @@ cargo install codewhale-tui --locked # `codewhale-tui` を提供 codewhale --version ``` -ビルド済みバイナリは [GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases) からもダウンロードできます。ミラーされたリリースアセットには `DEEPSEEK_TUI_RELEASE_BASE_URL` を使ってください。 +ビルド済みバイナリは [GitHub Releases](https://github.com/Hmbown/CodeWhale/releases) からもダウンロードできます。ミラーされたリリースアセットには `DEEPSEEK_TUI_RELEASE_BASE_URL` を使ってください。 ### Windows(Scoop) @@ -167,8 +167,8 @@ scoop install deepseek-tui # sudo apt-get install -y build-essential pkg-config libdbus-1-dev # sudo dnf install -y gcc make pkgconf-pkg-config dbus-devel -git clone https://github.com/Hmbown/DeepSeek-TUI.git -cd DeepSeek-TUI +git clone https://github.com/Hmbown/CodeWhale.git +cd CodeWhale cargo install --path crates/cli --locked # Rust 1.88+ が必要。`codewhale` を提供 cargo install --path crates/tui --locked # `codewhale-tui` を提供 @@ -416,7 +416,7 @@ description: DeepSeek にカスタムワークフローを実行させたいと ## コントリビューション -[CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。プルリクエストを歓迎します。良い初コントリビューションは [Open Issues](https://github.com/Hmbown/DeepSeek-TUI/issues) を確認してください。 +[CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。プルリクエストを歓迎します。良い初コントリビューションは [Open Issues](https://github.com/Hmbown/CodeWhale/issues) を確認してください。 > [!Note] > *DeepSeek Inc. とは関係ありません。* @@ -427,4 +427,4 @@ description: DeepSeek にカスタムワークフローを実行させたいと ## Star History -[![Star History Chart](https://api.star-history.com/chart?repos=Hmbown/DeepSeek-TUI&type=date&legend=top-left)](https://www.star-history.com/?repos=Hmbown%2FDeepSeek-TUI&type=date&logscale=&legend=top-left) +[![Star History Chart](https://api.star-history.com/chart?repos=Hmbown/CodeWhale&type=date&legend=top-left)](https://www.star-history.com/?repos=Hmbown%2FCodeWhale&type=date&logscale=&legend=top-left) diff --git a/README.md b/README.md index 12ded83c..9adcd93f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Codewhale +# CodeWhale > Terminal coding agent for DeepSeek V4. It runs from the `codewhale` command, streams reasoning blocks, edits local workspaces with approval gates, and includes an auto mode that chooses both model and thinking level per turn. @@ -29,7 +29,7 @@ brew tap Hmbown/deepseek-tui brew install deepseek-tui # 4. Direct download — no package manager or toolchain. -# https://github.com/Hmbown/DeepSeek-TUI/releases +# https://github.com/Hmbown/CodeWhale/releases # Prebuilt for Linux x64/ARM64, macOS x64/ARM64, Windows x64. # 5. Docker — prebuilt release image. @@ -47,7 +47,7 @@ docker run --rm -it \ > [Cargo mirror](#china--mirror-friendly-installation) below. > > Download safety: official release binaries live under -> `https://github.com/Hmbown/DeepSeek-TUI/releases`. For manual downloads, +> `https://github.com/Hmbown/CodeWhale/releases`. For manual downloads, > verify the SHA-256 manifest and avoid look-alike repositories or search-result > mirrors. See [download safety and checksums](docs/INSTALL.md#2-download-safety-and-checksums). @@ -61,10 +61,10 @@ cargo install codewhale-cli --locked --force cargo install codewhale-tui --locked --force ``` -[![CI](https://github.com/Hmbown/DeepSeek-TUI/actions/workflows/ci.yml/badge.svg)](https://github.com/Hmbown/DeepSeek-TUI/actions/workflows/ci.yml) +[![CI](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml/badge.svg)](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/codewhale)](https://www.npmjs.com/package/codewhale) [![crates.io](https://img.shields.io/crates/v/codewhale-cli?label=crates.io)](https://crates.io/crates/codewhale-cli) -[DeepWiki project index](https://deepwiki.com/Hmbown/DeepSeek-TUI) +[DeepWiki project index](https://deepwiki.com/Hmbown/CodeWhale) ![codewhale screenshot](assets/screenshot.png) @@ -72,7 +72,7 @@ cargo install codewhale-tui --locked --force ## What Is It? -Codewhale is a coding agent that runs in your terminal. It can read and edit files, run shell commands, search the web, manage git, and coordinate sub-agents from a keyboard-driven TUI. +CodeWhale is a coding agent that runs in your terminal. It can read and edit files, run shell commands, search the web, manage git, and coordinate sub-agents from a keyboard-driven TUI. It is built around DeepSeek V4 (`deepseek-v4-pro` / `deepseek-v4-flash`), including 1M-token context windows, streaming reasoning blocks, and prefix-cache-aware cost reporting. @@ -110,7 +110,7 @@ See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full walkthrough. ### Sub-agents: Concurrent Background Execution -Codewhale can dispatch multiple sub-agents that run in parallel — like a concurrent task queue: +CodeWhale can dispatch multiple sub-agents that run in parallel — like a concurrent task queue: - **Non-blocking launch.** `agent_open` returns immediately. The child gets its own fresh context and tool registry and runs independently. The parent keeps working. - **Background execution.** Sub-agents execute concurrently (default cap: 10, configurable to 20). The engine manages the pool — no polling loop needed. @@ -181,7 +181,7 @@ Use a fixed model or fixed thinking level when you want repeatable benchmarking, ### Linux ARM64 (Raspberry Pi, Asahi, Graviton, HarmonyOS PC) -`npm i -g codewhale` works on glibc-based ARM64 Linux from v0.8.8 onward. You can also download prebuilt binaries from the [Releases page](https://github.com/Hmbown/DeepSeek-TUI/releases) and place them side by side on your `PATH`. +`npm i -g codewhale` works on glibc-based ARM64 Linux from v0.8.8 onward. You can also download prebuilt binaries from the [Releases page](https://github.com/Hmbown/CodeWhale/releases) and place them side by side on your `PATH`. ### China / Mirror-friendly Installation @@ -204,7 +204,7 @@ cargo install codewhale-tui --locked # provides `codewhale-tui` codewhale --version ``` -Prebuilt binaries can also be downloaded from [GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases). Use `DEEPSEEK_TUI_RELEASE_BASE_URL` for mirrored release assets. +Prebuilt binaries can also be downloaded from [GitHub Releases](https://github.com/Hmbown/CodeWhale/releases). Use `DEEPSEEK_TUI_RELEASE_BASE_URL` for mirrored release assets. ### Windows (Scoop) @@ -233,8 +233,8 @@ Works on any Tier-1 Rust target — including musl, riscv64, FreeBSD, and older # sudo apt-get install -y build-essential pkg-config libdbus-1-dev # sudo dnf install -y gcc make pkgconf-pkg-config dbus-devel -git clone https://github.com/Hmbown/DeepSeek-TUI.git -cd DeepSeek-TUI +git clone https://github.com/Hmbown/CodeWhale.git +cd CodeWhale cargo install --path crates/cli --locked # requires Rust 1.88+; provides `codewhale` cargo install --path crates/tui --locked # provides `codewhale-tui` @@ -591,7 +591,7 @@ This project ships with help from a growing community of contributors: ## Contributing -See [CONTRIBUTING.md](CONTRIBUTING.md). Pull requests welcome — check the [open issues](https://github.com/Hmbown/DeepSeek-TUI/issues) for good first contributions. +See [CONTRIBUTING.md](CONTRIBUTING.md). Pull requests welcome — check the [open issues](https://github.com/Hmbown/CodeWhale/issues) for good first contributions. Support: [Buy me a coffee](https://www.buymeacoffee.com/hmbown). @@ -604,4 +604,4 @@ Support: [Buy me a coffee](https://www.buymeacoffee.com/hmbown). ## Star History -[![Star History Chart](https://api.star-history.com/chart?repos=Hmbown/DeepSeek-TUI&type=date&legend=top-left)](https://www.star-history.com/?repos=Hmbown%2FDeepSeek-TUI&type=date&logscale=&legend=top-left) +[![Star History Chart](https://api.star-history.com/chart?repos=Hmbown/CodeWhale&type=date&legend=top-left)](https://www.star-history.com/?repos=Hmbown%2FCodeWhale&type=date&logscale=&legend=top-left) diff --git a/README.zh-CN.md b/README.zh-CN.md index 7339bfe1..f5824a66 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,4 +1,4 @@ -# Codewhale +# CodeWhale > **面向 [DeepSeek V4](https://platform.deepseek.com) 的终端原生编程智能体:100 万 token 上下文、思考模式流式推理、前缀缓存感知。自包含 Rust 二进制发布——开箱即带 MCP 客户端、沙箱和持久化任务队列。** @@ -25,7 +25,7 @@ brew tap Hmbown/deepseek-tui brew install deepseek-tui # 4. 直接下载 —— 无需任何工具链。 -# https://github.com/Hmbown/DeepSeek-TUI/releases +# https://github.com/Hmbown/CodeWhale/releases # 覆盖 Linux x64/ARM64、macOS x64/ARM64、Windows x64 # 5. Docker —— 预构建发布镜像。 @@ -42,7 +42,7 @@ docker run --rm -it \ > 或使用下方的 [Cargo 镜像](#中国大陆--镜像友好安装)。 > > 下载安全:官方二进制只发布在 -> `https://github.com/Hmbown/DeepSeek-TUI/releases`。手动下载时请校验 +> `https://github.com/Hmbown/CodeWhale/releases`。手动下载时请校验 > SHA-256 manifest,并避免相似仓库名或搜索结果里的镜像站。详见 > [下载安全与校验](docs/INSTALL.md#2-download-safety-and-checksums)。 @@ -56,10 +56,10 @@ cargo install codewhale-cli --locked --force cargo install codewhale-tui --locked --force ``` -[![CI](https://github.com/Hmbown/DeepSeek-TUI/actions/workflows/ci.yml/badge.svg)](https://github.com/Hmbown/DeepSeek-TUI/actions/workflows/ci.yml) +[![CI](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml/badge.svg)](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/codewhale)](https://www.npmjs.com/package/codewhale) [![crates.io](https://img.shields.io/crates/v/codewhale-cli?label=crates.io)](https://crates.io/crates/codewhale-cli) -[DeepWiki project index](https://deepwiki.com/Hmbown/DeepSeek-TUI) +[DeepWiki project index](https://deepwiki.com/Hmbown/CodeWhale) ![codewhale 截图](assets/screenshot.png) @@ -168,7 +168,7 @@ Auto 模式同时控制两个设置: ### Linux ARM64(HarmonyOS 轻薄本、openEuler、Kylin、树莓派、Graviton 等) -从 v0.8.8 起,`npm i -g codewhale` 直接支持 glibc 系的 ARM64 Linux。你也可以从 [Releases 页面](https://github.com/Hmbown/DeepSeek-TUI/releases) 下载预编译二进制,放到 `PATH` 目录中。 +从 v0.8.8 起,`npm i -g codewhale` 直接支持 glibc 系的 ARM64 Linux。你也可以从 [Releases 页面](https://github.com/Hmbown/CodeWhale/releases) 下载预编译二进制,放到 `PATH` 目录中。 ### 中国大陆 / 镜像友好安装 @@ -191,7 +191,7 @@ cargo install codewhale-tui --locked # 提供交互式 TUI 伴随二进制 codewhale --version ``` -也可以直接从 [GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases) 下载预编译二进制。`DEEPSEEK_TUI_RELEASE_BASE_URL` 可用于镜像后的 release 资产。 +也可以直接从 [GitHub Releases](https://github.com/Hmbown/CodeWhale/releases) 下载预编译二进制。`DEEPSEEK_TUI_RELEASE_BASE_URL` 可用于镜像后的 release 资产。 ### Windows (Scoop) @@ -218,8 +218,8 @@ codewhale --version # sudo apt-get install -y build-essential pkg-config libdbus-1-dev # sudo dnf install -y gcc make pkgconf-pkg-config dbus-devel -git clone https://github.com/Hmbown/DeepSeek-TUI.git -cd DeepSeek-TUI +git clone https://github.com/Hmbown/CodeWhale.git +cd CodeWhale cargo install --path crates/cli --locked # 需要 Rust 1.88+;提供 `codewhale` cargo install --path crates/tui --locked # 提供 `codewhale-tui` @@ -557,7 +557,7 @@ description: 当 DeepSeek 需要遵循我的自定义工作流时使用这个技 ## 贡献 -欢迎提交 pull request——请先查看 [CONTRIBUTING.md](CONTRIBUTING.md) 并留意[开放 issue](https://github.com/Hmbown/DeepSeek-TUI/issues) 中的好入门任务。 +欢迎提交 pull request——请先查看 [CONTRIBUTING.md](CONTRIBUTING.md) 并留意[开放 issue](https://github.com/Hmbown/CodeWhale/issues) 中的好入门任务。 *本项目与 DeepSeek Inc. 无隶属关系。* @@ -567,4 +567,4 @@ description: 当 DeepSeek 需要遵循我的自定义工作流时使用这个技 ## Star 历史 -[![Star History Chart](https://api.star-history.com/chart?repos=Hmbown/DeepSeek-TUI&type=date&legend=top-left)](https://www.star-history.com/?repos=Hmbown%2FDeepSeek-TUI&type=date&logscale=&legend=top-left) +[![Star History Chart](https://api.star-history.com/chart?repos=Hmbown/CodeWhale&type=date&legend=top-left)](https://www.star-history.com/?repos=Hmbown%2FCodeWhale&type=date&logscale=&legend=top-left) diff --git a/SECURITY.md b/SECURITY.md index 955d5e02..adaccfa9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -11,7 +11,7 @@ Only the latest stable release receives security patches. No backports to older | latest stable | :white_check_mark: | | < latest | :x: | -Check the [releases page](https://github.com/Hmbown/DeepSeek-TUI/releases) for the current version. +Check the [releases page](https://github.com/Hmbown/CodeWhale/releases) for the current version. ## Reporting a Vulnerability @@ -19,7 +19,7 @@ Check the [releases page](https://github.com/Hmbown/DeepSeek-TUI/releases) for t Report privately via one of: -- **GitHub private advisory**: [github.com/Hmbown/DeepSeek-TUI/security/advisories/new](https://github.com/Hmbown/DeepSeek-TUI/security/advisories/new) +- **GitHub private advisory**: [github.com/Hmbown/CodeWhale/security/advisories/new](https://github.com/Hmbown/CodeWhale/security/advisories/new) - **Email**: [security@deepseek-tui.com](mailto:security@deepseek-tui.com) — include `[SECURITY]` in the subject line Include in your report: diff --git a/config.example.toml b/config.example.toml index ac17d3f8..08f8fff0 100644 --- a/config.example.toml +++ b/config.example.toml @@ -1,5 +1,5 @@ # ╔══════════════════════════════════════════════════════════════════════════════╗ -# ║ Codewhale Configuration ║ +# ║ CodeWhale Configuration ║ # ║ ║ # ║ Terminal coding agent for DeepSeek. ║ # ╚══════════════════════════════════════════════════════════════════════════════╝ @@ -530,7 +530,7 @@ default_text_model = "deepseek-ai/deepseek-v4-pro" # # [[hooks.hooks]] # event = "session_start" -# command = "echo 'Codewhale session started'" +# command = "echo 'CodeWhale session started'" # # # Inject ephemeral creds into every shell call. Output one # # KEY=VALUE per line on stdout (export prefix optional). diff --git a/crates/cli/src/lib.rs b/crates/cli/src/lib.rs index d2d9d867..1e20704e 100644 --- a/crates/cli/src/lib.rs +++ b/crates/cli/src/lib.rs @@ -115,7 +115,7 @@ struct Cli { enum Commands { /// Run interactive/non-interactive flows via the TUI binary. Run(RunArgs), - /// Run Codewhale diagnostics. + /// Run CodeWhale diagnostics. Doctor(TuiPassthroughArgs), /// List live DeepSeek API models via the TUI binary. Models(TuiPassthroughArgs), @@ -129,7 +129,7 @@ enum Commands { Init(TuiPassthroughArgs), /// Bootstrap MCP config and/or skills directories. Setup(TuiPassthroughArgs), - /// Run the Codewhale non-interactive agent command. + /// Run the CodeWhale non-interactive agent command. #[command(after_help = "\ Common forwarded flags: --auto Enable agentic mode with tool access @@ -140,7 +140,7 @@ Common forwarded flags: --output-format Output format: text or stream-json ")] Exec(TuiPassthroughArgs), - /// Run a Codewhale-powered code review over a git diff. + /// Run a CodeWhale-powered code review over a git diff. Review(TuiPassthroughArgs), /// Apply a patch file or stdin to the working tree. Apply(TuiPassthroughArgs), @@ -1572,7 +1572,7 @@ The `codewhale` dispatcher delegates interactive sessions to a sibling \ • npm: npm install -g codewhale (downloads both binaries)\n\ • cargo: cargo install codewhale-cli codewhale-tui --locked\n\ • GitHub Releases: download BOTH `codewhale-` AND \ -`codewhale-tui-` from https://github.com/Hmbown/DeepSeek-TUI/releases/latest \ +`codewhale-tui-` from https://github.com/Hmbown/CodeWhale/releases/latest \ and place them in the same directory.\n\ \n\ Or set DEEPSEEK_TUI_BIN to the absolute path of an existing `codewhale-tui` binary.", diff --git a/crates/cli/src/update.rs b/crates/cli/src/update.rs index f23443f2..c9d3e481 100644 --- a/crates/cli/src/update.rs +++ b/crates/cli/src/update.rs @@ -1,7 +1,7 @@ //! Self-update for the `codewhale` binary. //! //! The `update` subcommand fetches the latest release from -//! `github.com/Hmbown/DeepSeek-TUI/releases/latest`, downloads the +//! `github.com/Hmbown/CodeWhale/releases/latest`, downloads the //! platform-correct binary, verifies its SHA256 checksum, and atomically //! replaces the currently running binary. @@ -12,7 +12,7 @@ use anyhow::{Context, Result, bail}; use std::io::Write; const CHECKSUM_MANIFEST_ASSET: &str = "codewhale-artifacts-sha256.txt"; -const LATEST_RELEASE_URL: &str = "https://api.github.com/repos/Hmbown/DeepSeek-TUI/releases/latest"; +const LATEST_RELEASE_URL: &str = "https://api.github.com/repos/Hmbown/CodeWhale/releases/latest"; const CNB_REPO_URL: &str = "https://cnb.cool/codewhale.net/codewhale"; const RELEASE_BASE_URL_ENV: &str = "DEEPSEEK_TUI_RELEASE_BASE_URL"; const LEGACY_RELEASE_BASE_URL_ENV: &str = "DEEPSEEK_RELEASE_BASE_URL"; diff --git a/crates/tui/CHANGELOG.md b/crates/tui/CHANGELOG.md index 41c027a7..66683e8e 100644 --- a/crates/tui/CHANGELOG.md +++ b/crates/tui/CHANGELOG.md @@ -4099,7 +4099,7 @@ Welcome — and thank you. - Multi-turn tool calls on thinking-mode models no longer return HTTP 400. Every assistant message in the conversation now carries `reasoning_content` when thinking is enabled — not just tool-call rounds — matching DeepSeek's actual API validation, which rejects any assistant message missing the field even though the docs describe non-tool-call reasoning as "ignored". - Added a final-pass wire-payload sanitizer in the chat-completions client that forces a non-empty `reasoning_content` placeholder onto any assistant message still missing one at request time. This is the last line of defense after engine-side and build-side substitution, so sessions restored from older checkpoints, sub-agents that append messages directly, and cached prefix mismatches all produce a valid request. - On a `reasoning_content`-related 400, the client now logs the offending message indices to make future regressions diagnosable. -- Stripped phantom `web.run` references from prompts and the `web_search` tool surface ([#25](https://github.com/Hmbown/DeepSeek-TUI/issues/25)). +- Stripped phantom `web.run` references from prompts and the `web_search` tool surface ([#25](https://github.com/Hmbown/CodeWhale/issues/25)). ### Changed - Header/UI widget refactor in the TUI (`crates/tui/src/tui/ui.rs`, `widgets/header.rs`) — internal cleanup, no user-visible behavior change. @@ -4595,83 +4595,83 @@ Welcome — and thank you. - Hooks system and config profiles - Example skills and launch assets -[Unreleased]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.41...HEAD -[0.8.41]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.40...v0.8.41 -[0.8.40]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.39...v0.8.40 -[0.8.39]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.38...v0.8.39 -[0.8.38]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.37...v0.8.38 -[0.8.37]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.36...v0.8.37 -[0.8.36]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.35...v0.8.36 -[0.8.35]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.34...v0.8.35 -[0.8.34]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.33...v0.8.34 -[0.8.33]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.32...v0.8.33 -[0.8.32]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.31...v0.8.32 -[0.8.31]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.30...v0.8.31 -[0.8.30]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.29...v0.8.30 -[0.8.29]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.28...v0.8.29 -[0.8.28]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.27...v0.8.28 -[0.8.27]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.26...v0.8.27 -[0.8.26]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.25...v0.8.26 -[0.8.25]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.24...v0.8.25 -[0.8.24]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.23...v0.8.24 -[0.8.23]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.22...v0.8.23 -[0.8.22]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.21...v0.8.22 -[0.8.21]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.20...v0.8.21 -[0.8.20]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.19...v0.8.20 -[0.8.19]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.18...v0.8.19 -[0.8.18]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.17...v0.8.18 -[0.8.17]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.16...v0.8.17 -[0.8.16]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.15...v0.8.16 -[0.8.15]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.13...v0.8.15 -[0.8.13]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.12...v0.8.13 -[0.8.12]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.11...v0.8.12 -[0.8.11]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.10...v0.8.11 -[0.8.10]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.8...v0.8.10 -[0.8.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.7...v0.8.8 -[0.8.7]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.6...v0.8.7 -[0.8.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.5...v0.8.6 -[0.8.5]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.4...v0.8.5 -[0.8.4]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.3...v0.8.4 -[0.8.3]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.2...v0.8.3 -[0.8.2]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.1...v0.8.2 -[0.8.1]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.0...v0.8.1 -[0.8.0]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.9...v0.8.0 -[0.7.9]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.8...v0.7.9 -[0.7.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.7...v0.7.8 -[0.7.7]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.6...v0.7.7 -[0.7.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.7.5...v0.7.6 -[0.6.1]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.6.0...v0.6.1 -[0.6.0]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.4.9...v0.6.0 -[0.4.9]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.4.8...v0.4.9 -[0.4.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.33...v0.4.8 -[0.3.33]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.32...v0.3.33 -[0.3.32]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.31...v0.3.32 -[0.3.31]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.28...v0.3.31 -[0.3.28]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.27...v0.3.28 -[0.3.23]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.22...v0.3.23 -[0.3.22]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.21...v0.3.22 -[0.3.21]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.17...v0.3.21 -[0.3.17]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.16...v0.3.17 -[0.3.16]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.14...v0.3.16 -[0.3.14]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.13...v0.3.14 -[0.3.13]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.12...v0.3.13 -[0.3.12]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.11...v0.3.12 -[0.3.11]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.10...v0.3.11 -[0.3.10]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.6...v0.3.10 -[0.3.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.5...v0.3.6 -[0.3.5]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.4...v0.3.5 -[0.3.4]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.3...v0.3.4 -[0.3.3]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.2...v0.3.3 -[0.3.2]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.1...v0.3.2 -[0.3.1]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.3.0...v0.3.1 -[0.3.0]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.2.2...v0.3.0 -[0.2.2]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.2.0...v0.2.2 -[0.2.0]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.2.0 -[0.0.2]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.0.2 -[0.0.1]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.0.1 -[0.1.9]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.8...v0.1.9 -[0.1.8]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.7...v0.1.8 -[0.1.7]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.6...v0.1.7 -[0.1.6]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.5...v0.1.6 -[0.1.5]: https://github.com/Hmbown/DeepSeek-TUI/compare/v0.1.0...v0.1.5 -[0.1.0]: https://github.com/Hmbown/DeepSeek-TUI/releases/tag/v0.1.0 +[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.41...HEAD +[0.8.41]: https://github.com/Hmbown/CodeWhale/compare/v0.8.40...v0.8.41 +[0.8.40]: https://github.com/Hmbown/CodeWhale/compare/v0.8.39...v0.8.40 +[0.8.39]: https://github.com/Hmbown/CodeWhale/compare/v0.8.38...v0.8.39 +[0.8.38]: https://github.com/Hmbown/CodeWhale/compare/v0.8.37...v0.8.38 +[0.8.37]: https://github.com/Hmbown/CodeWhale/compare/v0.8.36...v0.8.37 +[0.8.36]: https://github.com/Hmbown/CodeWhale/compare/v0.8.35...v0.8.36 +[0.8.35]: https://github.com/Hmbown/CodeWhale/compare/v0.8.34...v0.8.35 +[0.8.34]: https://github.com/Hmbown/CodeWhale/compare/v0.8.33...v0.8.34 +[0.8.33]: https://github.com/Hmbown/CodeWhale/compare/v0.8.32...v0.8.33 +[0.8.32]: https://github.com/Hmbown/CodeWhale/compare/v0.8.31...v0.8.32 +[0.8.31]: https://github.com/Hmbown/CodeWhale/compare/v0.8.30...v0.8.31 +[0.8.30]: https://github.com/Hmbown/CodeWhale/compare/v0.8.29...v0.8.30 +[0.8.29]: https://github.com/Hmbown/CodeWhale/compare/v0.8.28...v0.8.29 +[0.8.28]: https://github.com/Hmbown/CodeWhale/compare/v0.8.27...v0.8.28 +[0.8.27]: https://github.com/Hmbown/CodeWhale/compare/v0.8.26...v0.8.27 +[0.8.26]: https://github.com/Hmbown/CodeWhale/compare/v0.8.25...v0.8.26 +[0.8.25]: https://github.com/Hmbown/CodeWhale/compare/v0.8.24...v0.8.25 +[0.8.24]: https://github.com/Hmbown/CodeWhale/compare/v0.8.23...v0.8.24 +[0.8.23]: https://github.com/Hmbown/CodeWhale/compare/v0.8.22...v0.8.23 +[0.8.22]: https://github.com/Hmbown/CodeWhale/compare/v0.8.21...v0.8.22 +[0.8.21]: https://github.com/Hmbown/CodeWhale/compare/v0.8.20...v0.8.21 +[0.8.20]: https://github.com/Hmbown/CodeWhale/compare/v0.8.19...v0.8.20 +[0.8.19]: https://github.com/Hmbown/CodeWhale/compare/v0.8.18...v0.8.19 +[0.8.18]: https://github.com/Hmbown/CodeWhale/compare/v0.8.17...v0.8.18 +[0.8.17]: https://github.com/Hmbown/CodeWhale/compare/v0.8.16...v0.8.17 +[0.8.16]: https://github.com/Hmbown/CodeWhale/compare/v0.8.15...v0.8.16 +[0.8.15]: https://github.com/Hmbown/CodeWhale/compare/v0.8.13...v0.8.15 +[0.8.13]: https://github.com/Hmbown/CodeWhale/compare/v0.8.12...v0.8.13 +[0.8.12]: https://github.com/Hmbown/CodeWhale/compare/v0.8.11...v0.8.12 +[0.8.11]: https://github.com/Hmbown/CodeWhale/compare/v0.8.10...v0.8.11 +[0.8.10]: https://github.com/Hmbown/CodeWhale/compare/v0.8.8...v0.8.10 +[0.8.8]: https://github.com/Hmbown/CodeWhale/compare/v0.8.7...v0.8.8 +[0.8.7]: https://github.com/Hmbown/CodeWhale/compare/v0.8.6...v0.8.7 +[0.8.6]: https://github.com/Hmbown/CodeWhale/compare/v0.8.5...v0.8.6 +[0.8.5]: https://github.com/Hmbown/CodeWhale/compare/v0.8.4...v0.8.5 +[0.8.4]: https://github.com/Hmbown/CodeWhale/compare/v0.8.3...v0.8.4 +[0.8.3]: https://github.com/Hmbown/CodeWhale/compare/v0.8.2...v0.8.3 +[0.8.2]: https://github.com/Hmbown/CodeWhale/compare/v0.8.1...v0.8.2 +[0.8.1]: https://github.com/Hmbown/CodeWhale/compare/v0.8.0...v0.8.1 +[0.8.0]: https://github.com/Hmbown/CodeWhale/compare/v0.7.9...v0.8.0 +[0.7.9]: https://github.com/Hmbown/CodeWhale/compare/v0.7.8...v0.7.9 +[0.7.8]: https://github.com/Hmbown/CodeWhale/compare/v0.7.7...v0.7.8 +[0.7.7]: https://github.com/Hmbown/CodeWhale/compare/v0.7.6...v0.7.7 +[0.7.6]: https://github.com/Hmbown/CodeWhale/compare/v0.7.5...v0.7.6 +[0.6.1]: https://github.com/Hmbown/CodeWhale/compare/v0.6.0...v0.6.1 +[0.6.0]: https://github.com/Hmbown/CodeWhale/compare/v0.4.9...v0.6.0 +[0.4.9]: https://github.com/Hmbown/CodeWhale/compare/v0.4.8...v0.4.9 +[0.4.8]: https://github.com/Hmbown/CodeWhale/compare/v0.3.33...v0.4.8 +[0.3.33]: https://github.com/Hmbown/CodeWhale/compare/v0.3.32...v0.3.33 +[0.3.32]: https://github.com/Hmbown/CodeWhale/compare/v0.3.31...v0.3.32 +[0.3.31]: https://github.com/Hmbown/CodeWhale/compare/v0.3.28...v0.3.31 +[0.3.28]: https://github.com/Hmbown/CodeWhale/compare/v0.3.27...v0.3.28 +[0.3.23]: https://github.com/Hmbown/CodeWhale/compare/v0.3.22...v0.3.23 +[0.3.22]: https://github.com/Hmbown/CodeWhale/compare/v0.3.21...v0.3.22 +[0.3.21]: https://github.com/Hmbown/CodeWhale/compare/v0.3.17...v0.3.21 +[0.3.17]: https://github.com/Hmbown/CodeWhale/compare/v0.3.16...v0.3.17 +[0.3.16]: https://github.com/Hmbown/CodeWhale/compare/v0.3.14...v0.3.16 +[0.3.14]: https://github.com/Hmbown/CodeWhale/compare/v0.3.13...v0.3.14 +[0.3.13]: https://github.com/Hmbown/CodeWhale/compare/v0.3.12...v0.3.13 +[0.3.12]: https://github.com/Hmbown/CodeWhale/compare/v0.3.11...v0.3.12 +[0.3.11]: https://github.com/Hmbown/CodeWhale/compare/v0.3.10...v0.3.11 +[0.3.10]: https://github.com/Hmbown/CodeWhale/compare/v0.3.6...v0.3.10 +[0.3.6]: https://github.com/Hmbown/CodeWhale/compare/v0.3.5...v0.3.6 +[0.3.5]: https://github.com/Hmbown/CodeWhale/compare/v0.3.4...v0.3.5 +[0.3.4]: https://github.com/Hmbown/CodeWhale/compare/v0.3.3...v0.3.4 +[0.3.3]: https://github.com/Hmbown/CodeWhale/compare/v0.3.2...v0.3.3 +[0.3.2]: https://github.com/Hmbown/CodeWhale/compare/v0.3.1...v0.3.2 +[0.3.1]: https://github.com/Hmbown/CodeWhale/compare/v0.3.0...v0.3.1 +[0.3.0]: https://github.com/Hmbown/CodeWhale/compare/v0.2.2...v0.3.0 +[0.2.2]: https://github.com/Hmbown/CodeWhale/compare/v0.2.0...v0.2.2 +[0.2.0]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.2.0 +[0.0.2]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.0.2 +[0.0.1]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.0.1 +[0.1.9]: https://github.com/Hmbown/CodeWhale/compare/v0.1.8...v0.1.9 +[0.1.8]: https://github.com/Hmbown/CodeWhale/compare/v0.1.7...v0.1.8 +[0.1.7]: https://github.com/Hmbown/CodeWhale/compare/v0.1.6...v0.1.7 +[0.1.6]: https://github.com/Hmbown/CodeWhale/compare/v0.1.5...v0.1.6 +[0.1.5]: https://github.com/Hmbown/CodeWhale/compare/v0.1.0...v0.1.5 +[0.1.0]: https://github.com/Hmbown/CodeWhale/releases/tag/v0.1.0 diff --git a/crates/tui/src/client.rs b/crates/tui/src/client.rs index c5dd2ade..f546db06 100644 --- a/crates/tui/src/client.rs +++ b/crates/tui/src/client.rs @@ -516,7 +516,7 @@ impl DeepSeekClient { .user_agent(concat!( "Mozilla/5.0 (compatible; codewhale/", env!("CARGO_PKG_VERSION"), - "; +https://github.com/Hmbown/DeepSeek-TUI)" + "; +https://github.com/Hmbown/CodeWhale)" )) .connect_timeout(Duration::from_secs(30)) .tcp_keepalive(Some(Duration::from_secs(30))) diff --git a/crates/tui/src/commands/feedback.rs b/crates/tui/src/commands/feedback.rs index ac483e6a..9849c9a2 100644 --- a/crates/tui/src/commands/feedback.rs +++ b/crates/tui/src/commands/feedback.rs @@ -1,7 +1,7 @@ use super::CommandResult; use crate::tui::app::{App, AppAction}; -const SECURITY_POLICY_URL: &str = "https://github.com/Hmbown/DeepSeek-TUI/security/policy"; +const SECURITY_POLICY_URL: &str = "https://github.com/Hmbown/CodeWhale/security/policy"; pub fn feedback(_app: &mut App, arg: Option<&str>) -> CommandResult { let raw = arg.map(str::trim).unwrap_or(""); @@ -78,9 +78,9 @@ impl FeedbackKind { fn issue_url_base(self) -> &'static str { match self { - Self::Bug => "https://github.com/Hmbown/DeepSeek-TUI/issues/new?template=bug_report.md", + Self::Bug => "https://github.com/Hmbown/CodeWhale/issues/new?template=bug_report.md", Self::Feature => { - "https://github.com/Hmbown/DeepSeek-TUI/issues/new?template=feature_request.md" + "https://github.com/Hmbown/CodeWhale/issues/new?template=feature_request.md" } Self::Security => SECURITY_POLICY_URL, } @@ -244,11 +244,11 @@ mod tests { assert_eq!( bug, - "https://github.com/Hmbown/DeepSeek-TUI/issues/new?template=bug_report.md" + "https://github.com/Hmbown/CodeWhale/issues/new?template=bug_report.md" ); assert_eq!( feature, - "https://github.com/Hmbown/DeepSeek-TUI/issues/new?template=feature_request.md" + "https://github.com/Hmbown/CodeWhale/issues/new?template=feature_request.md" ); } diff --git a/crates/tui/src/commands/mod.rs b/crates/tui/src/commands/mod.rs index d7f93fca..a82e7be1 100644 --- a/crates/tui/src/commands/mod.rs +++ b/crates/tui/src/commands/mod.rs @@ -791,7 +791,7 @@ fn build_relay_instruction(app: &App, focus: Option<&str>) -> String { let mut out = String::new(); let _ = writeln!( out, - "Create a compact session relay (接力) for a future Codewhale thread." + "Create a compact session relay (接力) for a future CodeWhale thread." ); let _ = writeln!(out); let _ = writeln!(out, "Write or update `.deepseek/handoff.md`."); diff --git a/crates/tui/src/commands/share.rs b/crates/tui/src/commands/share.rs index 25c1db58..9923af0b 100644 --- a/crates/tui/src/commands/share.rs +++ b/crates/tui/src/commands/share.rs @@ -126,7 +126,7 @@ fn render_session_html(history_json: &str, model: &str, mode: &str) -> String {
{escaped_body}
"#, @@ -219,6 +219,6 @@ mod tests { assert!(html.contains("plan")); assert!(html.contains("test data")); assert!(html.contains("Exported:")); - assert!(html.contains("https://github.com/Hmbown/DeepSeek-TUI")); + assert!(html.contains("https://github.com/Hmbown/CodeWhale")); } } diff --git a/crates/tui/src/prefix_cache.rs b/crates/tui/src/prefix_cache.rs index 88b12aa5..9ed2936a 100644 --- a/crates/tui/src/prefix_cache.rs +++ b/crates/tui/src/prefix_cache.rs @@ -123,7 +123,7 @@ impl PrefixChange { /// Monitors and manages prefix-cache stability across turns. /// /// This is the core abstraction, mirroring Reasonix's `ImmutablePrefix` -/// concept but adapted to Codewhale's existing architecture where the +/// concept but adapted to CodeWhale's existing architecture where the /// system prompt is rebuilt each turn and tools are registered at startup. /// /// Usage: diff --git a/crates/tui/src/project_context.rs b/crates/tui/src/project_context.rs index a325e796..3d1b8716 100644 --- a/crates/tui/src/project_context.rs +++ b/crates/tui/src/project_context.rs @@ -1,4 +1,4 @@ -//! Project context loading for Codewhale. +//! Project context loading for CodeWhale. //! //! This module handles loading project-specific context files that provide //! instructions and context to the AI agent. These include: @@ -529,7 +529,7 @@ fn auto_generate_context(workspace: &Path) -> Option { let content = format!( "# Project Structure (Auto-generated)\n\n\ - > This file was automatically generated by Codewhale.\n\ + > This file was automatically generated by CodeWhale.\n\ > You can edit or delete it at any time.\n\n\ **Summary:** {summary}\n\n\ **Tree:**\n```\n{tree}\n```" @@ -612,7 +612,7 @@ pub fn create_default_agents_md(workspace: &Path) -> std::io::Result { let default_content = r#"# Project Agent Instructions -This file provides guidance to AI agents (Codewhale, Claude Code, etc.) when working with code in this repository. +This file provides guidance to AI agents (CodeWhale, Claude Code, etc.) when working with code in this repository. ## File Location diff --git a/crates/tui/src/sandbox/mod.rs b/crates/tui/src/sandbox/mod.rs index 8315cfcf..508e3bd6 100644 --- a/crates/tui/src/sandbox/mod.rs +++ b/crates/tui/src/sandbox/mod.rs @@ -3,7 +3,7 @@ //! Sandbox module for secure command execution. //! //! This module provides sandboxing capabilities for shell commands executed by -//! Codewhale. Sandboxing restricts what system resources a command can access, +//! CodeWhale. Sandboxing restricts what system resources a command can access, //! preventing accidental or malicious damage to the system. //! //! # Platform Support diff --git a/crates/tui/src/sandbox/policy.rs b/crates/tui/src/sandbox/policy.rs index dade1e63..9ca58bf6 100644 --- a/crates/tui/src/sandbox/policy.rs +++ b/crates/tui/src/sandbox/policy.rs @@ -33,7 +33,7 @@ pub enum SandboxPolicy { /// Indicates the process is already running in an external sandbox. /// - /// Use this when Codewhale is itself running inside a container, + /// Use this when CodeWhale is itself running inside a container, /// VM, or other sandboxed environment. This avoids double-sandboxing /// which can cause issues. #[serde(rename = "external-sandbox")] diff --git a/crates/tui/src/sandbox/windows.rs b/crates/tui/src/sandbox/windows.rs index 6f2c654c..b6e38e55 100644 --- a/crates/tui/src/sandbox/windows.rs +++ b/crates/tui/src/sandbox/windows.rs @@ -1,6 +1,6 @@ //! Windows sandbox helper contract. //! -//! Current status: Codewhale does not advertise an in-process Windows +//! Current status: CodeWhale does not advertise an in-process Windows //! sandbox. Future Windows support must run commands through a dedicated //! helper that provides process-tree containment with a Job Object and //! `JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE`. diff --git a/crates/tui/src/snapshot/repo.rs b/crates/tui/src/snapshot/repo.rs index b182476a..c982db2d 100644 --- a/crates/tui/src/snapshot/repo.rs +++ b/crates/tui/src/snapshot/repo.rs @@ -115,7 +115,7 @@ const SIZE_WALK_SKIP_DIRS: &[&str] = &[ ]; const BUILTIN_EXCLUDES: &str = "\ -# Codewhale built-in snapshot exclusions +# CodeWhale built-in snapshot exclusions node_modules/ target/ dist/ diff --git a/crates/tui/src/tools/fetch_url.rs b/crates/tui/src/tools/fetch_url.rs index 6ced8d0f..cdf0b128 100644 --- a/crates/tui/src/tools/fetch_url.rs +++ b/crates/tui/src/tools/fetch_url.rs @@ -26,7 +26,7 @@ const DEFAULT_TIMEOUT_MS: u64 = 15_000; const HARD_MAX_TIMEOUT_MS: u64 = 60_000; const MAX_REDIRECTS: usize = 5; const USER_AGENT: &str = - "Mozilla/5.0 (compatible; codewhale/0.5; +https://github.com/Hmbown/DeepSeek-TUI)"; + "Mozilla/5.0 (compatible; codewhale/0.5; +https://github.com/Hmbown/CodeWhale)"; static SCRIPT_RE: OnceLock = OnceLock::new(); static STYLE_RE: OnceLock = OnceLock::new(); diff --git a/crates/tui/src/tools/spec.rs b/crates/tui/src/tools/spec.rs index 1dee8f98..0bda3bb5 100644 --- a/crates/tui/src/tools/spec.rs +++ b/crates/tui/src/tools/spec.rs @@ -1,4 +1,4 @@ -//! Tool specification traits for the Codewhale agent system. +//! Tool specification traits for the CodeWhale agent system. //! //! This module defines the core abstractions for tools: //! - `ToolSpec`: The main trait that all tools must implement diff --git a/crates/tui/src/tui/context_inspector.rs b/crates/tui/src/tui/context_inspector.rs index d9c25c0c..9ea217e2 100644 --- a/crates/tui/src/tui/context_inspector.rs +++ b/crates/tui/src/tui/context_inspector.rs @@ -510,7 +510,7 @@ mod tests { app.system_prompt = Some(SystemPrompt::Blocks(vec![ SystemBlock { block_type: "text".to_string(), - text: "## Stable Base\n\nYou are Codewhale.".to_string(), + text: "## Stable Base\n\nYou are CodeWhale.".to_string(), cache_control: None, }, SystemBlock { @@ -570,7 +570,7 @@ mod tests { fn inspector_text_prompt_shows_layer_map() { let mut app = test_app(); app.system_prompt = Some(SystemPrompt::Text( - "You are Codewhale.\n\n\nRules\n\n\n## Project Context Pack\n{}\n\n## Environment\n- lang: en\n\n## Skills\n- rust\n\n## Context Management\nKeep compact\n\n## Compact\nTemplate\n\n## Repo Working Set\nsrc/".to_string(), + "You are CodeWhale.\n\n\nRules\n\n\n## Project Context Pack\n{}\n\n## Environment\n- lang: en\n\n## Skills\n- rust\n\n## Context Management\nKeep compact\n\n## Compact\nTemplate\n\n## Repo Working Set\nsrc/".to_string(), )); let text = build_context_inspector_text(&app); @@ -590,7 +590,7 @@ mod tests { #[test] fn inspector_text_prompt_without_markers_shows_single_blob() { let mut app = test_app(); - app.system_prompt = Some(SystemPrompt::Text("You are Codewhale.".to_string())); + app.system_prompt = Some(SystemPrompt::Text("You are CodeWhale.".to_string())); let text = build_context_inspector_text(&app); assert!(text.contains("Single text blob")); diff --git a/crates/tui/src/tui/onboarding/mod.rs b/crates/tui/src/tui/onboarding/mod.rs index 92174a95..4c7741d5 100644 --- a/crates/tui/src/tui/onboarding/mod.rs +++ b/crates/tui/src/tui/onboarding/mod.rs @@ -43,7 +43,7 @@ pub fn render(f: &mut Frame, area: Rect, app: &App) { if !lines.is_empty() { let mut panel = Block::default() .title(Line::from(Span::styled( - " Codewhale ", + " CodeWhale ", Style::default() .fg(palette::DEEPSEEK_BLUE) .add_modifier(Modifier::BOLD), diff --git a/crates/tui/src/tui/sidebar.rs b/crates/tui/src/tui/sidebar.rs index 1744ac27..3ae6b525 100644 --- a/crates/tui/src/tui/sidebar.rs +++ b/crates/tui/src/tui/sidebar.rs @@ -2287,7 +2287,7 @@ mod tests { let mut app = create_test_app(); for _ in 0..3 { app.history.push(HistoryCell::Tool(ToolCell::Exec(ExecCell { - command: "cd /tmp/repo && sleep 15 && gh pr checks 1616 --repo Hmbown/DeepSeek-TUI" + command: "cd /tmp/repo && sleep 15 && gh pr checks 1616 --repo Hmbown/CodeWhale" .to_string(), status: ToolStatus::Failed, output: Some("Lint pending\nTest pending".to_string()), diff --git a/crates/tui/src/tui/ui/tests.rs b/crates/tui/src/tui/ui/tests.rs index d4edddd3..4bd00a10 100644 --- a/crates/tui/src/tui/ui/tests.rs +++ b/crates/tui/src/tui/ui/tests.rs @@ -1554,7 +1554,7 @@ fn active_tool_status_label_strips_shell_wrappers_from_ci_polling() { active.push_tool( "exec-1", HistoryCell::Tool(ToolCell::Exec(ExecCell { - command: "cd /tmp/repo && sleep 15 && gh pr checks 1611 --repo Hmbown/DeepSeek-TUI" + command: "cd /tmp/repo && sleep 15 && gh pr checks 1611 --repo Hmbown/CodeWhale" .to_string(), status: ToolStatus::Running, output: None, diff --git a/crates/tui/src/tui/ui_text.rs b/crates/tui/src/tui/ui_text.rs index eac6d0cf..daafddb5 100644 --- a/crates/tui/src/tui/ui_text.rs +++ b/crates/tui/src/tui/ui_text.rs @@ -255,7 +255,7 @@ mod tests { #[test] fn concise_shell_command_label_prefers_gh_pr_checks_over_wrappers() { let label = concise_shell_command_label( - "cd /tmp/repo && sleep 15 && gh pr checks 1611 --repo Hmbown/DeepSeek-TUI", + "cd /tmp/repo && sleep 15 && gh pr checks 1611 --repo Hmbown/CodeWhale", 80, ); assert_eq!(label, "gh pr checks 1611"); diff --git a/crates/tui/src/tui/views/mode_picker.rs b/crates/tui/src/tui/views/mode_picker.rs index 3dc0506b..8dbc181a 100644 --- a/crates/tui/src/tui/views/mode_picker.rs +++ b/crates/tui/src/tui/views/mode_picker.rs @@ -149,7 +149,7 @@ impl ModalView for ModePickerView { let mut lines = Vec::with_capacity(MODE_ROWS.len() + 1); lines.push(Line::from(Span::styled( - "Choose how Codewhale should operate:", + "Choose how CodeWhale should operate:", Style::default().fg(palette::TEXT_MUTED), ))); diff --git a/crates/tui/src/workspace_trust.rs b/crates/tui/src/workspace_trust.rs index 6bed7541..02ff7ef7 100644 --- a/crates/tui/src/workspace_trust.rs +++ b/crates/tui/src/workspace_trust.rs @@ -8,7 +8,7 @@ //! //! Threat model: this is a deliberate user opt-in to a path the workspace //! sandbox would otherwise refuse. The only access the trust list grants is -//! through Codewhale's own file tools (`read_file`, `write_file`, etc.) — +//! through CodeWhale's own file tools (`read_file`, `write_file`, etc.) — //! it does not loosen the OS sandbox profile (Seatbelt/Landlock) used for //! shell commands. Sandbox-profile expansion is tracked separately so a //! shell tool can opt into the same paths in a future release. diff --git a/deploy/tencent-lighthouse/cnb/tag_deploy.yml.example b/deploy/tencent-lighthouse/cnb/tag_deploy.yml.example index 274771e8..b72ed075 100644 --- a/deploy/tencent-lighthouse/cnb/tag_deploy.yml.example +++ b/deploy/tencent-lighthouse/cnb/tag_deploy.yml.example @@ -3,7 +3,7 @@ environments: - name: lighthouse-hk - description: Deploy Codewhale to Tencent Lighthouse Hong Kong. + description: Deploy CodeWhale to Tencent Lighthouse Hong Kong. env: name: lighthouse-hk button: diff --git a/deploy/tencent-lighthouse/systemd/codewhale-feishu-bridge.service b/deploy/tencent-lighthouse/systemd/codewhale-feishu-bridge.service index 7841364a..dc320ac4 100644 --- a/deploy/tencent-lighthouse/systemd/codewhale-feishu-bridge.service +++ b/deploy/tencent-lighthouse/systemd/codewhale-feishu-bridge.service @@ -1,5 +1,5 @@ [Unit] -Description=Codewhale Feishu/Lark Phone Bridge +Description=CodeWhale Feishu/Lark Phone Bridge Wants=network-online.target codewhale-runtime.service After=network-online.target codewhale-runtime.service diff --git a/deploy/tencent-lighthouse/systemd/codewhale-runtime.service b/deploy/tencent-lighthouse/systemd/codewhale-runtime.service index 885ba408..522ee046 100644 --- a/deploy/tencent-lighthouse/systemd/codewhale-runtime.service +++ b/deploy/tencent-lighthouse/systemd/codewhale-runtime.service @@ -1,5 +1,5 @@ [Unit] -Description=Codewhale Runtime API +Description=CodeWhale Runtime API Wants=network-online.target After=network-online.target diff --git a/docs/ACCESSIBILITY.md b/docs/ACCESSIBILITY.md index 207ea575..cdb2382d 100644 --- a/docs/ACCESSIBILITY.md +++ b/docs/ACCESSIBILITY.md @@ -68,14 +68,14 @@ version renders cleanly. Terminal) will pass the rendered content straight through. * If you find a UI surface that still produces motion when `low_motion = true`, please file an issue against - [`PRIOR: Screen-reader / accessibility flag`](https://github.com/Hmbown/DeepSeek-TUI/issues/450) + [`PRIOR: Screen-reader / accessibility flag`](https://github.com/Hmbown/CodeWhale/issues/450) with a screenshot or terminal recording. ## Related issues / history -* [#450](https://github.com/Hmbown/DeepSeek-TUI/issues/450) — +* [#450](https://github.com/Hmbown/CodeWhale/issues/450) — documenting the existing flag, adding the `NO_ANIMATIONS` startup overlay, and writing this page. -* [#449](https://github.com/Hmbown/DeepSeek-TUI/issues/449) — +* [#449](https://github.com/Hmbown/CodeWhale/issues/449) — footer statusline now uses the active theme's contrast pair instead of a bespoke palette. diff --git a/docs/CNB_MIRROR.md b/docs/CNB_MIRROR.md index abdad26d..bf7acdfb 100644 --- a/docs/CNB_MIRROR.md +++ b/docs/CNB_MIRROR.md @@ -77,7 +77,7 @@ git ls-remote https://cnb.cool/codewhale.net/codewhale.git \ refs/tags/vX.Y.Z # Quick check: is CNB's main at the same commit as origin/main? -gh_main=$(git ls-remote https://github.com/Hmbown/DeepSeek-TUI.git refs/heads/main | awk '{print $1}') +gh_main=$(git ls-remote https://github.com/Hmbown/CodeWhale.git refs/heads/main | awk '{print $1}') cnb_main=$(git ls-remote https://cnb.cool/codewhale.net/codewhale.git refs/heads/main | awk '{print $1}') test "$gh_main" = "$cnb_main" && echo "in sync" || echo "DIVERGED: gh=$gh_main cnb=$cnb_main" ``` @@ -85,7 +85,7 @@ test "$gh_main" = "$cnb_main" && echo "in sync" || echo "DIVERGED: gh=$gh_main c Or check the workflow run directly: ```bash -gh run list --workflow=sync-cnb.yml --repo Hmbown/DeepSeek-TUI --limit 5 +gh run list --workflow=sync-cnb.yml --repo Hmbown/CodeWhale --limit 5 ``` If the most recent run for the release tag is `success`, the mirror @@ -132,7 +132,7 @@ If the workflow is healthy but happened to fail on the release run without pushing anything: ```bash -gh workflow run sync-cnb.yml --repo Hmbown/DeepSeek-TUI +gh workflow run sync-cnb.yml --repo Hmbown/CodeWhale ``` `workflow_dispatch` runs against the workflow's default branch @@ -148,11 +148,11 @@ expired: with `repo` (push) scope. 2. Update the `CNB_GIT_TOKEN` repository secret: ```bash - gh secret set CNB_GIT_TOKEN --repo Hmbown/DeepSeek-TUI + gh secret set CNB_GIT_TOKEN --repo Hmbown/CodeWhale ``` 3. Re-trigger the workflow on a recent commit: ```bash - gh workflow run sync-cnb.yml --repo Hmbown/DeepSeek-TUI + gh workflow run sync-cnb.yml --repo Hmbown/CodeWhale ``` 4. Confirm the run succeeds via `gh run list --workflow=sync-cnb.yml`. diff --git a/docs/DOCKER.md b/docs/DOCKER.md index 08dcf0e1..732c4705 100644 --- a/docs/DOCKER.md +++ b/docs/DOCKER.md @@ -1,6 +1,6 @@ # Docker -Codewhale publishes a multi-arch Linux image to GitHub Container Registry +CodeWhale publishes a multi-arch Linux image to GitHub Container Registry for each release. ```bash @@ -34,7 +34,7 @@ docker run --rm -it \ ``` Replace `vX.Y.Z` with a tag from -[GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases). +[GitHub Releases](https://github.com/Hmbown/CodeWhale/releases). ## Local build diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 3e182460..c1b61f33 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -1,4 +1,4 @@ -# Installing Codewhale +# Installing CodeWhale This page covers every supported install path and the most common "it didn't install" failures, including **Linux ARM64** and other less @@ -48,7 +48,7 @@ systems such as Alpine should use [Build from source](#7-build-from-source). ## 2. Download safety and checksums Official release binaries are published only from -`https://github.com/Hmbown/DeepSeek-TUI/releases` and the npm package named +`https://github.com/Hmbown/CodeWhale/releases` and the npm package named `codewhale-tui`. Do not install release assets from look-alike repositories, archives, or search-result mirrors unless you deliberately trust that mirror. @@ -57,7 +57,7 @@ binaries manually, verify them before running: ```bash # Run from the directory containing the downloaded binaries. -curl -L -O https://github.com/Hmbown/DeepSeek-TUI/releases/latest/download/codewhale-artifacts-sha256.txt +curl -L -O https://github.com/Hmbown/CodeWhale/releases/latest/download/codewhale-artifacts-sha256.txt sha256sum -c codewhale-artifacts-sha256.txt --ignore-missing ``` @@ -198,14 +198,14 @@ then follow [Tencent Lighthouse Hong Kong Phone Setup](TENCENT_LIGHTHOUSE_HK.md) If you already have Nix with flake support, run: ```sh -nix run github:Hmbown/DeepSeek-TUI +nix run github:Hmbown/CodeWhale ``` Nix builds `codewhale-tui` and then starts the `codewhale` dispatcher. Pass arguments after `--`, for example: ```sh -nix run github:Hmbown/DeepSeek-TUI -- --help +nix run github:Hmbown/CodeWhale -- --help ``` ### Flake @@ -217,7 +217,7 @@ Add inputs to `flake.nix`: inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - codewhale-tui.url = "github:Hmbown/DeepSeek-TUI"; + codewhale-tui.url = "github:Hmbown/CodeWhale"; codewhale-tui.inputs.nixpkgs.follows = "nixpkgs"; }; } @@ -252,16 +252,16 @@ Install into a NixOS module: ## 6. Manual download from GitHub Releases Grab the matching pair of binaries for your platform from the -[Releases page](https://github.com/Hmbown/DeepSeek-TUI/releases) and drop them +[Releases page](https://github.com/Hmbown/CodeWhale/releases) and drop them side by side into a directory on your `PATH` (e.g. `~/.local/bin`): ```bash # Linux ARM64 example mkdir -p ~/.local/bin curl -L -o ~/.local/bin/codewhale \ - https://github.com/Hmbown/DeepSeek-TUI/releases/latest/download/codewhale-linux-arm64 + https://github.com/Hmbown/CodeWhale/releases/latest/download/codewhale-linux-arm64 curl -L -o ~/.local/bin/codewhale-tui \ - https://github.com/Hmbown/DeepSeek-TUI/releases/latest/download/codewhale-tui-linux-arm64 + https://github.com/Hmbown/CodeWhale/releases/latest/download/codewhale-tui-linux-arm64 chmod +x ~/.local/bin/codewhale ~/.local/bin/codewhale-tui codewhale --version ``` @@ -270,7 +270,7 @@ Verify integrity against the per-release SHA-256 manifest: ```bash curl -L -o /tmp/codewhale-artifacts-sha256.txt \ - https://github.com/Hmbown/DeepSeek-TUI/releases/latest/download/codewhale-artifacts-sha256.txt + https://github.com/Hmbown/CodeWhale/releases/latest/download/codewhale-artifacts-sha256.txt ( cd ~/.local/bin && sha256sum -c /tmp/codewhale-artifacts-sha256.txt --ignore-missing ) ``` @@ -311,8 +311,8 @@ LoongArch, FreeBSD, and pre-2024 ARM64 distros. ### Build and install ```bash -git clone https://github.com/Hmbown/DeepSeek-TUI.git -cd DeepSeek-TUI +git clone https://github.com/Hmbown/CodeWhale.git +cd CodeWhale cargo install --path crates/cli --locked # provides `codewhale` cargo install --path crates/tui --locked # provides `codewhale-tui` @@ -414,8 +414,8 @@ that session and run `cargo build` from the project root. **Build** ```bash -git clone https://github.com/Hmbown/DeepSeek-TUI.git -cd DeepSeek-TUI +git clone https://github.com/Hmbown/CodeWhale.git +cd CodeWhale set CARGO_HTTP_CHECK_REVOKE=false # may be needed behind some Chinese ISPs cargo build --release ``` @@ -450,7 +450,7 @@ cargo install codewhale-tui --locked ### `codewhale update` reports `no asset found for platform codewhale-linux-aarch64` -This is [#503](https://github.com/Hmbown/DeepSeek-TUI/issues/503) in v0.8.7 — +This is [#503](https://github.com/Hmbown/CodeWhale/issues/503) in v0.8.7 — the self-updater used Rust's `aarch64`/`x86_64` arch names instead of the release artifact's `arm64`/`x64`. Workaround until v0.8.8: @@ -619,7 +619,7 @@ Use one of these paths: assets. See [Section 4](#4-install-via-cargo-any-tier-1-rust-target). 4. Download both `codewhale` and `codewhale-tui` manually from the - [Releases page](https://github.com/Hmbown/DeepSeek-TUI/releases), place them + [Releases page](https://github.com/Hmbown/CodeWhale/releases), place them in a directory on `PATH`, and make them executable. See [Section 6](#6-manual-download-from-github-releases). diff --git a/docs/MEMORY.md b/docs/MEMORY.md index 6afd80ad..e91402c2 100644 --- a/docs/MEMORY.md +++ b/docs/MEMORY.md @@ -228,5 +228,5 @@ memory_path = "~/.deepseek/memory.md" - `docs/SUBAGENTS.md` — sub-agents inherit memory and can use the `remember` tool too. - `docs/CONFIGURATION.md` — full config reference. -- Issue [#489](https://github.com/Hmbown/DeepSeek-TUI/issues/489) +- Issue [#489](https://github.com/Hmbown/CodeWhale/issues/489) — phase-1 EPIC tracking the work. diff --git a/docs/REBRAND.md b/docs/REBRAND.md index 35601a26..d944331a 100644 --- a/docs/REBRAND.md +++ b/docs/REBRAND.md @@ -1,4 +1,4 @@ -# Rebrand: DeepSeek TUI → Codewhale +# Rebrand: DeepSeek TUI → CodeWhale Starting with **v0.8.41**, this project ships under a new name: `codewhale`. @@ -55,8 +55,8 @@ Anything that targets the DeepSeek provider API stays exactly as it was: - **Config directory**: `~/.deepseek/`. Renaming this would invalidate every existing install's saved API key, sessions, skills, MCP config, and audit log. -- **GitHub repository URL**: still `https://github.com/Hmbown/DeepSeek-TUI`. - A repo rename is a maintainer-side operation that ships separately. +- **GitHub repository URL**: `https://github.com/Hmbown/CodeWhale`. + The old `Hmbown/DeepSeek-TUI` URL redirects there during the transition. - **Homebrew tap and formula** (`Hmbown/homebrew-deepseek-tui`): still installs by the legacy name during the transition. The tap's formula will be flipped to the new names in a follow-up. @@ -119,15 +119,15 @@ still verifies. ## Why the name change -Codewhale is a shorter, terminal-friendlier handle for the same terminal +CodeWhale is a shorter, terminal-friendlier handle for the same terminal coding agent. In v0.8.41 it remains centered on DeepSeek V4 while the project name, command names, package names, release assets, Docker image, and CNB -mirror move to Codewhale. +mirror move to CodeWhale. ## Reporting issues with the rename If your install broke during the migration, please open an issue at - and include: + and include: - The output of `codewhale --version` (or `deepseek --version` if you're still on the shim). diff --git a/docs/RELEASE_RUNBOOK.md b/docs/RELEASE_RUNBOOK.md index e3f9edcf..69de0dab 100644 --- a/docs/RELEASE_RUNBOOK.md +++ b/docs/RELEASE_RUNBOOK.md @@ -1,4 +1,4 @@ -# Codewhale Release Runbook +# CodeWhale Release Runbook This runbook is the source of truth for shipping Rust crates, GitHub release assets, and the `codewhale` npm wrapper. diff --git a/docs/TENCENT_CLOUD_REMOTE_FIRST.md b/docs/TENCENT_CLOUD_REMOTE_FIRST.md index 320cd34e..91bad537 100644 --- a/docs/TENCENT_CLOUD_REMOTE_FIRST.md +++ b/docs/TENCENT_CLOUD_REMOTE_FIRST.md @@ -5,7 +5,7 @@ who want an always-on agent workspace, a phone control surface, and a stack that works well from mainland China. It complements the local install path. If you only want to use `codewhale` on a -laptop, start with the README quickstart. If you want "Codewhale as a remote +laptop, start with the README quickstart. If you want "CodeWhale as a remote workbench I can control from my phone", start here. ## Default Stack diff --git a/docs/TENCENT_LIGHTHOUSE_HK.md b/docs/TENCENT_LIGHTHOUSE_HK.md index 20e514f7..b07e984c 100644 --- a/docs/TENCENT_LIGHTHOUSE_HK.md +++ b/docs/TENCENT_LIGHTHOUSE_HK.md @@ -99,7 +99,7 @@ Use an SSH repo URL instead if you want push access from the VPS. If the CNB mirror is unavailable, fall back to: ```bash -export DEEPSEEK_REPO_URL=https://github.com/Hmbown/DeepSeek-TUI.git +export DEEPSEEK_REPO_URL=https://github.com/Hmbown/CodeWhale.git ``` For stable release docs, confirm the CNB mirror has the branch or tag before diff --git a/nix/package.nix b/nix/package.nix index 1a713785..145c16b1 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -61,7 +61,7 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Terminal coding agent for DeepSeek"; - homepage = "https://github.com/Hmbown/DeepSeek-TUI"; + homepage = "https://github.com/Hmbown/CodeWhale"; license = lib.licenses.mit; mainProgram = "codewhale"; }; diff --git a/npm/codewhale/README.md b/npm/codewhale/README.md index f46daad2..48074b52 100644 --- a/npm/codewhale/README.md +++ b/npm/codewhale/README.md @@ -69,7 +69,7 @@ Other platform/architecture combinations (musl, riscv64, FreeBSD, …) aren't shipped as prebuilts. Unsupported platforms, checksum failures, and glibc compatibility problems still fail with a clear error pointing you at `cargo install codewhale-cli codewhale-tui --locked` and the full -[docs/INSTALL.md](https://github.com/Hmbown/DeepSeek-TUI/blob/main/docs/INSTALL.md) +[docs/INSTALL.md](https://github.com/Hmbown/CodeWhale/blob/main/docs/INSTALL.md) build-from-source guide. ## Configuration @@ -77,7 +77,7 @@ build-from-source guide. - Default binary version comes from `codewhaleBinaryVersion` in `package.json` (with `deepseekBinaryVersion` as a backward-compat fallback). - Set `DEEPSEEK_TUI_VERSION` or `DEEPSEEK_VERSION` to override the release version. -- Set `DEEPSEEK_TUI_GITHUB_REPO` or `DEEPSEEK_GITHUB_REPO` to override the source repo (defaults to `Hmbown/DeepSeek-TUI`). +- Set `DEEPSEEK_TUI_GITHUB_REPO` or `DEEPSEEK_GITHUB_REPO` to override the source repo (defaults to `Hmbown/CodeWhale`). - Set `DEEPSEEK_TUI_RELEASE_BASE_URL` to use an internal or mirrored release-asset directory when GitHub Releases is unavailable. The directory must contain `codewhale-artifacts-sha256.txt` and the platform binaries. diff --git a/npm/codewhale/bin/codewhale-tui.js b/npm/codewhale/bin/codewhale-tui.js index 900bce44..701d6cb2 100755 --- a/npm/codewhale/bin/codewhale-tui.js +++ b/npm/codewhale/bin/codewhale-tui.js @@ -1,8 +1,8 @@ #!/usr/bin/env node -const { runCodewhaleTui } = require("../scripts/run"); +const { runCodeWhaleTui } = require("../scripts/run"); -runCodewhaleTui().catch((error) => { +runCodeWhaleTui().catch((error) => { console.error("Failed to start codewhale-tui:", error.message); process.exit(1); }); diff --git a/npm/codewhale/bin/codewhale.js b/npm/codewhale/bin/codewhale.js index c12fb8df..9b9dbdd0 100755 --- a/npm/codewhale/bin/codewhale.js +++ b/npm/codewhale/bin/codewhale.js @@ -1,8 +1,8 @@ #!/usr/bin/env node -const { runCodewhale } = require("../scripts/run"); +const { runCodeWhale } = require("../scripts/run"); -runCodewhale().catch((error) => { +runCodeWhale().catch((error) => { console.error("Failed to start codewhale:", error.message); process.exit(1); }); diff --git a/npm/codewhale/package.json b/npm/codewhale/package.json index 20de37f8..98c016d6 100644 --- a/npm/codewhale/package.json +++ b/npm/codewhale/package.json @@ -5,13 +5,13 @@ "description": "Install and run the codewhale CLI dispatcher and codewhale-tui terminal UI from GitHub release artifacts.", "author": "Hmbown", "license": "MIT", - "homepage": "https://github.com/Hmbown/DeepSeek-TUI", + "homepage": "https://github.com/Hmbown/CodeWhale", "repository": { "type": "git", - "url": "git+https://github.com/Hmbown/DeepSeek-TUI.git" + "url": "git+https://github.com/Hmbown/CodeWhale.git" }, "bugs": { - "url": "https://github.com/Hmbown/DeepSeek-TUI/issues" + "url": "https://github.com/Hmbown/CodeWhale/issues" }, "keywords": [ "codewhale", diff --git a/npm/codewhale/scripts/artifacts.js b/npm/codewhale/scripts/artifacts.js index fcf93175..27117b0c 100644 --- a/npm/codewhale/scripts/artifacts.js +++ b/npm/codewhale/scripts/artifacts.js @@ -63,12 +63,12 @@ function unsupportedBuildHint() { "", "Or build from a checkout:", "", - " git clone https://github.com/Hmbown/DeepSeek-TUI.git", - " cd DeepSeek-TUI", + " git clone https://github.com/Hmbown/CodeWhale.git", + " cd CodeWhale", " cargo install --path crates/cli --locked", " cargo install --path crates/tui --locked", "", - "See https://github.com/Hmbown/DeepSeek-TUI/blob/main/docs/INSTALL.md", + "See https://github.com/Hmbown/CodeWhale/blob/main/docs/INSTALL.md", "for cross-compilation, mirror, and Linux ARM64 specifics.", ].join("\n"); } @@ -77,7 +77,7 @@ function executableName(base, platform) { return platform === "win32" ? `${base}.exe` : base; } -function releaseBaseUrl(version, repo = "Hmbown/DeepSeek-TUI") { +function releaseBaseUrl(version, repo = "Hmbown/CodeWhale") { const override = process.env.DEEPSEEK_TUI_RELEASE_BASE_URL || process.env.DEEPSEEK_RELEASE_BASE_URL; if (override) { @@ -87,11 +87,11 @@ function releaseBaseUrl(version, repo = "Hmbown/DeepSeek-TUI") { return `https://github.com/${repo}/releases/download/v${version}/`; } -function releaseAssetUrl(baseName, version, repo = "Hmbown/DeepSeek-TUI") { +function releaseAssetUrl(baseName, version, repo = "Hmbown/CodeWhale") { return new URL(baseName, releaseBaseUrl(version, repo)).toString(); } -function checksumManifestUrl(version, repo = "Hmbown/DeepSeek-TUI") { +function checksumManifestUrl(version, repo = "Hmbown/CodeWhale") { return releaseAssetUrl(CHECKSUM_MANIFEST, version, repo); } diff --git a/npm/codewhale/scripts/install.js b/npm/codewhale/scripts/install.js index 9290aeac..0bc851b6 100644 --- a/npm/codewhale/scripts/install.js +++ b/npm/codewhale/scripts/install.js @@ -88,7 +88,7 @@ function resolvePackageVersion() { } function resolveRepo() { - return process.env.DEEPSEEK_TUI_GITHUB_REPO || process.env.DEEPSEEK_GITHUB_REPO || "Hmbown/DeepSeek-TUI"; + return process.env.DEEPSEEK_TUI_GITHUB_REPO || process.env.DEEPSEEK_GITHUB_REPO || "Hmbown/CodeWhale"; } function isOptionalInstall(argv = process.argv.slice(2), env = process.env) { diff --git a/npm/codewhale/scripts/preflight-glibc.js b/npm/codewhale/scripts/preflight-glibc.js index ee0007cb..08bc55f4 100644 --- a/npm/codewhale/scripts/preflight-glibc.js +++ b/npm/codewhale/scripts/preflight-glibc.js @@ -74,12 +74,12 @@ function buildFromSourceHint() { "", "Or build from a checkout:", "", - " git clone https://github.com/Hmbown/DeepSeek-TUI.git", - " cd DeepSeek-TUI", + " git clone https://github.com/Hmbown/CodeWhale.git", + " cd CodeWhale", " cargo install --path crates/cli --locked", " cargo install --path crates/tui --locked", "", - "See https://github.com/Hmbown/DeepSeek-TUI/blob/main/docs/INSTALL.md", + "See https://github.com/Hmbown/CodeWhale/blob/main/docs/INSTALL.md", ].join("\n"); } diff --git a/npm/codewhale/scripts/run.js b/npm/codewhale/scripts/run.js index 26621032..94e3b7e6 100644 --- a/npm/codewhale/scripts/run.js +++ b/npm/codewhale/scripts/run.js @@ -34,26 +34,26 @@ async function run(binaryName) { process.exit(result.status ?? 1); } -async function runCodewhale() { +async function runCodeWhale() { await run("codewhale"); } -async function runCodewhaleTui() { +async function runCodeWhaleTui() { await run("codewhale-tui"); } module.exports = { run, - runCodewhale, - runCodewhaleTui, + runCodeWhale, + runCodeWhaleTui, _internal: { isVersionFlag }, }; if (require.main === module) { const command = process.argv[1] || ""; if (command.includes("tui")) { - runCodewhaleTui(); + runCodeWhaleTui(); } else { - runCodewhale(); + runCodeWhale(); } } diff --git a/npm/codewhale/scripts/verify-release-assets.js b/npm/codewhale/scripts/verify-release-assets.js index 0ea22699..868d4840 100644 --- a/npm/codewhale/scripts/verify-release-assets.js +++ b/npm/codewhale/scripts/verify-release-assets.js @@ -19,7 +19,7 @@ function resolveBinaryVersion() { } function resolveRepo() { - return process.env.DEEPSEEK_TUI_GITHUB_REPO || process.env.DEEPSEEK_GITHUB_REPO || "Hmbown/DeepSeek-TUI"; + return process.env.DEEPSEEK_TUI_GITHUB_REPO || process.env.DEEPSEEK_GITHUB_REPO || "Hmbown/CodeWhale"; } function requestStatus(url, method = "HEAD", redirects = 0) { diff --git a/npm/codewhale/test/artifacts.test.js b/npm/codewhale/test/artifacts.test.js index 12c9305e..1fd74955 100644 --- a/npm/codewhale/test/artifacts.test.js +++ b/npm/codewhale/test/artifacts.test.js @@ -52,7 +52,7 @@ test("genuinely unsupported platform throws with raw platform name", () => { }); test("known platforms are unaffected by alias map", () => { - for (const [platform, arch, expectedCodewhale] of [ + for (const [platform, arch, expectedCodeWhale] of [ ["linux", "x64", "codewhale-linux-x64"], ["darwin", "arm64", "codewhale-macos-arm64"], ["win32", "x64", "codewhale-windows-x64.exe"], @@ -60,7 +60,7 @@ test("known platforms are unaffected by alias map", () => { withMockedOs(platform, arch, () => { const { detectBinaryNames } = require(ARTIFACTS_PATH); const result = detectBinaryNames(); - assert.equal(result.codewhale, expectedCodewhale); + assert.equal(result.codewhale, expectedCodeWhale); }); } }); diff --git a/npm/codewhale/test/install.test.js b/npm/codewhale/test/install.test.js index 2916b1b3..8dbce5f4 100644 --- a/npm/codewhale/test/install.test.js +++ b/npm/codewhale/test/install.test.js @@ -69,7 +69,7 @@ test("install failure hint explains release base override for blocked GitHub dow try { const error = Object.assign( new Error( - "fetch https://github.com/Hmbown/DeepSeek-TUI/releases/download/v0.8.19/codewhale-artifacts-sha256.txt failed after 5 attempts:\ngetaddrinfo ENOTFOUND github.com", + "fetch https://github.com/Hmbown/CodeWhale/releases/download/v0.8.19/codewhale-artifacts-sha256.txt failed after 5 attempts:\ngetaddrinfo ENOTFOUND github.com", ), { code: "ENOTFOUND" }, ); @@ -123,7 +123,7 @@ test("ensureBinary adopts a manually placed target binary after checksum validat await fs.promises.writeFile(`${target}.version`, "0.8.24", "utf8"); const result = await withoutForcedDownload(() => - _internal.ensureBinary(target, assetName, version, "Hmbown/DeepSeek-TUI", async () => { + _internal.ensureBinary(target, assetName, version, "Hmbown/CodeWhale", async () => { checksumLoads += 1; return new Map([[assetName, sha256(content)]]); }), @@ -148,7 +148,7 @@ test("ensureBinary adopts an official release-named binary placed in downloads", await fs.promises.writeFile(assetPath, content); const result = await withoutForcedDownload(() => - _internal.ensureBinary(target, assetName, version, "Hmbown/DeepSeek-TUI", async () => + _internal.ensureBinary(target, assetName, version, "Hmbown/CodeWhale", async () => new Map([[assetName, sha256(content)]]), ), ); diff --git a/npm/deepseek-tui/README.md b/npm/deepseek-tui/README.md index b5932ba3..33308356 100644 --- a/npm/deepseek-tui/README.md +++ b/npm/deepseek-tui/README.md @@ -11,5 +11,5 @@ npm install -g codewhale deprecation shims under the old `deepseek` / `deepseek-tui` names so existing scripts keep working through one transition release. -See [docs/REBRAND.md](https://github.com/Hmbown/DeepSeek-TUI/blob/main/docs/REBRAND.md) +See [docs/REBRAND.md](https://github.com/Hmbown/CodeWhale/blob/main/docs/REBRAND.md) for the full migration story. diff --git a/npm/deepseek-tui/package.json b/npm/deepseek-tui/package.json index 4f4da995..09384c0f 100644 --- a/npm/deepseek-tui/package.json +++ b/npm/deepseek-tui/package.json @@ -4,13 +4,13 @@ "description": "Deprecated. Renamed to `codewhale`. Run `npm install -g codewhale` instead.", "author": "Hmbown", "license": "MIT", - "homepage": "https://github.com/Hmbown/DeepSeek-TUI/blob/main/docs/REBRAND.md", + "homepage": "https://github.com/Hmbown/CodeWhale/blob/main/docs/REBRAND.md", "repository": { "type": "git", - "url": "git+https://github.com/Hmbown/DeepSeek-TUI.git" + "url": "git+https://github.com/Hmbown/CodeWhale.git" }, "bugs": { - "url": "https://github.com/Hmbown/DeepSeek-TUI/issues" + "url": "https://github.com/Hmbown/CodeWhale/issues" }, "keywords": [ "deprecated", diff --git a/npm/deepseek-tui/scripts/deprecation-notice.js b/npm/deepseek-tui/scripts/deprecation-notice.js index 1e9b215a..b8a8e67c 100644 --- a/npm/deepseek-tui/scripts/deprecation-notice.js +++ b/npm/deepseek-tui/scripts/deprecation-notice.js @@ -13,7 +13,7 @@ const notice = [ " │ │", " │ codewhale ships the same `codewhale` and `codewhale-tui` │", " │ binaries plus deprecation shims under the old names. See: │", - " │ https://github.com/Hmbown/DeepSeek-TUI/blob/main/docs/REBRAND.md │", + " │ https://github.com/Hmbown/CodeWhale/blob/main/docs/REBRAND.md │", " │ │", " ╰───────────────────────────────────────────────────────────────────╯", "", diff --git a/scripts/tencent-lighthouse/bootstrap-ubuntu.sh b/scripts/tencent-lighthouse/bootstrap-ubuntu.sh index 349cc34a..e91100ea 100755 --- a/scripts/tencent-lighthouse/bootstrap-ubuntu.sh +++ b/scripts/tencent-lighthouse/bootstrap-ubuntu.sh @@ -9,7 +9,7 @@ fi DEEPSEEK_USER="${DEEPSEEK_USER:-codewhale}" DEEPSEEK_ROOT="${DEEPSEEK_ROOT:-/opt/codewhale}" WHALEBRO_ROOT="${WHALEBRO_ROOT:-/opt/whalebro}" -REPO_URL="${DEEPSEEK_REPO_URL:-https://github.com/Hmbown/DeepSeek-TUI.git}" +REPO_URL="${DEEPSEEK_REPO_URL:-https://github.com/Hmbown/CodeWhale.git}" WHALEBRO_EXTRA_REPOS="${WHALEBRO_EXTRA_REPOS:-}" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SOURCE_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)" diff --git a/scripts/tencent-lighthouse/doctor.sh b/scripts/tencent-lighthouse/doctor.sh index 047063b0..cc97da31 100755 --- a/scripts/tencent-lighthouse/doctor.sh +++ b/scripts/tencent-lighthouse/doctor.sh @@ -97,7 +97,7 @@ check_workspace() { } check_binaries() { - section "Codewhale binaries" + section "CodeWhale binaries" local cargo_bin="/home/${DEEPSEEK_USER}/.cargo/bin" local codewhale="${cargo_bin}/codewhale" local tui="${cargo_bin}/codewhale-tui" diff --git a/website/index.html b/website/index.html index 1f3a4de4..a23c1743 100644 --- a/website/index.html +++ b/website/index.html @@ -430,9 +430,9 @@ @@ -461,13 +461,13 @@
- DeepSeek TUI screenshot + DeepSeek TUI screenshot
@@ -534,7 +534,7 @@ export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -

Full platform guide: docs/INSTALL.md · 简体中文 README

+

Full platform guide: docs/INSTALL.md · 简体中文 README

@@ -542,9 +542,9 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh