docs(brand): rename to codewhale across READMEs and docs

Sweep brand mentions of `DeepSeek TUI` / `deepseek-tui` / bare
`deepseek` (the dispatcher binary) across all user-facing docs to
the new `codewhale` brand. The DeepSeek **provider** integration is
left untouched throughout: env vars (`DEEPSEEK_*`), model IDs
(`deepseek-v4-pro`, `deepseek-v4-flash`, `deepseek-chat`,
`deepseek-reasoner`), the `api.deepseek.com` host, the
`~/.deepseek/` config dir, and the `--provider deepseek` argument
value all keep the legacy spelling.

Anti-scope items deliberately left as the legacy `deepseek-tui`:

- Homebrew tap and formula (`Hmbown/homebrew-deepseek-tui`,
  `brew install deepseek-tui`, `scoop install deepseek-tui`). The
  tap rename ships separately.
- Docker image (`ghcr.io/hmbown/deepseek-tui`). Image-tag rename
  ships separately.
- CNB mirror namespace (`cnb.cool/deepseek-tui.com/DeepSeek-TUI`).
  Third-party hosted path.
- Security contact email (`security@deepseek-tui.com`).
- GitHub repo URL (`Hmbown/DeepSeek-TUI`).

New artifact:

- `docs/REBRAND.md` documents what changed, what didn't, the
  deprecation window, and migration commands for npm / Cargo /
  Homebrew / manual installs.

CHANGELOG entries:

- Root `CHANGELOG.md` and `crates/tui/CHANGELOG.md` both gain a
  new `[Unreleased]` section describing the rename and the one-
  release deprecation window. Historical entries are untouched.

Issue templates:

- `.github/ISSUE_TEMPLATE/bug_report.md` and `feature_request.md`
  refer to "codewhale" / `codewhale --version` instead of the old
  brand name in their environment fields.

The rebrand sweep was driven by a perl script with bulk patterns
(`deepseek-tui` -> `codewhale-tui`, `DeepSeek TUI` -> `codewhale`,
bare `deepseek` -> `codewhale` with provider/model/host/env-var/
config-path negative lookbehind/lookahead) followed by targeted
reverts for the anti-scope items above. Output was visually
reviewed file-by-file before committing.

Verified:

- `cargo check --workspace --all-targets --locked` — pass.
- `cargo test --workspace --all-features --locked` — pass (no
  test source touched here; suite stayed green to confirm no
  doc-from-string assertions broke).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hunter Bown
2026-05-23 11:25:48 -05:00
parent 23daefbe24
commit a3acdbe70b
25 changed files with 760 additions and 571 deletions
+29 -29
View File
@@ -1,15 +1,15 @@
# MCP (External Tool Servers)
DeepSeek TUI can load additional tools via MCP (Model Context Protocol). MCP servers are local processes that the TUI starts and communicates with over stdio.
codewhale can load additional tools via MCP (Model Context Protocol). MCP servers are local processes that the TUI starts and communicates with over stdio.
Browsing note:
- `web.run` is the canonical built-in browsing tool.
- `web_search` remains available as a compatibility alias for older prompts and integrations.
Server mode note:
- `deepseek-tui serve --mcp` runs the MCP stdio server.
- `deepseek-tui serve --http` runs the runtime HTTP/SSE API (separate mode).
- The `deepseek` dispatcher exposes `deepseek mcp-server` as an equivalent stdio
- `codewhale-tui serve --mcp` runs the MCP stdio server.
- `codewhale-tui serve --http` runs the runtime HTTP/SSE API (separate mode).
- The `codewhale` dispatcher exposes `codewhale mcp-server` as an equivalent stdio
entrypoint used by the split CLI.
## Bootstrap MCP Config
@@ -17,22 +17,22 @@ Server mode note:
Create a starter MCP config at your resolved MCP path:
```bash
deepseek-tui mcp init
codewhale-tui mcp init
```
`deepseek-tui setup --mcp` performs the same MCP bootstrap alongside skills setup.
`codewhale-tui setup --mcp` performs the same MCP bootstrap alongside skills setup.
Common management commands:
```bash
deepseek-tui mcp list
deepseek-tui mcp tools [server]
deepseek-tui mcp add <name> --command "<cmd>" --arg "<arg>"
deepseek-tui mcp add <name> --url "http://localhost:3000/mcp"
deepseek-tui mcp enable <name>
deepseek-tui mcp disable <name>
deepseek-tui mcp remove <name>
deepseek-tui mcp validate
codewhale-tui mcp list
codewhale-tui mcp tools [server]
codewhale-tui mcp add <name> --command "<cmd>" --arg "<arg>"
codewhale-tui mcp add <name> --url "http://localhost:3000/mcp"
codewhale-tui mcp enable <name>
codewhale-tui mcp disable <name>
codewhale-tui mcp remove <name>
codewhale-tui mcp validate
```
## In-TUI Manager
@@ -72,7 +72,7 @@ Overrides:
- Config: `mcp_config_path = "/path/to/mcp.json"`
- Env: `DEEPSEEK_MCP_CONFIG=/path/to/mcp.json`
`deepseek-tui mcp init` (and `deepseek-tui setup --mcp`) writes to this resolved path.
`codewhale-tui mcp init` (and `codewhale-tui setup --mcp`) writes to this resolved path.
The interactive `/config` editor also exposes `mcp_config_path`. Changing it in
the TUI updates the path used by `/mcp`, and requires a restart before the
@@ -130,14 +130,14 @@ You can register your local DeepSeek binary as an MCP server so other DeepSeek s
### Quick Setup
```bash
deepseek-tui mcp add-self
codewhale-tui mcp add-self
```
This resolves the current binary path, generates a config entry that runs `deepseek-tui serve --mcp`, and writes it to your MCP config file. The default server name is `deepseek`.
This resolves the current binary path, generates a config entry that runs `codewhale-tui serve --mcp`, and writes it to your MCP config file. The default server name is `codewhale`.
Options:
- `--name <NAME>` — custom server name (default: `deepseek`)
- `--name <NAME>` — custom server name (default: `codewhale`)
- `--workspace <PATH>` — workspace directory for the server
### Manual Config
@@ -147,8 +147,8 @@ Equivalent manual entry in `~/.deepseek/mcp.json`:
```json
{
"servers": {
"deepseek": {
"command": "/path/to/deepseek",
"codewhale": {
"command": "/path/to/codewhale",
"args": ["serve", "--mcp"],
"env": {}
}
@@ -156,9 +156,9 @@ Equivalent manual entry in `~/.deepseek/mcp.json`:
}
```
The `deepseek-tui` binary supports `serve --mcp` directly. The `deepseek`
dispatcher offers the equivalent `deepseek mcp-server` stdio entrypoint. Use
whichever is on your `PATH` (run `which deepseek` or `which deepseek-tui` to
The `codewhale-tui` binary supports `serve --mcp` directly. The `codewhale`
dispatcher offers the equivalent `codewhale mcp-server` stdio entrypoint. Use
whichever is on your `PATH` (run `which codewhale` or `which codewhale-tui` to
find the full path). The `mcp add-self` command automatically resolves the
correct binary.
@@ -172,13 +172,13 @@ correct binary.
Tools from a self-hosted DeepSeek server follow the standard naming convention:
- `mcp_deepseek_<tool>` (if the server is named `deepseek`)
- `mcp_deepseek_<tool>` (if the server is named `codewhale`)
For example, the `shell` tool becomes `mcp_deepseek_shell`.
### MCP Server vs HTTP/SSE API vs ACP
| | `deepseek-tui serve --mcp` | `deepseek-tui serve --http` | `deepseek-tui serve --acp` |
| | `codewhale-tui serve --mcp` | `codewhale-tui serve --http` | `codewhale-tui serve --acp` |
|---|---|---|---|
| **Protocol** | MCP stdio | HTTP/SSE JSON-RPC | ACP stdio |
| **Use case** | Tool server for MCP clients | Runtime API for apps | Editor agent for Zed/custom ACP clients |
@@ -194,8 +194,8 @@ Use `serve --acp` when an editor wants to talk to DeepSeek as an ACP agent.
After adding, test the connection:
```bash
deepseek-tui mcp validate
deepseek-tui mcp tools deepseek
codewhale-tui mcp validate
codewhale-tui mcp tools codewhale
```
## Server Fields
@@ -220,7 +220,7 @@ You should still only configure MCP servers you trust, and treat MCP server conf
## Troubleshooting
- Run `deepseek-tui doctor` to confirm the MCP config path it resolved and whether it exists.
- Run `codewhale-tui doctor` to confirm the MCP config path it resolved and whether it exists.
- In the TUI, run `/mcp validate` to refresh the visible server/tool snapshot.
- If the MCP config is missing, run `deepseek-tui mcp init --force` to regenerate it.
- If the MCP config is missing, run `codewhale-tui mcp init --force` to regenerate it.
- If tools dont appear, verify the server command works from your shell and that the server supports MCP `tools/list`.