Merge remote-tracking branch 'origin/rebrand/r4-docs-readme' into work/v0.8.41-codewhale-ready

This commit is contained in:
Hunter Bown
2026-05-23 13:18:53 -05:00
25 changed files with 760 additions and 571 deletions
+76 -76
View File
@@ -1,4 +1,4 @@
# 🐳 DeepSeek TUI
# 🐳 codewhale
> **このターミナルネイティブのコーディングエージェントは、DeepSeek V4 の 100 万トークンのコンテキストウィンドウとプレフィックスキャッシュ機能を中心に構築されています。単一のバイナリとして配布され、Node.js や Python のランタイムは不要です。MCP クライアント、サンドボックス、永続的なタスクキューも標準で同梱されています。**
@@ -7,17 +7,17 @@
## インストール
`deepseek` は自己完結型の Rust バイナリとして提供されており、**実行に Node.js や Python のランタイムは必要ありません。** すでにマシンにインストールされているものを選んでください。いずれの方法でも同じバイナリが `PATH` に配置されます。
`codewhale` は自己完結型の Rust バイナリとして提供されており、**実行に Node.js や Python のランタイムは必要ありません。** すでにマシンにインストールされているものを選んでください。いずれの方法でも同じバイナリが `PATH` に配置されます。
```bash
# 1. npm — すでに Node を使っているなら最も簡単。npm パッケージは
# GitHub Releases から対応するビルド済みバイナリをダウンロードする
# 薄いインストーラーであり、deepseek 本体に Node ランタイム依存を加えるものではありません。
npm install -g deepseek-tui
# 薄いインストーラーであり、codewhale 本体に Node ランタイム依存を加えるものではありません。
npm install -g codewhale
# 2. Cargo — Node 不要。
cargo install deepseek-tui-cli --locked # `deepseek` (エントリーポイント)
cargo install deepseek-tui --locked # `deepseek-tui` (TUI バイナリ)
cargo install codewhale-cli --locked # `codewhale` (エントリーポイント)
cargo install codewhale-tui --locked # `codewhale-tui` (TUI バイナリ)
# 3. Homebrew — macOS パッケージマネージャ。
brew tap Hmbown/deepseek-tui
@@ -28,10 +28,10 @@ brew install deepseek-tui
# Linux x64/ARM64、macOS x64/ARM64、Windows x64 向けのビルド済みバイナリがあります。
# 5. Docker — ビルド済みリリースイメージ。
docker volume create deepseek-tui-home
docker volume create codewhale-tui-home
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v deepseek-tui-home:/home/deepseek/.deepseek \
-v codewhale-tui-home:/home/deepseek/.deepseek \
-v "$PWD:/workspace" \
-w /workspace \
ghcr.io/hmbown/deepseek-tui:latest
@@ -42,27 +42,27 @@ docker run --rm -it \
既にインストール済みの場合は、インストール方法に合わせて更新してください:
```bash
deepseek update
npm install -g deepseek-tui@latest
codewhale update
npm install -g codewhale@latest
brew update && brew upgrade deepseek-tui
cargo install deepseek-tui-cli --locked --force
cargo install deepseek-tui --locked --force
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)
[![npm](https://img.shields.io/npm/v/deepseek-tui)](https://www.npmjs.com/package/deepseek-tui)
[![crates.io](https://img.shields.io/crates/v/deepseek-tui-cli?label=crates.io)](https://crates.io/crates/deepseek-tui-cli)
[![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)
<a href="https://www.buymeacoffee.com/hmbown" target="_blank"><img src="https://img.shields.io/badge/Buy%20me%20a%20coffee-5F7FFF?style=for-the-badge&logo=buymeacoffee&logoColor=white" alt="Buy me a coffee" /></a>
![DeepSeek TUI スクリーンショット](assets/screenshot.png)
![codewhale スクリーンショット](assets/screenshot.png)
---
## DeepSeek TUI とは?
## codewhale とは?
DeepSeek TUI は、ターミナル内で完結するコーディングエージェントです。DeepSeek のフロンティアモデルがあなたのワークスペースに直接アクセスできるようにし、ファイルの読み取り・編集、シェルコマンドの実行、Web 検索、Git 管理、サブエージェントの統制などを、すべて高速でキーボード駆動の TUI を通じて行えます。
codewhale は、ターミナル内で完結するコーディングエージェントです。DeepSeek のフロンティアモデルがあなたのワークスペースに直接アクセスできるようにし、ファイルの読み取り・編集、シェルコマンドの実行、Web 検索、Git 管理、サブエージェントの統制などを、すべて高速でキーボード駆動の TUI を通じて行えます。
**DeepSeek V4 向けに構築** (`deepseek-v4-pro` / `deepseek-v4-flash`)。100 万トークンのコンテキストウィンドウとネイティブの thinking-mode(思考連鎖)ストリーミングをサポートします。
@@ -78,7 +78,7 @@ DeepSeek TUI は、ターミナル内で完結するコーディングエージ
- **セッション保存/再開** — 長時間実行のセッションをチェックポイント化して再開可能
- **ワークスペースのロールバック** — リポジトリの `.git` には触れずに、サイド Git によるターン前後のスナップショットを `/restore``revert_turn` で扱える
- **永続的タスクキュー** — 再起動を超えて生き残るバックグラウンドタスク。スケジュール自動化や長時間レビューなどに
- **HTTP/SSE ランタイム API** — `deepseek serve --http` でヘッドレスエージェントワークフローを実現
- **HTTP/SSE ランタイム API** — `codewhale serve --http` でヘッドレスエージェントワークフローを実現
- **MCP プロトコル** — Model Context Protocol サーバーに接続して拡張ツールを利用可能。詳細は [docs/MCP.md](docs/MCP.md) を参照
- **LSP 診断** — rust-analyzer、pyright、typescript-language-server、gopls、clangd により、編集ごとにエラー/警告をインライン表示
- **ユーザーメモリ** — クロスセッションの嗜好をシステムプロンプトに注入できる、オプションの永続メモファイル
@@ -90,7 +90,7 @@ DeepSeek TUI は、ターミナル内で完結するコーディングエージ
## 仕組み
`deepseek`(ディスパッチャー CLI)→ `deepseek-tui`(コンパニオンバイナリ)→ ratatui インターフェース ↔ 非同期エンジン ↔ OpenAI 互換のストリーミングクライアント。ツール呼び出しは型付きレジストリ(シェル、ファイル操作、Git、Web、サブエージェント、MCP、RLM)を経由してルーティングされ、結果はトランスクリプトへとストリーム返送されます。エンジンはセッション状態、ターン管理、永続タスクキューを管理し、LSP サブシステムは編集後の診断を次の推論ステップ前にモデルのコンテキストへ供給します。
`codewhale`(ディスパッチャー CLI)→ `codewhale-tui`(コンパニオンバイナリ)→ ratatui インターフェース ↔ 非同期エンジン ↔ OpenAI 互換のストリーミングクライアント。ツール呼び出しは型付きレジストリ(シェル、ファイル操作、Git、Web、サブエージェント、MCP、RLM)を経由してルーティングされ、結果はトランスクリプトへとストリーム返送されます。エンジンはセッション状態、ターン管理、永続タスクキューを管理し、LSP サブシステムは編集後の診断を次の推論ステップ前にモデルのコンテキストへ供給します。
詳しくは [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) を参照してください。
@@ -99,9 +99,9 @@ DeepSeek TUI は、ターミナル内で完結するコーディングエージ
## クイックスタート
```bash
npm install -g deepseek-tui
deepseek --version
deepseek --model auto
npm install -g codewhale
codewhale --version
codewhale --model auto
```
ビルド済みバイナリは **Linux x64**、**Linux ARM64**v0.8.8 以降)、**macOS x64**、**macOS ARM64**、**Windows x64** 向けに公開されています。その他のターゲット(musl、riscv64、FreeBSD など)は [ソースからのインストール](#install-from-source) または [docs/INSTALL.md](docs/INSTALL.md) を参照してください。
@@ -111,19 +111,19 @@ deepseek --model auto
事前に設定することもできます:
```bash
deepseek auth set --provider deepseek # ~/.deepseek/config.toml に保存
codewhale auth set --provider deepseek # ~/.deepseek/config.toml に保存
export DEEPSEEK_API_KEY="YOUR_KEY" # 環境変数による代替方法。非対話シェルでは ~/.zshenv を使用
deepseek
codewhale
deepseek doctor # セットアップを検証
codewhale doctor # セットアップを検証
```
> 保存済みキーをローテーション/削除するには: `deepseek auth clear --provider deepseek`。
> 保存済みキーをローテーション/削除するには: `codewhale auth clear --provider deepseek`。
### Linux ARM64Raspberry Pi、Asahi、Graviton、HarmonyOS PC
`npm i -g deepseek-tui` は 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/DeepSeek-TUI/releases) からビルド済みバイナリをダウンロードし、`PATH` 上に並べて配置することもできます。
### 中国 / ミラーフレンドリーなインストール
@@ -141,9 +141,9 @@ registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
その後、両方のバイナリをインストールしてください(ディスパッチャーは実行時に TUI へ委譲します):
```bash
cargo install deepseek-tui-cli --locked # `deepseek` を提供
cargo install deepseek-tui --locked # `deepseek-tui` を提供
deepseek --version
cargo install codewhale-cli --locked # `codewhale` を提供
cargo install codewhale-tui --locked # `codewhale-tui` を提供
codewhale --version
```
ビルド済みバイナリは [GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases) からもダウンロードできます。ミラーされたリリースアセットには `DEEPSEEK_TUI_RELEASE_BASE_URL` を使ってください。
@@ -170,8 +170,8 @@ scoop install deepseek-tui
git clone https://github.com/Hmbown/DeepSeek-TUI.git
cd DeepSeek-TUI
cargo install --path crates/cli --locked # Rust 1.88+ が必要。`deepseek` を提供
cargo install --path crates/tui --locked # `deepseek-tui` を提供
cargo install --path crates/cli --locked # Rust 1.88+ が必要。`codewhale` を提供
cargo install --path crates/tui --locked # `codewhale-tui` を提供
```
両方のバイナリが必要です。クロスコンパイルとプラットフォーム固有の注意事項: [docs/INSTALL.md](docs/INSTALL.md)。
@@ -182,42 +182,42 @@ cargo install --path crates/tui --locked # `deepseek-tui` を提供
```bash
# NVIDIA NIM
deepseek auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY"
deepseek --provider nvidia-nim
codewhale auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY"
codewhale --provider nvidia-nim
# AtlasCloud
deepseek auth set --provider atlascloud --api-key "YOUR_ATLASCLOUD_API_KEY"
deepseek --provider atlascloud
codewhale auth set --provider atlascloud --api-key "YOUR_ATLASCLOUD_API_KEY"
codewhale --provider atlascloud
# Wanjie Ark
deepseek auth set --provider wanjie-ark --api-key "YOUR_WANJIE_API_KEY"
deepseek --provider wanjie-ark --model deepseek-reasoner
codewhale auth set --provider wanjie-ark --api-key "YOUR_WANJIE_API_KEY"
codewhale --provider wanjie-ark --model deepseek-reasoner
# OpenRouter
deepseek auth set --provider openrouter --api-key "YOUR_OPENROUTER_API_KEY"
deepseek --provider openrouter --model deepseek/deepseek-v4-pro
codewhale auth set --provider openrouter --api-key "YOUR_OPENROUTER_API_KEY"
codewhale --provider openrouter --model deepseek/deepseek-v4-pro
# Novita
deepseek auth set --provider novita --api-key "YOUR_NOVITA_API_KEY"
deepseek --provider novita --model deepseek/deepseek-v4-pro
codewhale auth set --provider novita --api-key "YOUR_NOVITA_API_KEY"
codewhale --provider novita --model deepseek/deepseek-v4-pro
# Fireworks
deepseek auth set --provider fireworks --api-key "YOUR_FIREWORKS_API_KEY"
deepseek --provider fireworks --model deepseek-v4-pro
codewhale auth set --provider fireworks --api-key "YOUR_FIREWORKS_API_KEY"
codewhale --provider fireworks --model deepseek-v4-pro
# 汎用 OpenAI 互換エンドポイント
deepseek auth set --provider openai --api-key "YOUR_OPENAI_COMPATIBLE_API_KEY"
OPENAI_BASE_URL="https://openai-compatible.example/v4" deepseek --provider openai --model glm-5
codewhale auth set --provider openai --api-key "YOUR_OPENAI_COMPATIBLE_API_KEY"
OPENAI_BASE_URL="https://openai-compatible.example/v4" codewhale --provider openai --model glm-5
# セルフホスト SGLang
SGLANG_BASE_URL="http://localhost:30000/v1" deepseek --provider sglang --model deepseek-v4-flash
SGLANG_BASE_URL="http://localhost:30000/v1" codewhale --provider sglang --model deepseek-v4-flash
# セルフホスト vLLM
VLLM_BASE_URL="http://localhost:8000/v1" deepseek --provider vllm --model deepseek-v4-flash
VLLM_BASE_URL="http://localhost:8000/v1" codewhale --provider vllm --model deepseek-v4-flash
# セルフホスト Ollama
ollama pull deepseek-coder:1.3b
deepseek --provider ollama --model deepseek-coder:1.3b
ollama pull codewhale-coder:1.3b
codewhale --provider ollama --model codewhale-coder:1.3b
```
TUI 内では `/provider` でプロバイダーピッカー、`/model` でローカルのモデル/思考モードピッカーを開けます。`/provider openrouter``/model <id>` で直接切り替え、`/models` で対応プロバイダーのライブモデル一覧を明示的に取得できます。
@@ -233,30 +233,30 @@ TUI 内では `/provider` でプロバイダーピッカー、`/model` でロー
## 使い方
```bash
deepseek # インタラクティブ TUI
deepseek "explain this function" # ワンショットプロンプト
deepseek exec --auto --output-format stream-json "fix this bug" # NDJSON バックエンドストリーム
deepseek exec --resume <SESSION_ID> "follow up" # 非対話セッションを継続
deepseek --model deepseek-v4-flash "summarize" # モデルの上書き
deepseek --model auto "fix this bug" # モデルと推論強度を自動選択
deepseek --yolo # ツールを自動承認
deepseek auth set --provider deepseek # API キーの保存
deepseek doctor # セットアップと接続性のチェック
deepseek doctor --json # 機械可読の診断
deepseek setup --status # 読み取り専用のセットアップ状態
deepseek setup --tools --plugins # ツール/プラグインディレクトリの雛形作成
deepseek models # ライブ API モデル一覧
deepseek sessions # 保存済みセッション一覧
deepseek resume --last # 最新セッションを再開
deepseek resume <SESSION_ID> # UUID 指定で特定セッションを再開
deepseek fork <SESSION_ID> # 保存済みセッションを兄弟パスに fork
deepseek serve --http # HTTP/SSE API サーバー
deepseek serve --acp # Zed/カスタムエージェント向け ACP stdio アダプター
deepseek run pr <N> # PR を取得しレビュープロンプトに先行投入
deepseek mcp list # 設定された MCP サーバー一覧
deepseek mcp validate # MCP の設定/接続性を検証
deepseek mcp-server # ディスパッチャー MCP stdio サーバーを実行
deepseek update # バイナリ更新の確認と適用
codewhale # インタラクティブ TUI
codewhale "explain this function" # ワンショットプロンプト
codewhale exec --auto --output-format stream-json "fix this bug" # NDJSON バックエンドストリーム
codewhale exec --resume <SESSION_ID> "follow up" # 非対話セッションを継続
codewhale --model deepseek-v4-flash "summarize" # モデルの上書き
codewhale --model auto "fix this bug" # モデルと推論強度を自動選択
codewhale --yolo # ツールを自動承認
codewhale auth set --provider deepseek # API キーの保存
codewhale doctor # セットアップと接続性のチェック
codewhale doctor --json # 機械可読の診断
codewhale setup --status # 読み取り専用のセットアップ状態
codewhale setup --tools --plugins # ツール/プラグインディレクトリの雛形作成
codewhale models # ライブ API モデル一覧
codewhale sessions # 保存済みセッション一覧
codewhale resume --last # 最新セッションを再開
codewhale resume <SESSION_ID> # UUID 指定で特定セッションを再開
codewhale fork <SESSION_ID> # 保存済みセッションを兄弟パスに fork
codewhale serve --http # HTTP/SSE API サーバー
codewhale serve --acp # Zed/カスタムエージェント向け ACP stdio アダプター
codewhale run pr <N> # PR を取得しレビュープロンプトに先行投入
codewhale mcp list # 設定された MCP サーバー一覧
codewhale mcp validate # MCP の設定/接続性を検証
codewhale mcp-server # ディスパッチャー MCP stdio サーバーを実行
codewhale update # バイナリ更新の確認と適用
```
### キーボードショートカット
@@ -302,7 +302,7 @@ deepseek update # バイナリ更新の確認
| `DEEPSEEK_HTTP_HEADERS` | 任意のモデルリクエストヘッダー |
| `DEEPSEEK_MODEL` | デフォルトモデル |
| `DEEPSEEK_STREAM_IDLE_TIMEOUT_SECS` | ストリームのアイドルタイムアウト秒数 |
| `DEEPSEEK_PROVIDER` | `deepseek`(デフォルト)、`nvidia-nim``openai``atlascloud``wanjie-ark``openrouter``novita``fireworks``sglang``vllm``ollama` |
| `DEEPSEEK_PROVIDER` | `codewhale`(デフォルト)、`nvidia-nim``openai``atlascloud``wanjie-ark``openrouter``novita``fireworks``sglang``vllm``ollama` |
| `DEEPSEEK_PROFILE` | 設定プロファイル名 |
| `DEEPSEEK_MEMORY` | `on` に設定するとユーザーメモリを有効化 |
| `DEEPSEEK_ALLOW_INSECURE_HTTP=1` | 信頼できるネットワークで非ローカル `http://` API ベース URL を許可 |
@@ -342,7 +342,7 @@ UI のロケールはモデルの言語とは別です。`settings.toml` で `lo
## 自分のスキルを公開する
DeepSeek TUI はワークスペースのディレクトリ(`.agents/skills``skills``.opencode/skills``.claude/skills`)とグローバルな `~/.deepseek/skills` からスキルを発見します。各スキルは `SKILL.md` ファイルを持つディレクトリです:
codewhale はワークスペースのディレクトリ(`.agents/skills``skills``.opencode/skills``.claude/skills`)とグローバルな `~/.deepseek/skills` からスキルを発見します。各スキルは `SKILL.md` ファイルを持つディレクトリです:
```text
~/.deepseek/skills/my-skill/