diff --git a/CHANGELOG.md b/CHANGELOG.md index 1227038e..6bfbc5af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Update guidance is clearer on the website.** The homepage and install page now surface `deepseek update` while keeping package-manager update paths visible for Homebrew, npm, and Cargo installs. +- **README setup docs are current again.** The English, Simplified Chinese, + and Japanese READMEs now use the current Docker volume/workspace invocation, + document update paths, list the current provider/model switching surface, and + send release-specific feature notes back to the changelog. ### Fixed diff --git a/README.ja-JP.md b/README.ja-JP.md index a5e5edcc..5a2d94be 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -19,13 +19,36 @@ npm install -g deepseek-tui cargo install deepseek-tui-cli --locked # `deepseek` (エントリーポイント) cargo install deepseek-tui --locked # `deepseek-tui` (TUI バイナリ) -# 3. 直接ダウンロード — Node もツールチェーンも不要。 +# 3. Homebrew — macOS パッケージマネージャ。 +brew tap Hmbown/deepseek-tui +brew install deepseek-tui + +# 4. 直接ダウンロード — Node もツールチェーンも不要。 # https://github.com/Hmbown/DeepSeek-TUI/releases # Linux x64/ARM64、macOS x64/ARM64、Windows x64 向けのビルド済みバイナリがあります。 + +# 5. Docker — ビルド済みリリースイメージ。 +docker volume create deepseek-tui-home +docker run --rm -it \ + -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ + -v deepseek-tui-home:/home/deepseek/.deepseek \ + -v "$PWD:/workspace" \ + -w /workspace \ + ghcr.io/hmbown/deepseek-tui:latest ``` > 中国本土では、`--registry=https://registry.npmmirror.com` を指定して npm 経由のダウンロードを高速化するか、下記の[Cargo ミラー](#中国--ミラーフレンドリーなインストール)を利用してください。 +既にインストール済みの場合は、インストール方法に合わせて更新してください: + +```bash +deepseek update +npm install -g deepseek-tui@latest +brew update && brew upgrade deepseek-tui +cargo install deepseek-tui-cli --locked --force +cargo install deepseek-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) @@ -45,10 +68,11 @@ DeepSeek TUI は、ターミナル内で完結するコーディングエージ ### 主な機能 -- **ネイティブ RLM** (`rlm_query`) — 1〜16 個の安価な `deepseek-v4-flash` 子プロセスを並列に起動し、既存の API クライアントに対してバッチ解析と並列推論を実行 +- **Auto モード** — `--model auto` / `/model auto` がターンごとにモデルと推論強度を選択 +- **ネイティブ RLM** (`rlm_open`/`rlm_eval`) — 永続 REPL セッションでバッチ解析を行い、`peek`、`search`、`chunk`、`sub_query_batch` などの補助関数で低コストな `deepseek-v4-flash` 子タスクを実行 - **Thinking-mode ストリーミング** — モデルがタスクに取り組む様子をリアルタイムで観察し、思考連鎖の展開を追える - **完全なツールスイート** — ファイル操作、シェル実行、Git、Web 検索/ブラウズ、apply-patch、サブエージェント、MCP サーバー -- **100 万トークンコンテキスト** — コンテキストが満杯になると自動でインテリジェントにコンパクション。プレフィックスキャッシュを意識したコスト効率 +- **100 万トークンコンテキスト** — コンテキスト追跡、手動または設定ベースのコンパクション、プレフィックスキャッシュのテレメトリ - **3 つのモード** — Plan(読み取り専用の探索)、Agent(承認ありのインタラクティブ)、YOLO(自動承認) - **推論努力ティア** — `Shift + Tab` で `off → high → max` を切り替え - **セッション保存/再開** — 長時間実行のセッションをチェックポイント化して再開可能 @@ -60,7 +84,7 @@ DeepSeek TUI は、ターミナル内で完結するコーディングエージ - **ユーザーメモリ** — クロスセッションの嗜好をシステムプロンプトに注入できる、オプションの永続メモファイル - **ローカライズ済み UI** — `en`、`ja`、`zh-Hans`、`pt-BR` を自動検出 - **ライブコスト追跡** — ターンごと/セッションごとのトークン使用量とコスト見積もり、キャッシュヒット/ミスの内訳 -- **スキルシステム** — GitHub から取得できる、合成・インストール可能な命令パック。バックエンドサービス不要 +- **スキルシステム** — GitHub から取得できる命令パック。初回起動時に `skill-creator`、`mcp-builder`、`documents`、`presentations`、`spreadsheets`、`pdf`、`feishu` などのスターターセットを同梱 --- @@ -77,7 +101,7 @@ DeepSeek TUI は、ターミナル内で完結するコーディングエージ ```bash npm install -g deepseek-tui deepseek --version -deepseek +deepseek --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) を参照してください。 @@ -146,7 +170,7 @@ scoop install deepseek-tui git clone https://github.com/Hmbown/DeepSeek-TUI.git cd DeepSeek-TUI -cargo install --path crates/cli --locked # Rust 1.85+ が必要。`deepseek` を提供 +cargo install --path crates/cli --locked # Rust 1.88+ が必要。`deepseek` を提供 cargo install --path crates/tui --locked # `deepseek-tui` を提供 ``` @@ -161,34 +185,44 @@ cargo install --path crates/tui --locked # `deepseek-tui` を提供 deepseek auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY" deepseek --provider nvidia-nim +# AtlasCloud +deepseek auth set --provider atlascloud --api-key "YOUR_ATLASCLOUD_API_KEY" +deepseek --provider atlascloud + +# OpenRouter +deepseek auth set --provider openrouter --api-key "YOUR_OPENROUTER_API_KEY" +deepseek --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 + # Fireworks deepseek auth set --provider fireworks --api-key "YOUR_FIREWORKS_API_KEY" deepseek --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 + # セルフホスト SGLang SGLANG_BASE_URL="http://localhost:30000/v1" deepseek --provider sglang --model deepseek-v4-flash + +# セルフホスト vLLM +VLLM_BASE_URL="http://localhost:8000/v1" deepseek --provider vllm --model deepseek-v4-flash + +# セルフホスト Ollama +ollama pull deepseek-coder:1.3b +deepseek --provider ollama --model deepseek-coder:1.3b ``` +TUI 内では `/provider` でプロバイダーピッカー、`/model` でモデルピッカーを開けます。`/provider openrouter` や `/model ` で直接切り替え、`/models` で API から返るライブモデル一覧を確認できます。`/model` ピッカーは、利用可能な場合は現在のプロバイダーのライブモデルカタログを使い、ない場合はプロバイダー別の既定モデルにフォールバックします。 + --- -## v0.8.12 の新機能 +## リリースノート -v0.8.11 のキャッシュ最適化基盤の上に、コミュニティから 20 件の PR を加えた機能リリースです。[完全な変更履歴](CHANGELOG.md)。 - -- **推論努力の自動モード** — `reasoning_effort = "auto"` がプロンプトから適切なティアを選択。debug/error → Max、search/lookup → Low、デフォルト → High -- **Bash arity 辞書** — `auto_allow = ["git status"]` は `git status -s` にマッチし、`git push` にはマッチしない。git、cargo、npm、docker、kubectl ほかを認識 -- **Vim モーダル編集** — 標準的な Vim キーバインディングによる normal/insert モードをコンポーザーで利用可能 -- **スキルレジストリ同期** — `/skills sync` でコミュニティレジストリを取得・インストール/更新 -- **FIM 編集ツール** — DeepSeek の `/beta` fill-in-the-middle エンドポイントによる外科的なコード編集 -- **大型ツール出力のルーティング** — 巨大なツール結果は切り詰められたプレビューとスピルオーバーになり、親コンテキストを保護 -- **プラガブルなサンドボックスバックエンド** — `exec_shell` を Alibaba OpenSandbox やその他のリモートバックエンドへルーティング可能 -- **階層化された権限ルールセット** — execpolicy の deny/allow ルールに builtin/agent/user の優先度レイヤーを導入 -- **キャッシュ対応の常駐サブエージェント** — V4 のプレフィックスキャッシュ局所性のためにファイル内容を先頭付加。グローバルなリーステーブル -- **統一されたスラッシュコマンド名前空間** — `$1`/`$2`/`$ARGUMENTS` テンプレートに対応したユーザーコマンド -- **Color::Reset への移行** — ハードコードされた背景色をすべて `Color::Reset` に置き換え、ライトターミナルに対応 -- **新しいドキュメント**: SECURITY.md (#648)、CODE_OF_CONDUCT.md (#686)、zh-Hans ロケールの有効化 (#652) - -*[@merchloubna70-dot](https://github.com/merchloubna70-dot) によるコミュニティ PR 28 件。初回コントリビューターは [@zichen0116](https://github.com/zichen0116) (#686)。* +バージョンごとの変更点は [CHANGELOG.md](CHANGELOG.md) にまとめています。この README は、現在のインストール方法、主要ワークフロー、プロバイダー設定、ランタイムインターフェース、拡張ポイントに絞っています。 --- @@ -197,7 +231,10 @@ v0.8.11 のキャッシュ最適化基盤の上に、コミュニティから 20 ```bash deepseek # インタラクティブ TUI deepseek "explain this function" # ワンショットプロンプト +deepseek exec --auto --output-format stream-json "fix this bug" # NDJSON バックエンドストリーム +deepseek exec --resume "follow up" # 非対話セッションを継続 deepseek --model deepseek-v4-flash "summarize" # モデルの上書き +deepseek --model auto "fix this bug" # モデルと推論強度を自動選択 deepseek --yolo # ツールを自動承認 deepseek auth set --provider deepseek # API キーの保存 deepseek doctor # セットアップと接続性のチェック @@ -210,10 +247,12 @@ deepseek resume --last # 最新セッションを再 deepseek resume # UUID 指定で特定セッションを再開 deepseek fork # 任意のターンでセッションを fork deepseek serve --http # HTTP/SSE API サーバー -deepseek pr # PR を取得しレビュープロンプトに先行投入 +deepseek serve --acp # Zed/カスタムエージェント向け ACP stdio アダプター +deepseek run pr # PR を取得しレビュープロンプトに先行投入 deepseek mcp list # 設定された MCP サーバー一覧 deepseek mcp validate # MCP の設定/接続性を検証 deepseek mcp-server # ディスパッチャー MCP stdio サーバーを実行 +deepseek update # バイナリ更新の確認と適用 ``` ### キーボードショートカット @@ -256,12 +295,25 @@ deepseek mcp-server # ディスパッチャー MCP |---|---| | `DEEPSEEK_API_KEY` | API キー | | `DEEPSEEK_BASE_URL` | API ベース URL | +| `DEEPSEEK_HTTP_HEADERS` | 任意のモデルリクエストヘッダー | | `DEEPSEEK_MODEL` | デフォルトモデル | -| `DEEPSEEK_PROVIDER` | `deepseek`(デフォルト)、`nvidia-nim`、`fireworks`、`sglang` | +| `DEEPSEEK_STREAM_IDLE_TIMEOUT_SECS` | ストリームのアイドルタイムアウト秒数 | +| `DEEPSEEK_PROVIDER` | `deepseek`(デフォルト)、`nvidia-nim`、`openai`、`atlascloud`、`openrouter`、`novita`、`fireworks`、`sglang`、`vllm`、`ollama` | | `DEEPSEEK_PROFILE` | 設定プロファイル名 | | `DEEPSEEK_MEMORY` | `on` に設定するとユーザーメモリを有効化 | -| `NVIDIA_API_KEY` / `FIREWORKS_API_KEY` / `SGLANG_API_KEY` | プロバイダー認証 | +| `DEEPSEEK_ALLOW_INSECURE_HTTP=1` | 信頼できるネットワークで非ローカル `http://` API ベース URL を許可 | +| `NVIDIA_API_KEY` / `OPENAI_API_KEY` / `ATLASCLOUD_API_KEY` / `OPENROUTER_API_KEY` / `NOVITA_API_KEY` / `FIREWORKS_API_KEY` / `SGLANG_API_KEY` / `VLLM_API_KEY` / `OLLAMA_API_KEY` | プロバイダー認証 | +| `OPENAI_BASE_URL` / `OPENAI_MODEL` | 汎用 OpenAI 互換エンドポイントとモデル ID | +| `ATLASCLOUD_BASE_URL` / `ATLASCLOUD_MODEL` | AtlasCloud エンドポイントとモデル上書き | +| `OPENROUTER_BASE_URL` | OpenRouter エンドポイント上書き | +| `NOVITA_BASE_URL` | Novita エンドポイント上書き | +| `FIREWORKS_BASE_URL` | Fireworks エンドポイント上書き | | `SGLANG_BASE_URL` | セルフホスト SGLang のエンドポイント | +| `SGLANG_MODEL` | セルフホスト SGLang のモデル ID | +| `VLLM_BASE_URL` | セルフホスト vLLM のエンドポイント | +| `VLLM_MODEL` | セルフホスト vLLM のモデル ID | +| `OLLAMA_BASE_URL` | セルフホスト Ollama のエンドポイント | +| `OLLAMA_MODEL` | セルフホスト Ollama のモデルタグ | | `NO_ANIMATIONS=1` | 起動時にアクセシビリティモードを強制 | | `SSL_CERT_FILE` | 企業プロキシ向けのカスタム CA バンドル | @@ -317,6 +369,10 @@ description: DeepSeek にカスタムワークフローを実行させたいと | [MCP.md](docs/MCP.md) | Model Context Protocol 統合 | | [RUNTIME_API.md](docs/RUNTIME_API.md) | HTTP/SSE API サーバー | | [INSTALL.md](docs/INSTALL.md) | プラットフォーム別インストールガイド | +| [DOCKER.md](docs/DOCKER.md) | GHCR イメージ、ボリューム、Docker 利用方法 | +| [CNB_MIRROR.md](docs/CNB_MIRROR.md) | CNB ミラーと中国向けインストールメモ | +| [TENCENT_CLOUD_REMOTE_FIRST.md](docs/TENCENT_CLOUD_REMOTE_FIRST.md) | Tencent/CNB/Lighthouse/Feishu のリモート優先パス | +| [TENCENT_LIGHTHOUSE_HK.md](docs/TENCENT_LIGHTHOUSE_HK.md) | Tencent Lighthouse 香港インスタンス設定 | | [MEMORY.md](docs/MEMORY.md) | ユーザーメモリ機能ガイド | | [SUBAGENTS.md](docs/SUBAGENTS.md) | サブエージェントの役割分類とライフサイクル | | [KEYBINDINGS.md](docs/KEYBINDINGS.md) | ショートカット完全カタログ | diff --git a/README.md b/README.md index 300dd585..12331e22 100644 --- a/README.md +++ b/README.md @@ -31,9 +31,12 @@ brew install deepseek-tui # Prebuilt for Linux x64/ARM64, macOS x64/ARM64, Windows x64. # 5. Docker — prebuilt release image. +docker volume create deepseek-tui-home docker run --rm -it \ - -e DEEPSEEK_API_KEY \ + -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ + -v deepseek-tui-home:/home/deepseek/.deepseek \ -v "$PWD:/workspace" \ + -w /workspace \ ghcr.io/hmbown/deepseek-tui:latest ``` @@ -46,6 +49,16 @@ docker run --rm -it \ > 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). +Already installed? Use the updater that matches the install path: + +```bash +deepseek update # release-binary updater +npm install -g deepseek-tui@latest # npm wrapper +brew update && brew upgrade deepseek-tui +cargo install deepseek-tui-cli --locked --force +cargo install deepseek-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) @@ -236,6 +249,18 @@ Both binaries are required. Cross-compilation and platform-specific notes: [docs deepseek auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY" deepseek --provider nvidia-nim +# AtlasCloud +deepseek auth set --provider atlascloud --api-key "YOUR_ATLASCLOUD_API_KEY" +deepseek --provider atlascloud + +# OpenRouter +deepseek auth set --provider openrouter --api-key "YOUR_OPENROUTER_API_KEY" +deepseek --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 + # Fireworks deepseek auth set --provider fireworks --api-key "YOUR_FIREWORKS_API_KEY" deepseek --provider fireworks --model deepseek-v4-pro @@ -255,29 +280,19 @@ ollama pull deepseek-coder:1.3b deepseek --provider ollama --model deepseek-coder:1.3b ``` +Inside the TUI, `/provider` opens the provider picker and `/model` opens the +model picker. `/provider openrouter` and `/model ` switch directly, while +`/models` lists live API models. The `/model` picker uses the active provider's +live model catalog when the provider exposes one, with provider-aware defaults +as a fallback. + --- -## What's New In v0.8.35 +## Release Notes -A post-release cleanup branch for the `v0.8.34` line. It keeps the -model-facing surface stable while trimming first-turn context, clarifying -context-pressure behavior, and reducing sidebar noise during long runs. -[Full changelog](CHANGELOG.md). - -- **First-turn context is leaner.** Hidden tool/cache state is excluded - from the generated project pack, and `/context` now names prompt layers - instead of showing one opaque blob. -- **Prompt rules are de-conflicted.** Useful `deepseek` diagnostics are - allowed, simple one-step work no longer forces checklist ceremony, and - sustained sessions consistently suggest `/compact` around 60%. -- **Automatic compaction stays conservative.** The 80% threshold remains - an opt-in hard guardrail so DeepSeek V4 prefix-cache behavior is not - disturbed by default. -- **The Tasks sidebar settles down.** Completed live-tool rows expire - after a short linger, and very old running shell rows collapse instead - of filling the right rail. -- **`auto_compact` help is honest.** Settings now report the real default: - off. +Release-specific changes live in [CHANGELOG.md](CHANGELOG.md). This README +stays focused on current install paths, core workflows, provider setup, runtime +interfaces, and extension points. --- @@ -318,9 +333,14 @@ docker volume create deepseek-tui-home docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v deepseek-tui-home:/home/deepseek/.deepseek \ + -v "$PWD:/workspace" \ + -w /workspace \ ghcr.io/hmbown/deepseek-tui:latest ``` +See [docs/DOCKER.md](docs/DOCKER.md) for pinned tags, local image builds, +volume ownership notes, and non-interactive pipeline usage. + ### Zed / ACP DeepSeek can run as a custom Agent Client Protocol server for editors that @@ -389,14 +409,20 @@ Key environment variables: | `DEEPSEEK_HTTP_HEADERS` | Optional custom model request headers, e.g. `X-Model-Provider-Id=your-model-provider` | | `DEEPSEEK_MODEL` | Default model | | `DEEPSEEK_STREAM_IDLE_TIMEOUT_SECS` | Stream idle timeout in seconds, default `300`, clamped to `1..=3600` | -| `DEEPSEEK_PROVIDER` | `deepseek` (default), `nvidia-nim`, `openai`, `openrouter`, `novita`, `fireworks`, `sglang`, `vllm`, `ollama` | +| `DEEPSEEK_PROVIDER` | `deepseek` (default), `nvidia-nim`, `openai`, `atlascloud`, `openrouter`, `novita`, `fireworks`, `sglang`, `vllm`, `ollama` | | `DEEPSEEK_PROFILE` | Config profile name | | `DEEPSEEK_MEMORY` | Set to `on` to enable user memory | | `DEEPSEEK_ALLOW_INSECURE_HTTP=1` | Allow non-local `http://` API base URLs on trusted networks | -| `NVIDIA_API_KEY` / `OPENAI_API_KEY` / `OPENROUTER_API_KEY` / `NOVITA_API_KEY` / `FIREWORKS_API_KEY` / `SGLANG_API_KEY` / `VLLM_API_KEY` / `OLLAMA_API_KEY` | Provider auth | +| `NVIDIA_API_KEY` / `OPENAI_API_KEY` / `ATLASCLOUD_API_KEY` / `OPENROUTER_API_KEY` / `NOVITA_API_KEY` / `FIREWORKS_API_KEY` / `SGLANG_API_KEY` / `VLLM_API_KEY` / `OLLAMA_API_KEY` | Provider auth | | `OPENAI_BASE_URL` / `OPENAI_MODEL` | Generic OpenAI-compatible endpoint and model ID | +| `ATLASCLOUD_BASE_URL` / `ATLASCLOUD_MODEL` | AtlasCloud endpoint and model override | +| `OPENROUTER_BASE_URL` | OpenRouter endpoint override | +| `NOVITA_BASE_URL` | Novita endpoint override | +| `FIREWORKS_BASE_URL` | Fireworks endpoint override | | `SGLANG_BASE_URL` | Self-hosted SGLang endpoint | +| `SGLANG_MODEL` | Self-hosted SGLang model ID | | `VLLM_BASE_URL` | Self-hosted vLLM endpoint | +| `VLLM_MODEL` | Self-hosted vLLM model ID | | `OLLAMA_BASE_URL` | Self-hosted Ollama endpoint | | `OLLAMA_MODEL` | Self-hosted Ollama model tag | | `NO_ANIMATIONS=1` | Force accessibility mode at startup | @@ -413,7 +439,7 @@ Set `locale` in `settings.toml`, use `/config locale zh-Hans`, or rely on `LC_AL | `deepseek-v4-pro` | 1M | $0.003625 / 1M* | $0.435 / 1M* | $0.87 / 1M* | | `deepseek-v4-flash` | 1M | $0.0028 / 1M | $0.14 / 1M | $0.28 / 1M | -DeepSeek Platform defaults to `https://api.deepseek.com/beta` in v0.8.16 so beta-gated API features can be tested without extra setup. Set `base_url = "https://api.deepseek.com"` to opt out. +DeepSeek Platform defaults to `https://api.deepseek.com/beta` so beta-gated API features can be tested without extra setup. Set `base_url = "https://api.deepseek.com"` to opt out. Legacy aliases `deepseek-chat` / `deepseek-reasoner` map to `deepseek-v4-flash` and retire after July 24, 2026. NVIDIA NIM variants use your NVIDIA account terms. @@ -466,6 +492,10 @@ without recreating skills the user deliberately deleted. | [MCP.md](docs/MCP.md) | Model Context Protocol integration | | [RUNTIME_API.md](docs/RUNTIME_API.md) | HTTP/SSE API server | | [INSTALL.md](docs/INSTALL.md) | Platform-specific install guide | +| [DOCKER.md](docs/DOCKER.md) | GHCR image, volumes, and Docker usage | +| [CNB_MIRROR.md](docs/CNB_MIRROR.md) | CNB mirror and China-friendly install notes | +| [TENCENT_CLOUD_REMOTE_FIRST.md](docs/TENCENT_CLOUD_REMOTE_FIRST.md) | Tencent/CNB/Lighthouse/Feishu remote-first path | +| [TENCENT_LIGHTHOUSE_HK.md](docs/TENCENT_LIGHTHOUSE_HK.md) | Lighthouse Hong Kong server setup | | [MEMORY.md](docs/MEMORY.md) | User memory feature guide | | [SUBAGENTS.md](docs/SUBAGENTS.md) | Sub-agent role taxonomy and lifecycle | | [KEYBINDINGS.md](docs/KEYBINDINGS.md) | Full shortcut catalog | diff --git a/README.zh-CN.md b/README.zh-CN.md index 401d0ac9..1c22d4d9 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -29,14 +29,32 @@ brew install deepseek-tui # 覆盖 Linux x64/ARM64、macOS x64/ARM64、Windows x64 # 5. Docker —— 预构建发布镜像。 +docker volume create deepseek-tui-home docker run --rm -it \ - -e DEEPSEEK_API_KEY \ + -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ + -v deepseek-tui-home:/home/deepseek/.deepseek \ -v "$PWD:/workspace" \ + -w /workspace \ ghcr.io/hmbown/deepseek-tui:latest ``` > 中国大陆访问较慢时,npm 可加 `--registry=https://registry.npmmirror.com`, > 或使用下方的 [Cargo 镜像](#中国大陆--镜像友好安装)。 +> +> 下载安全:官方二进制只发布在 +> `https://github.com/Hmbown/DeepSeek-TUI/releases`。手动下载时请校验 +> SHA-256 manifest,并避免相似仓库名或搜索结果里的镜像站。详见 +> [下载安全与校验](docs/INSTALL.md#2-download-safety-and-checksums)。 + +已经安装过?按你的安装方式更新: + +```bash +deepseek update # release 二进制更新器 +npm install -g deepseek-tui@latest # npm 包装器 +brew update && brew upgrade deepseek-tui +cargo install deepseek-tui-cli --locked --force +cargo install deepseek-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) @@ -55,10 +73,12 @@ DeepSeek TUI 是一个完全运行在终端里的编程智能体。它让 DeepSe ### 主要功能 +- **Auto 模式** —— `--model auto` / `/model auto` 每轮自动选择模型和推理强度 - **原生 RLM**(`rlm_open`/`rlm_eval`)—— 持久化 REPL 会话用于批量分析;使用带界面的辅助函数(`peek`、`search`、`chunk`、`sub_query_batch`)运行低成本 `deepseek-v4-flash` 子任务 - **思考模式流式输出** —— 实时观察模型在解决问题时的思维链展开 - **完整工具集** —— 文件操作、shell 执行、git、网页搜索/浏览、apply-patch、子智能体、MCP 服务器 -- **100 万 token 上下文** —— 上下文接近上限时自动智能压缩,支持前缀缓存感知以降低成本 +- **100 万 token 上下文** —— 上下文跟踪、手动或配置驱动的压缩,以及前缀缓存遥测 +- **前缀缓存稳定性跟踪** —— 可选 `/statusline` footer chip 显示最近轮次缓存前缀的稳定程度 - **三种交互模式** —— Plan(只读探索)、Agent(带审批的默认交互)、YOLO(可信工作区自动批准) - **推理强度档位** —— 用 `Shift+Tab` 在 `off → high → max` 之间切换 - **会话保存和恢复** —— 长任务的断点续作 @@ -69,8 +89,10 @@ DeepSeek TUI 是一个完全运行在终端里的编程智能体。它让 DeepSe - **LSP 诊断** —— 每次编辑后通过 rust-analyzer、pyright、typescript-language-server、gopls、clangd 提供内联错误/警告 - **用户记忆** —— 可选的持久化笔记文件注入系统提示,实现跨会话偏好保持 - **多语言 UI** —— 支持 `en`、`ja`、`zh-Hans`、`pt-BR`,支持自动检测 -- **实时成本跟踪** —— 按轮次和会话统计 token 用量与成本估算,含缓存命中/未命中明细 -- **技能系统** —— 可通过 GitHub 安装的组合式指令包,无需后端服务 +- **实时成本跟踪** —— 按轮次和会话统计 token 用量与成本估算,含缓存命中/未命中明细;简体中文 locale 下显示 CNY +- **技能系统** —— 可通过 GitHub 安装的组合式指令包;首次启动自带 `skill-creator`、`mcp-builder`、`documents`、`presentations`、`spreadsheets`、`pdf`、`feishu` 等 starter skills +- **终端原生通知** —— OSC 9、OSC 99、OSC 777,以及桌面通知兜底 +- **内置主题选择器** —— Catppuccin、Tokyo Night、Dracula、Gruvbox 和原有亮/暗色主题,可用 `/theme` 实时切换 --- @@ -171,21 +193,6 @@ deepseek --version 也可以直接从 [GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases) 下载预编译二进制。`DEEPSEEK_TUI_RELEASE_BASE_URL` 可用于镜像后的 release 资产。 -### 自动模式 - -使用 `deepseek --model auto` 或 `/model auto` 让 DeepSeek TUI 自动判断当前轮次需要多少模型能力和推理强度。 - -自动模式同时控制两个设置: - -- 模型:`deepseek-v4-flash` 或 `deepseek-v4-pro` -- 推理:`off`、`high` 或 `max` - -在发送真实请求之前,应用会先用关闭推理的 `deepseek-v4-flash` 发起一次小型路由调用。路由器根据当前请求和上下文选择具体的模型和推理级别。简短/简单的轮次可以保持在 Flash + 关闭推理;编程、调试、发版、架构设计、安全审查或模糊的多步骤任务则可能提升到 Pro 和/或更高级别的推理。 - -`auto` 是 DeepSeek TUI 本地功能。上游 API 永远不会收到 `model: "auto"`;它只会收到当轮选择的具体模型和推理设置。TUI 会显示所选路由,成本跟踪按实际运行的模型计费。如果路由调用失败或返回无效结果,应用会回退到本地启发式策略。子智能体会继承自动模式,除非你为它们指定了具体模型。 - -如需可复现的基准测试、严格的成本上限或特定的 provider/model 映射,请使用固定模型或固定推理级别。 - ### Windows (Scoop) [Scoop](https://scoop.sh) 是一个 Windows 软件包管理器。DeepSeek TUI 已进入 @@ -229,6 +236,18 @@ cargo install --path crates/tui --locked # 提供 `deepseek-tui` deepseek auth set --provider nvidia-nim --api-key "YOUR_NVIDIA_API_KEY" deepseek --provider nvidia-nim +# AtlasCloud +deepseek auth set --provider atlascloud --api-key "YOUR_ATLASCLOUD_API_KEY" +deepseek --provider atlascloud + +# OpenRouter +deepseek auth set --provider openrouter --api-key "YOUR_OPENROUTER_API_KEY" +deepseek --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 + # Fireworks deepseek auth set --provider fireworks --api-key "YOUR_FIREWORKS_API_KEY" deepseek --provider fireworks --model deepseek-v4-pro @@ -248,49 +267,17 @@ ollama pull deepseek-coder:1.3b deepseek --provider ollama --model deepseek-coder:1.3b ``` +在 TUI 内,`/provider` 打开提供方选择器,`/model` 打开模型选择器。 +`/provider openrouter` 和 `/model ` 可直接切换;`/models` 会列出 +API 返回的实时模型。`/model` 选择器会优先使用当前提供方的实时模型 +目录,不可用时再回退到 provider-aware 默认模型列表。 + --- -## v0.8.33 新功能 +## 版本说明 -子智能体和 RLM 改造版本。面向模型的委托界面现在是面向会话的: -`rlm_open` / `rlm_eval` / `rlm_configure` / `rlm_close` 用于持久 -RLM 工作,`agent_open` / `agent_eval` / `agent_close` 用于命名子 -智能体会话,`handle_read` 用于从大型结果中按需读取。修复了六个 -工具细节问题,落地了两个社区 PR,侧边栏合并为更清晰的"Work"标签。 -[完整更新日志](CHANGELOG.md)。 - -- **持久化 RLM 会话。** RLM 工作现在通过 `rlm_open` / `rlm_eval` / - `rlm_close` 进行,使用受限的 REPL 辅助函数(`peek`、`search`、 - `chunk`、`sub_query`、`sub_query_batch`、`finalize`)—— - 模型通过工具调用来驱动 REPL,而非前台循环。 -- **Fork 感知的子智能体会话。** `agent_open` 支持命名会话、 - `fork_context` 以实现前缀缓存友好的多视角展开,以及有界的递归 - 深度。子智能体结果和对话记录可以通过 `var_handle` 引用暂存。 -- **共享 `handle_read` 工具。** 大型结构化结果(RLM 最终输出、 - 子智能体对话记录、工具产物)返回带类型的句柄,支持切片、 - 范围、计数和 JSONPath 投影——模型只读取需要的内容。 -- **流式输出期间文本选择正常工作。** 加载状态的鼠标过滤器丢弃 - 无关移动事件,但允许对话记录和滚动条拖动继续—— - v0.8.32 的已知问题已解决。 -- **主题预设。** 使用 `/theme` 打开实时预览选择器,或通过 - `/theme grayscale`、`/theme catppuccin-mocha`、`/theme tokyo-night`、 - `/theme dracula`、`/theme gruvbox-dark` 直接保存主题。 -- **会话历史选择器。** `/sessions` 和 `Ctrl+R` 现在左侧显示完整 - 会话历史,右侧显示会话列表;按 `1`-`9` 打开可见会话历史, - `PgUp` / `PgDn` 翻页查看历史。 -- **六个工具细节修复。** `file_search` 更安全的默认排除项; - `grep_files` 返回干净的字符串;`fetch_url` JSON 字段投影和 - 响应头;`edit_file` 缩进模糊匹配;`exec_shell` 合并 - stdout/stderr;`revert_turn` 拒绝空操作。 -- **CLI 推理强度参数在非 auto 执行路径上生效**(PR #1511, - 来自 **@h3c-hexin**)。`deepseek -p "..." --reasoning-effort high` - 现在正确应用该标志。 -- **侧边栏 "Work" 标签。** 原先的 "Plan" / "Todos" 标签现在合并为 - 一个 "Work" 面板,在 Plan、Agent、YOLO 三种模式下保持一致。 -- **`/relay` 命令及中文别名**(`/接力`)——用于结构化的跨会话 - 接力提示。 - -感谢 **@reidliu41** 和 **@h3c-hexin** 在本版本中的社区贡献。 +每个版本的具体变更见 [CHANGELOG.md](CHANGELOG.md)。README 只保留当前 +安装方式、核心工作流、模型提供方配置、运行时接口和扩展入口。 --- @@ -302,6 +289,7 @@ deepseek "explain this function" # 一次性提示 deepseek exec --auto --output-format stream-json "fix this bug" # 面向后端集成的 NDJSON 流 deepseek exec --resume "follow up" # 继续非交互会话 deepseek --model deepseek-v4-flash "summarize" # 指定模型 +deepseek --model auto "fix this bug" # 自动选择模型 + 推理强度 deepseek --yolo # 自动批准工具 deepseek auth set --provider deepseek # 保存 API key deepseek doctor # 检查配置和连接 @@ -314,6 +302,7 @@ deepseek resume --last # 恢复最近会话 deepseek resume # 按 UUID 恢复指定会话 deepseek fork # 在指定轮次分叉会话 deepseek serve --http # HTTP/SSE API 服务 +deepseek serve --acp # Zed/自定义智能体的 ACP stdio 适配器 deepseek run pr # 获取 PR 并预填审查提示 deepseek mcp list # 列出已配置 MCP 服务器 deepseek mcp validate # 校验 MCP 配置和连接 @@ -329,9 +318,13 @@ docker volume create deepseek-tui-home docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v deepseek-tui-home:/home/deepseek/.deepseek \ + -v "$PWD:/workspace" \ + -w /workspace \ ghcr.io/hmbown/deepseek-tui:latest ``` +固定 tag、本地构建、volume 权限和非交互管道用法见 [docs/DOCKER.md](docs/DOCKER.md)。 + ### Zed / ACP DeepSeek 可作为自定义 Agent Client Protocol 服务器运行,供 Zed 等编辑器通过 stdio 调用本地 ACP 智能体。在 Zed 中添加自定义智能体服务器: @@ -368,25 +361,6 @@ DeepSeek 可作为自定义 Agent Client Protocol 服务器运行,供 Zed 等 完整快捷键目录:[docs/KEYBINDINGS.md](docs/KEYBINDINGS.md)。 -### Zed / ACP - -DeepSeek 可以作为自定义 Agent Client Protocol 服务器运行,供通过 stdio 生成本地 ACP 智能体的编辑器使用。在 Zed 中,添加自定义智能体服务器: - -```json -{ - "agent_servers": { - "DeepSeek": { - "type": "custom", - "command": "deepseek", - "args": ["serve", "--acp"], - "env": {} - } - } -} -``` - -首个 ACP 协议片支持通过现有 DeepSeek 配置/API Key 创建新会话和响应提示。基于工具的编辑和检查点回放尚未通过 ACP 暴露。 - --- ## 模式 @@ -409,14 +383,23 @@ DeepSeek 可以作为自定义 Agent Client Protocol 服务器运行,供通过 |---|---| | `DEEPSEEK_API_KEY` | DeepSeek API key | | `DEEPSEEK_BASE_URL` | API base URL | +| `DEEPSEEK_HTTP_HEADERS` | 可选模型请求头,例如 `X-Model-Provider-Id=your-model-provider` | | `DEEPSEEK_MODEL` | 默认模型 | +| `DEEPSEEK_STREAM_IDLE_TIMEOUT_SECS` | 流式响应空闲超时秒数,默认 `300`,限制在 `1..=3600` | | `DEEPSEEK_PROVIDER` | `deepseek`(默认)、`nvidia-nim`、`openai`、`openrouter`、`novita`、`atlascloud`、`fireworks`、`sglang`、`vllm`、`ollama` | | `DEEPSEEK_PROFILE` | 配置 profile 名称 | | `DEEPSEEK_MEMORY` | 设为 `on` 启用用户记忆 | +| `DEEPSEEK_ALLOW_INSECURE_HTTP=1` | 在可信网络上允许非本机 `http://` API base URL | | `NVIDIA_API_KEY` / `OPENAI_API_KEY` / `OPENROUTER_API_KEY` / `NOVITA_API_KEY` / `ATLASCLOUD_API_KEY` / `FIREWORKS_API_KEY` / `SGLANG_API_KEY` / `VLLM_API_KEY` / `OLLAMA_API_KEY` | 提供商认证 | | `OPENAI_BASE_URL` / `OPENAI_MODEL` | 通用 OpenAI 兼容端点和模型 ID | +| `ATLASCLOUD_BASE_URL` / `ATLASCLOUD_MODEL` | AtlasCloud 端点和模型覆盖 | +| `OPENROUTER_BASE_URL` | OpenRouter 端点覆盖 | +| `NOVITA_BASE_URL` | Novita 端点覆盖 | +| `FIREWORKS_BASE_URL` | Fireworks 端点覆盖 | | `SGLANG_BASE_URL` | 自托管 SGLang 端点 | +| `SGLANG_MODEL` | 自托管 SGLang 模型 ID | | `VLLM_BASE_URL` | 自托管 vLLM 端点 | +| `VLLM_MODEL` | 自托管 vLLM 模型 ID | | `OLLAMA_BASE_URL` | 自托管 Ollama 端点 | | `OLLAMA_MODEL` | 自托管 Ollama 模型标签 | | `NO_ANIMATIONS=1` | 启动时强制无障碍模式 | @@ -500,6 +483,10 @@ description: 当 DeepSeek 需要遵循我的自定义工作流时使用这个技 | [MCP.md](docs/MCP.md) | Model Context Protocol 集成 | | [RUNTIME_API.md](docs/RUNTIME_API.md) | HTTP/SSE API 服务 | | [INSTALL.md](docs/INSTALL.md) | 各平台安装指南 | +| [DOCKER.md](docs/DOCKER.md) | GHCR 镜像、volume 和 Docker 用法 | +| [CNB_MIRROR.md](docs/CNB_MIRROR.md) | CNB 镜像和中国大陆友好安装说明 | +| [TENCENT_CLOUD_REMOTE_FIRST.md](docs/TENCENT_CLOUD_REMOTE_FIRST.md) | 腾讯云/CNB/Lighthouse/飞书远程优先路径 | +| [TENCENT_LIGHTHOUSE_HK.md](docs/TENCENT_LIGHTHOUSE_HK.md) | 腾讯云 Lighthouse 香港实例配置 | | [MEMORY.md](docs/MEMORY.md) | 用户记忆功能指南 | | [SUBAGENTS.md](docs/SUBAGENTS.md) | 子智能体角色分类与生命周期 | | [KEYBINDINGS.md](docs/KEYBINDINGS.md) | 完整快捷键目录 | diff --git a/crates/tui/CHANGELOG.md b/crates/tui/CHANGELOG.md index 1227038e..6bfbc5af 100644 --- a/crates/tui/CHANGELOG.md +++ b/crates/tui/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Update guidance is clearer on the website.** The homepage and install page now surface `deepseek update` while keeping package-manager update paths visible for Homebrew, npm, and Cargo installs. +- **README setup docs are current again.** The English, Simplified Chinese, + and Japanese READMEs now use the current Docker volume/workspace invocation, + document update paths, list the current provider/model switching surface, and + send release-specific feature notes back to the changelog. ### Fixed diff --git a/docs/DOCKER.md b/docs/DOCKER.md index ab5ae4de..b2fbd82f 100644 --- a/docs/DOCKER.md +++ b/docs/DOCKER.md @@ -17,6 +17,8 @@ docker volume create deepseek-tui-home docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v deepseek-tui-home:/home/deepseek/.deepseek \ + -v "$PWD:/workspace" \ + -w /workspace \ ghcr.io/hmbown/deepseek-tui:latest ``` @@ -26,9 +28,14 @@ Use a pinned release tag for reproducible installs: docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v deepseek-tui-home:/home/deepseek/.deepseek \ - ghcr.io/hmbown/deepseek-tui:v0.8.20 + -v "$PWD:/workspace" \ + -w /workspace \ + ghcr.io/hmbown/deepseek-tui:vX.Y.Z ``` +Replace `vX.Y.Z` with a tag from +[GitHub Releases](https://github.com/Hmbown/DeepSeek-TUI/releases). + ## Local build Build the image locally from a checkout: @@ -43,6 +50,8 @@ Then run it with the same Docker-managed data volume: docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v deepseek-tui-home:/home/deepseek/.deepseek \ + -v "$PWD:/workspace" \ + -w /workspace \ deepseek-tui ```