docs(readme): refresh contributor count and acknowledgements
- MIN_KNOWN_CONTRIBUTORS: 91 → 98 (live GitHub count) - page.tsx fallback: 91 → 98 - README Thanks section: add 30+ previously unlisted contributors whose PRs were merged since April 2026 - Sync contributor list across all three translations (en, zh-CN, ja-JP)
This commit is contained in:
+62
-2
@@ -5,6 +5,8 @@
|
||||
[English README](README.md)
|
||||
[简体中文 README](README.zh-CN.md)
|
||||
|
||||
[インストール](#インストール) · [クイックスタート](#クイックスタート) · [ドキュメント](#ドキュメント) · [コントリビューション](#コントリビューション) · [サポート](#サポート)
|
||||
|
||||
## インストール
|
||||
|
||||
`codewhale` は自己完結型の Rust バイナリとして提供されており、**実行に Node.js や Python のランタイムは必要ありません。** すでにマシンにインストールされているものを選んでください。いずれの方法でも同じバイナリが `PATH` に配置されます。
|
||||
@@ -52,10 +54,9 @@ cargo install codewhale-tui --locked --force
|
||||
[](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml)
|
||||
[](https://www.npmjs.com/package/codewhale)
|
||||
[](https://crates.io/crates/codewhale-cli)
|
||||
[](https://github.com/sponsors/Hmbown)
|
||||
[](https://deepwiki.com/Hmbown/CodeWhale)
|
||||
|
||||
<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>
|
||||
|
||||

|
||||
|
||||
---
|
||||
@@ -395,6 +396,18 @@ description: DeepSeek にカスタムワークフローを実行させたいと
|
||||
|
||||
---
|
||||
|
||||
## サポート
|
||||
|
||||
CodeWhale は MIT ライセンスで、利用やコントリビューションにスポンサーは必要ありません。
|
||||
継続的なメンテナンスを支援する最も分かりやすい方法は
|
||||
[GitHub Sponsors](https://github.com/sponsors/Hmbown) です。単発の支援は
|
||||
[Buy Me a Coffee](https://www.buymeacoffee.com/hmbown) からも行えます。
|
||||
|
||||
スポンサーは、リリースビルド、CI/ランタイムテスト、パッケージ公開、issue 対応とレビューに使うメンテナー時間を支えます。
|
||||
機能リクエスト、バグ報告、pull request にスポンサーは必要ありません。
|
||||
|
||||
---
|
||||
|
||||
## 謝辞
|
||||
|
||||
このプロジェクトは、増え続けるコントリビューターのコミュニティから助けを得て出荷されています:
|
||||
@@ -417,6 +430,53 @@ description: DeepSeek にカスタムワークフローを実行させたいと
|
||||
- **Hafeez Pizofreude** — `fetch_url` の SSRF 保護と Star History チャート
|
||||
- **Unic (YuniqueUnic)** — スキーマ駆動の設定 UI(TUI + Web)
|
||||
- **Jason** — SSRF セキュリティの強化
|
||||
- **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — モデル ID の大文字小文字互換性レポート (#729)
|
||||
- **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** — `working...` 状態のバグレポート、Windows クリップボードフォールバック、MCP Streamable HTTP セッション修正、Homebrew tap 自動化 (#738, #850, #1643, #1631)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — 再開ヒント、ワークスペース信頼の永続化、Ollama プロバイダー対応、thinking-block ストリームの最終処理、CI キャッシュ強化、ストリーミングラップ、DeepSeek モデル補完、ヘルプ選択の改善 (#863, #870, #921, #1078, #1603, #1628, #1601, #1964)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — Unicode `git_status` パス、ローカル/設定スキル検出、モード切替トーストの重複防止 (#1953, #1956, #1957)
|
||||
- **[xieshutao](https://github.com/xieshutao)** — プレーン Markdown スキルのフォールバック (#869)
|
||||
- **[GK012](https://github.com/GK012)** — npm ラッパー `--version` フォールバック (#885)
|
||||
- **[y0sif](https://github.com/y0sif)** — 直接子サブエージェント完了後の親ターンループ復帰 (#901)
|
||||
- **[mac119](https://github.com/mac119)** と **[leo119](https://github.com/leo119)** — `codewhale update` コマンドのドキュメント (#838, #917)
|
||||
- **[dumbjack](https://github.com/dumbjack)** — コマンド安全性の null バイト強化 (#706, #918)
|
||||
- **macworkers** — フォーク確認と新しいセッション ID (#600, #919)
|
||||
- **zero** と **[zerx-lab](https://github.com/zerx-lab)** — 通知条件設定と OSC 9 通知本文の拡充 (#820, #920)
|
||||
- **[chnjames](https://github.com/chnjames)** — @mention 補完キャッシュ、設定リカバリ改善、Windows UTF-8 シェル出力 (#849, #927, #982, #1018)
|
||||
- **[angziii](https://github.com/angziii)** — 設定安全性、非同期クリーンアップ、Docker 強化、コマンド安全性修正 (#822, #824, #827, #831, #833, #835, #837)
|
||||
- **[elowen53](https://github.com/elowen53)** — UTF-8 デコードと決定論的テストカバレッジ (#825, #840)
|
||||
- **[wdw8276](https://github.com/wdw8276)** — カスタムセッションタイトルの `/rename` コマンド (#836)
|
||||
- **[banqii](https://github.com/banqii)** — `.cursor/skills` 検出パス対応 (#817)
|
||||
- **[junskyeed](https://github.com/junskyeed)** — API リクエストの動的 `max_tokens` 計算 (#826)
|
||||
- **[axobase001](https://github.com/axobase001)** — スナップショット孤児クリーンアップ、npm インストールガード、セッションテレメトリ修正、モデルスコープキャッシュクリア、シンボリックリンクスキル対応、npm ミラー迂回ガイダンス、子タスクのプロキシ保持 (#975, #1032, #1047, #1049, #1052, #1019, #1051, #1056, #1608)
|
||||
- **[MengZ-super](https://github.com/MengZ-super)** — `/theme` コマンド基盤と SSE gzip/brotli 展開 (#1057, #1061)
|
||||
- **[DI-HUO-MING-YI](https://github.com/DI-HUO-MING-YI)** — Plan モードの読み取り専用サンドボックス安全性修正 (#1077)
|
||||
- **[bevis-wong](https://github.com/bevis-wong)** — ペースト Enter 自動送信の正確な再現 (#1073)
|
||||
- **[Duducoco](https://github.com/Duducoco)** と **[AlphaGogoo](https://github.com/AlphaGogoo)** — スキルスラッシュメニューと `/skills` 範囲修正 (#1068, #1083)
|
||||
- **[ArronAI007](https://github.com/ArronAI007)** — macOS Terminal.app と ConHost のウィンドウリサイズアーティファクト修正 (#993)
|
||||
- **[THINKER-ONLY](https://github.com/THINKER-ONLY)** — OpenRouter とカスタムエンドポイントのモデル ID 保持 (#1066)
|
||||
- **[Jefsky](https://github.com/Jefsky)** — DeepSeek エンドポイント修正レポート (#1079, #1084)
|
||||
- **[wlon](https://github.com/wlon)** — NVIDIA NIM プロバイダー API キー優先度診断 (#1081)
|
||||
- **[Horace Liu](https://github.com/liuhq)** — Nix パッケージ対応とインストールドキュメント (#1173)
|
||||
- **[jieshu666](https://github.com/jieshu666)** — ターミナル再描画のちらつき軽減 (#1563)
|
||||
- **[gordonlu](https://github.com/gordonlu)** — Windows Enter / CSI-u 入力修正 (#1612)
|
||||
- **[mdrkrg](https://github.com/mdrkrg)** — 初回起動時の API キー欠落クラッシュ修正 (#1598)
|
||||
- **[Aitensa](https://github.com/Aitensa)** — diff とページャー出力の CJK 折り返し対応 (#1622)
|
||||
- **[qiyan233](https://github.com/qiyan233)** — レガシー DeepSeek CN プロバイダーエイリアス互換性 (#1645)
|
||||
- **[zlh124](https://github.com/zlh124)** — WSL2/ヘッドレス起動レポートとクリップボード初期化修正 (#1772, #1773)
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen ログ、Home/End コンポーザー、ランタイムログフォローアップ (#1774, #1776, #1748, #1749, #1782, #1783)
|
||||
- **[LeoLin990405](https://github.com/LeoLin990405)** — プロバイダーモデル透過、推論リプレイ、thinking-only ターン、Windows 引用修正 (#1740, #1743, #1742, #1744)
|
||||
- **[nightt5879](https://github.com/nightt5879)** — Ctrl+C プロンプト復元修正 (#1764)
|
||||
- **[h3c-hexin](https://github.com/h3c-hexin)** — ストリーミングバッチツール呼び出し保存と CLI reasoning-effort 透過 (#1686, #1511)
|
||||
- **[hxy91819](https://github.com/hxy91819)** — ツール結果整理時のプレフィックスキャッシュ保持 (#1514)
|
||||
- **[JiarenWang](https://github.com/JiarenWang)** — Plan モード読み取り専用強制、承認引継ぎ最適化、Ctrl+H 削除修正、undo コンテキスト同期 (#1123, #962, #958, #1150)
|
||||
- **[Liu-Vince](https://github.com/Liu-Vince)** — MCP ページネーション、マークダウンインデント保持、zh-Hans i18n 改善、環境変数ドキュメント (#1256, #1179, #1274, #1178)
|
||||
- **[ChaceLyee2101](https://github.com/ChaceLyee2101)** — 推論トークンコスト集計と zh-Hans 自動 CNY 表示 (#1505, #1504)
|
||||
- **[laoye2020](https://github.com/laoye2020)** — Catppuccin、Tokyo Night、Dracula、Gruvbox テーマと `/theme` ピッカー (#1534)
|
||||
- **[punkcanyang](https://github.com/punkcanyang)** — Kitty (OSC 99) と Ghostty (OSC 777) デスクトップ通知対応 (#1426)
|
||||
- **[Rene-Kuhm](https://github.com/Rene-Kuhm)** — スペイン語 (es-419) ラテンアメリカローカライズ (#1452)
|
||||
- **[ComeFromTheMars](https://github.com/ComeFromTheMars)** — Shift+Up/Down トランスクリプトスクロールショートカット (#1432)
|
||||
- **[sockerch](https://github.com/sockerch)** — 全スラッシュコマンドの拼音エイリアス (#1306)
|
||||
- **[eltociear](https://github.com/eltociear)** — 日本語 README 翻訳 (#746)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
[简体中文 README](README.zh-CN.md)
|
||||
[日本語 README](README.ja-JP.md)
|
||||
|
||||
[Install](#install) · [Quickstart](#quickstart) · [Usage](#usage) · [Documentation](#documentation) · [Contributing](#contributing) · [Support](#support)
|
||||
|
||||
## Install
|
||||
|
||||
`codewhale` is distributed as Rust binaries: the dispatcher command
|
||||
@@ -64,6 +66,7 @@ cargo install codewhale-tui --locked --force
|
||||
[](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml)
|
||||
[](https://www.npmjs.com/package/codewhale)
|
||||
[](https://crates.io/crates/codewhale-cli)
|
||||
[](https://github.com/sponsors/Hmbown)
|
||||
[DeepWiki project index](https://deepwiki.com/Hmbown/CodeWhale)
|
||||
|
||||

|
||||
@@ -535,6 +538,19 @@ Full Changelog: [CHANGELOG.md](CHANGELOG.md).
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
||||
CodeWhale is MIT-licensed and usable without sponsorship. If it saves you time,
|
||||
the clearest way to support ongoing maintenance is
|
||||
[GitHub Sponsors](https://github.com/sponsors/Hmbown). One-time support is also
|
||||
available through [Buy Me a Coffee](https://www.buymeacoffee.com/hmbown).
|
||||
|
||||
Sponsorship helps cover release builds, CI/runtime testing, package publishing,
|
||||
and maintainer time for issue triage and review. Feature requests, bug reports,
|
||||
and pull requests do not require sponsorship.
|
||||
|
||||
---
|
||||
|
||||
## Thanks
|
||||
|
||||
- **[DeepSeek](https://github.com/deepseek-ai)** — thank you for the models and support that power every turn. 感谢 DeepSeek 提供模型与支持,让每一次交互成为可能。
|
||||
@@ -598,6 +614,36 @@ This project ships with help from a growing community of contributors:
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen logging, Home/End composer, and runtime log follow-ups (#1774, #1776, #1748, #1749, #1782, #1783)
|
||||
- **[LeoLin990405](https://github.com/LeoLin990405)** — provider model passthrough, reasoning replay, thinking-only turn, and Windows quoting fixes (#1740, #1743, #1742, #1744)
|
||||
- **[nightt5879](https://github.com/nightt5879)** — Ctrl+C prompt restore fix (#1764)
|
||||
- **[h3c-hexin](https://github.com/h3c-hexin)** — streaming batch tool-call preservation and CLI reasoning-effort passthrough (#1686, #1511)
|
||||
- **[hxy91819](https://github.com/hxy91819)** — prefix-cache preservation during tool-result pruning (#1514)
|
||||
- **[JiarenWang](https://github.com/JiarenWang)** — Plan-mode read-only enforcement, approval-takeover clamping, Ctrl+H delete fix, and undo context sync (#1123, #962, #958, #1150)
|
||||
- **[Liu-Vince](https://github.com/Liu-Vince)** — MCP pagination, markdown indentation preservation, zh-Hans i18n polish, and env-var documentation (#1256, #1179, #1274, #1178)
|
||||
- **[linzhiqin2003](https://github.com/linzhiqin2003)** — `--model auto` cost-saving bias, execution-discipline prompts, and declarative-fact memory hygiene (#1385, #1384, #1381)
|
||||
- **[lbcheng888](https://github.com/lbcheng888)** — cost persistence across save/restore and transcript scroll fix (#1192, #1211)
|
||||
- **[pengyou200902](https://github.com/pengyou200902)** — UTF-8-safe memory truncation, truncation-marker precision, and keybinding docs (#968, #1122, #1095)
|
||||
- **[ChaceLyee2101](https://github.com/ChaceLyee2101)** — reasoning-token cost tracking with auto-CNY on zh-Hans and zh-CN README sync (#1505, #1504)
|
||||
- **[CrepuscularIRIS](https://github.com/CrepuscularIRIS)** — low-motion mode for Termius/SSH and npx MCP server sandbox fix (#1479, #1346)
|
||||
- **[laoye2020](https://github.com/laoye2020)** — Catppuccin, Tokyo Night, Dracula, and Gruvbox themes with `/theme` picker (#1534)
|
||||
- **[punkcanyang](https://github.com/punkcanyang)** — Kitty (OSC 99) and Ghostty (OSC 777) desktop notification support (#1426)
|
||||
- **[Rene-Kuhm](https://github.com/Rene-Kuhm)** — Spanish (es-419) Latin American localization (#1452)
|
||||
- **[sternelee](https://github.com/sternelee)** — DeepSeek prefix-cache stability tracking (#1517)
|
||||
- **[ComeFromTheMars](https://github.com/ComeFromTheMars)** — Shift+Up/Down transcript scroll shortcuts (#1432)
|
||||
- **[sockerch](https://github.com/sockerch)** — pinyin aliases for all slash commands (#1306)
|
||||
- **[Apeiron0w0](https://github.com/Apeiron0w0)** — FocusGained debounce for Tabby terminal flicker loop (#1560)
|
||||
- **[greyfreedom](https://github.com/greyfreedom)** — jump-to-latest-transcript button (#969)
|
||||
- **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — explicit hidden-file mention completion (#1270)
|
||||
- **[dst1213](https://github.com/dst1213)** — quota-error HTTP 400 retry (#1203)
|
||||
- **[fuleinist](https://github.com/fuleinist)** — `--yolo` flag forwarding from CLI to TUI (#1233)
|
||||
- **[heloanc](https://github.com/heloanc)** — Home/End key composer support (#1246)
|
||||
- **[jinpengxuan](https://github.com/jinpengxuan)** — active provider credential preservation during onboarding (#1265)
|
||||
- **[lixiasky-back](https://github.com/lixiasky-back)** — verified npm binary adoption (#1339)
|
||||
- **[J3y0r](https://github.com/J3y0r)** — workspace-switch command (#1065)
|
||||
- **[KhalidAlnujaidi](https://github.com/KhalidAlnujaidi)** — delegate skill bundling (#1144)
|
||||
- **[Wenjunyun123](https://github.com/Wenjunyun123)** — docs anchor-offset preservation (#1282)
|
||||
- **[whtis](https://github.com/whtis)** — zh-CN README dispatcher-path sync (#1235)
|
||||
- **[aqilaziz](https://github.com/aqilaziz)** — memory skill-link fix (#1095)
|
||||
- **[wuwuzhijing](https://github.com/wuwuzhijing)** — rsproxy rustup workaround install docs (#1011)
|
||||
- **[eltociear](https://github.com/eltociear)** — Japanese README translation (#746)
|
||||
|
||||
---
|
||||
|
||||
@@ -605,8 +651,6 @@ This project ships with help from a growing community of contributors:
|
||||
|
||||
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).
|
||||
|
||||
> [!Note]
|
||||
> *Not affiliated with DeepSeek Inc.*
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
[English README](README.md)
|
||||
[日本語 README](README.ja-JP.md)
|
||||
|
||||
[安装](#安装) · [快速开始](#快速开始) · [使用方式](#使用方式) · [文档](#文档) · [贡献](#贡献) · [支持](#支持)
|
||||
|
||||
## 安装
|
||||
|
||||
`codewhale` 是自包含 Rust 二进制——**运行时不依赖 Node.js 或 Python**。
|
||||
@@ -59,6 +61,7 @@ cargo install codewhale-tui --locked --force
|
||||
[](https://github.com/Hmbown/CodeWhale/actions/workflows/ci.yml)
|
||||
[](https://www.npmjs.com/package/codewhale)
|
||||
[](https://crates.io/crates/codewhale-cli)
|
||||
[](https://github.com/sponsors/Hmbown)
|
||||
[DeepWiki project index](https://deepwiki.com/Hmbown/CodeWhale)
|
||||
|
||||

|
||||
@@ -505,6 +508,17 @@ description: 当 DeepSeek 需要遵循我的自定义工作流时使用这个技
|
||||
|
||||
---
|
||||
|
||||
## 支持
|
||||
|
||||
CodeWhale 采用 MIT 许可证,使用和参与贡献都不需要赞助。如果它帮你节省了时间,
|
||||
最直接的长期支持方式是 [GitHub Sponsors](https://github.com/sponsors/Hmbown)。
|
||||
一次性支持也可以通过 [Buy Me a Coffee](https://www.buymeacoffee.com/hmbown) 完成。
|
||||
|
||||
赞助会用于发布构建、CI/运行时测试、包发布,以及维护者处理 issue 和 review 的时间。
|
||||
功能请求、Bug 报告和 pull request 不需要赞助。
|
||||
|
||||
---
|
||||
|
||||
## 致谢
|
||||
|
||||
- **[DeepSeek](https://github.com/deepseek-ai)** — 感谢 DeepSeek 提供模型与支持,让每一次交互成为可能。
|
||||
@@ -558,6 +572,46 @@ description: 当 DeepSeek 需要遵循我的自定义工作流时使用这个技
|
||||
- **[THINKER-ONLY](https://github.com/THINKER-ONLY)** — OpenRouter 和自定义端点模型 ID 保留 (#1066)
|
||||
- **[Jefsky](https://github.com/Jefsky)** — `deepseek-cn` 官方端点默认值 (#1079, #1084)
|
||||
- **[wlon](https://github.com/wlon)** — NVIDIA NIM provider API key 优先级诊断 (#1081)
|
||||
- **[Horace Liu](https://github.com/liuhq)** — Nix 包支持和安装文档 (#1173)
|
||||
- **[jieshu666](https://github.com/jieshu666)** — 终端重绘闪烁修复 (#1563)
|
||||
- **[gordonlu](https://github.com/gordonlu)** — Windows Enter / CSI-u 输入修复 (#1612)
|
||||
- **[mdrkrg](https://github.com/mdrkrg)** — 首次运行 API key 缺失时的启动崩溃修复 (#1598)
|
||||
- **[Aitensa](https://github.com/Aitensa)** — diff 和 pager 输出的 CJK 换行支持 (#1622)
|
||||
- **[qiyan233](https://github.com/qiyan233)** — 遗留 DeepSeek CN provider 别名兼容 (#1645)
|
||||
- **[zlh124](https://github.com/zlh124)** — WSL2/headless 启动报告和剪贴板初始化修复 (#1772, #1773)
|
||||
- **[aboimpinto](https://github.com/aboimpinto)** — Windows alt-screen 日志、Home/End 编辑器,以及运行时日志跟进 (#1774, #1776, #1748, #1749, #1782, #1783)
|
||||
- **[LeoLin990405](https://github.com/LeoLin990405)** — provider 模型透传、reasoning 重放、thinking-only turn 和 Windows 引用修复 (#1740, #1743, #1742, #1744)
|
||||
- **[nightt5879](https://github.com/nightt5879)** — Ctrl+C 提示恢复修复 (#1764)
|
||||
- **[h3c-hexin](https://github.com/h3c-hexin)** — 流式批量工具调用保留和 CLI reasoning-effort 透传 (#1686, #1511)
|
||||
- **[hxy91819](https://github.com/hxy91819)** — 工具结果裁剪时的前缀缓存保留 (#1514)
|
||||
- **[JiarenWang](https://github.com/JiarenWang)** — Plan 模式只读执行、审批接管优化、Ctrl+H 删除修复和 undo 上下文同步 (#1123, #962, #958, #1150)
|
||||
- **[Liu-Vince](https://github.com/Liu-Vince)** — MCP 分页、markdown 缩进保留、zh-Hans i18n 优化和环境变量文档 (#1256, #1179, #1274, #1178)
|
||||
- **[linzhiqin2003](https://github.com/linzhiqin2003)** — `--model auto` 成本节约偏好、执行纪律提示和声明式事实记忆指导 (#1385, #1384, #1381)
|
||||
- **[lbcheng888](https://github.com/lbcheng888)** — 跨保存/恢复的成本持久化和对话滚动修复 (#1192, #1211)
|
||||
- **[pengyou200902](https://github.com/pengyou200902)** — UTF-8 安全记忆截断、截断标记精确化和快捷键文档 (#968, #1122, #1095)
|
||||
- **[ChaceLyee2101](https://github.com/ChaceLyee2101)** — 推理 token 成本统计和 zh-Hans 自动 CNY 显示,以及 zh-CN README 同步 (#1505, #1504)
|
||||
- **[CrepuscularIRIS](https://github.com/CrepuscularIRIS)** — Termius/SSH 低动画模式和 npx MCP 服务器沙箱修复 (#1479, #1346)
|
||||
- **[laoye2020](https://github.com/laoye2020)** — Catppuccin、Tokyo Night、Dracula 和 Gruvbox 主题及 `/theme` 选择器 (#1534)
|
||||
- **[punkcanyang](https://github.com/punkcanyang)** — Kitty (OSC 99) 和 Ghostty (OSC 777) 桌面通知支持 (#1426)
|
||||
- **[Rene-Kuhm](https://github.com/Rene-Kuhm)** — 西班牙语(es-419)拉丁美洲本地化 (#1452)
|
||||
- **[sternelee](https://github.com/sternelee)** — DeepSeek 前缀缓存稳定性追踪 (#1517)
|
||||
- **[ComeFromTheMars](https://github.com/ComeFromTheMars)** — Shift+Up/Down 对话滚动快捷键 (#1432)
|
||||
- **[sockerch](https://github.com/sockerch)** — 所有斜杠命令的拼音别名 (#1306)
|
||||
- **[Apeiron0w0](https://github.com/Apeiron0w0)** — Tabby 终端闪烁循环的 FocusGained 去抖动 (#1560)
|
||||
- **[greyfreedom](https://github.com/greyfreedom)** — 跳转到最新对话按钮 (#969)
|
||||
- **[SamhandsomeLee](https://github.com/SamhandsomeLee)** — 显式隐藏文件提及补全 (#1270)
|
||||
- **[dst1213](https://github.com/dst1213)** — 配额错误 HTTP 400 重试 (#1203)
|
||||
- **[fuleinist](https://github.com/fuleinist)** — `--yolo` 标志从 CLI 转发到 TUI (#1233)
|
||||
- **[heloanc](https://github.com/heloanc)** — Home/End 键编辑器支持 (#1246)
|
||||
- **[jinpengxuan](https://github.com/jinpengxuan)** — 入职期间活动 provider 凭据保留 (#1265)
|
||||
- **[lixiasky-back](https://github.com/lixiasky-back)** — 已验证 npm 二进制采用 (#1339)
|
||||
- **[J3y0r](https://github.com/J3y0r)** — 工作区切换命令 (#1065)
|
||||
- **[KhalidAlnujaidi](https://github.com/KhalidAlnujaidi)** — delegate 技能打包 (#1144)
|
||||
- **[Wenjunyun123](https://github.com/Wenjunyun123)** — 文档锚点偏移保留 (#1282)
|
||||
- **[whtis](https://github.com/whtis)** — zh-CN README 调度程序路径同步 (#1235)
|
||||
- **[aqilaziz](https://github.com/aqilaziz)** — memory 技能链接修复 (#1095)
|
||||
- **[wuwuzhijing](https://github.com/wuwuzhijing)** — rsproxy rustup 变通安装文档 (#1011)
|
||||
- **[eltociear](https://github.com/eltociear)** — 日语 README 翻译 (#746)
|
||||
|
||||
---
|
||||
|
||||
|
||||
+176
-81
@@ -8,7 +8,6 @@ import { FeedCard } from "@/components/feed-card";
|
||||
import { Seal } from "@/components/seal";
|
||||
import { MermaidDiagram } from "@/components/mermaid-diagram";
|
||||
import type { CuratedDispatch, FeedItem, RepoStats } from "@/lib/types";
|
||||
import { GITEE_ENABLED } from "@/lib/i18n/config";
|
||||
|
||||
export const revalidate = 1800;
|
||||
|
||||
@@ -17,18 +16,18 @@ const FALLBACK_STATS: RepoStats = {
|
||||
forks: 0,
|
||||
openIssues: 0,
|
||||
openPulls: 0,
|
||||
contributors: 91,
|
||||
contributors: 98,
|
||||
fetchedAt: new Date().toISOString(),
|
||||
};
|
||||
|
||||
const FALLBACK_DISPATCH_EN: CuratedDispatch = {
|
||||
generatedAt: new Date().toISOString(),
|
||||
headline: "A small, focused terminal agent — quietly shipping",
|
||||
headline: "CodeWhale — the terminal coding agent for open models",
|
||||
summary:
|
||||
"DeepSeek TUI is an open-source coding agent that runs in your terminal, talks to the DeepSeek V4 family, and behaves itself around your filesystem. The dispatch below is regenerated by DeepSeek V4-Flash on a six-hour cron — you'll see actual repo movement here once the cron runs.",
|
||||
"CodeWhale runs in your terminal, talks to DeepSeek V4 and other open-weight models through any provider, and respects your filesystem. The dispatch below is regenerated by DeepSeek V4-Flash on a six-hour cron — you'll see real repo activity here once the cron runs.",
|
||||
highlights: [
|
||||
{ title: "Read the install guide", href: "/install", tag: "shipped", blurb: "Per-OS instructions for Cargo, npm, the Homebrew tap, and release binaries." },
|
||||
{ title: "Browse open issues", href: "https://github.com/Hmbown/deepseek-tui/issues", tag: "opened", blurb: "Triaged on GitHub — start with anything labelled 'good first issue'." },
|
||||
{ title: "Read the install guide", href: "/install", tag: "shipped", blurb: "npm, Cargo, Homebrew, direct download — pick your path." },
|
||||
{ title: "Browse open issues", href: "https://github.com/Hmbown/CodeWhale/issues", tag: "opened", blurb: "Triaged on GitHub — start with anything labelled 'good first issue'." },
|
||||
{ title: "Review the roadmap", href: "/roadmap", tag: "discussion", blurb: "What's confirmed, what's being weighed, what's been ruled out." },
|
||||
],
|
||||
movers: [],
|
||||
@@ -36,12 +35,12 @@ const FALLBACK_DISPATCH_EN: CuratedDispatch = {
|
||||
|
||||
const FALLBACK_DISPATCH_ZH: CuratedDispatch = {
|
||||
generatedAt: new Date().toISOString(),
|
||||
headline: "一个专注的终端智能体——安静迭代中",
|
||||
headline: "CodeWhale — 面向开源模型的终端编程智能体",
|
||||
summary:
|
||||
"DeepSeek TUI 是一款开源终端编程智能体,运行在你的终端中,接入 DeepSeek V4 系列模型,对文件系统操作保持克制。以下「今日要闻」由 DeepSeek V4-Flash 每六小时自动生成——仓库有新动态时会实时更新。",
|
||||
"CodeWhale 运行在你的终端中,接入 DeepSeek V4 等开源模型,对文件系统保持克制。以下「今日要闻」由 DeepSeek V4-Flash 每六小时自动生成——仓库有动态时会实时更新。",
|
||||
highlights: [
|
||||
{ title: "阅读安装指南", href: "/zh/install", tag: "shipped", blurb: "覆盖 macOS、Linux、Windows,支持 Cargo、npm、Homebrew tap 及发布页二进制。" },
|
||||
{ title: "浏览开放议题", href: "https://github.com/Hmbown/deepseek-tui/issues", tag: "opened", blurb: "在 GitHub 上查看——从标记为 good first issue 的议题开始。" },
|
||||
{ title: "阅读安装指南", href: "/zh/install", tag: "shipped", blurb: "npm、Cargo、Homebrew、直接下载——任选其一。" },
|
||||
{ title: "浏览开放议题", href: "https://github.com/Hmbown/CodeWhale/issues", tag: "opened", blurb: "在 GitHub 上查看——从标记为 good first issue 的议题开始。" },
|
||||
{ title: "查看路线图", href: "/zh/roadmap", tag: "discussion", blurb: "已确认、审议中、以及已排除的功能规划。" },
|
||||
],
|
||||
movers: [],
|
||||
@@ -84,22 +83,22 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
<div className="mx-auto max-w-[1400px] px-4 sm:px-6 pt-10 sm:pt-14 pb-12 grid lg:grid-cols-12 gap-10">
|
||||
<div className="lg:col-span-8">
|
||||
<div className="flex items-center gap-2 sm:gap-3 mb-6 flex-wrap">
|
||||
<span className="pill pill-hot">v4 · 1M context</span>
|
||||
<span className="pill pill-hot">DeepSeek V4 · 1M context</span>
|
||||
<span className="pill pill-jade">OpenRouter</span>
|
||||
<span className="pill pill-ghost">MIT licensed</span>
|
||||
</div>
|
||||
|
||||
<h1 className="font-display tracking-crisp">
|
||||
{isZh
|
||||
? "一个住在终端里的编程智能体。"
|
||||
: "A coding agent that lives in your terminal."}
|
||||
? "开源模型的终端编程智能体。"
|
||||
: "The terminal coding agent for open models."}
|
||||
</h1>
|
||||
|
||||
<p className="mt-6 text-lg text-ink-soft leading-relaxed max-w-2xl">
|
||||
<span className="font-cjk text-indigo font-semibold">深度求索</span> ·{" "}
|
||||
<strong>DeepSeek TUI</strong>{" "}
|
||||
<span className="font-cjk text-indigo font-semibold">CodeWhale</span>
|
||||
{isZh
|
||||
? "是一款基于 DeepSeek V4 系列的开源命令行智能体。它编辑文件、执行 Shell、调用 MCP 服务器,并尊重你的沙箱边界。"
|
||||
: "is an open-source command-line agent built on the DeepSeek V4 family. It edits files, runs shells, calls MCP servers, and respects your sandbox."}
|
||||
? " 是一个终端原生的编程智能体,面向 DeepSeek V4 及其他开源/开放权重模型。它编辑文件、执行 Shell、调用 MCP 服务器、协调子智能体——并在你的文件系统沙箱内运行。DeepSeek API 直连、OpenRouter、Hugging Face 推理端点、自托管——任选你的接入方式。"
|
||||
: " is a terminal-native coding agent for DeepSeek V4 and other open / open-weight models. It edits files, runs shells, calls MCP servers, coordinates sub-agents — and runs inside your filesystem sandbox. Native DeepSeek API, OpenRouter, Hugging Face inference, self-hosted — bring your own provider."}
|
||||
</p>
|
||||
|
||||
<div className="mt-8 flex flex-wrap items-stretch sm:items-center gap-3">
|
||||
@@ -110,36 +109,36 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
{isZh ? "立即安装 →" : "Install →"}
|
||||
</Link>
|
||||
<Link
|
||||
href="https://github.com/Hmbown/deepseek-tui"
|
||||
href="https://github.com/Hmbown/CodeWhale"
|
||||
className="flex-1 sm:flex-none text-center px-5 py-3 hairline-t hairline-b hairline-l hairline-r font-mono text-sm uppercase tracking-wider hover:bg-paper-deep transition-colors"
|
||||
>
|
||||
★ Star on GitHub
|
||||
★ GitHub
|
||||
</Link>
|
||||
<Link
|
||||
href={isZh ? "/zh/docs" : "/docs"}
|
||||
className="px-5 py-3 font-mono text-sm uppercase tracking-wider text-ink-mute hover:text-indigo transition-colors"
|
||||
>
|
||||
{isZh ? "阅读文档" : "Read the docs"}
|
||||
{isZh ? "阅读文档" : "Docs"}
|
||||
</Link>
|
||||
<Link
|
||||
href="https://buymeacoffee.com/hmbown"
|
||||
href="/roadmap"
|
||||
className="px-5 py-3 font-mono text-sm uppercase tracking-wider text-ink-mute hover:text-indigo transition-colors"
|
||||
>
|
||||
{isZh ? "支持项目 ↗" : "Support ↗"}
|
||||
{isZh ? "路线图" : "Roadmap"}
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Trust signals */}
|
||||
<div className="mt-6 flex items-center gap-4 text-xs font-mono text-ink-mute flex-wrap">
|
||||
{isZh ? (
|
||||
<span>独立维护者 Hmbown{GITEE_ENABLED && <> · <a href="https://gitee.com/Hmbown/deepseek-tui" className="text-indigo hover:underline">Gitee 镜像</a></>}</span>
|
||||
) : (
|
||||
<span>Maintained by Hmbown</span>
|
||||
)}
|
||||
<span>{isZh ? "独立维护者 Hmbown" : "Maintained by Hmbown"}</span>
|
||||
<span className="hidden sm:inline">·</span>
|
||||
<span>{facts.version ?? "v0.8.x"}</span>
|
||||
<span className="hidden sm:inline">·</span>
|
||||
<span>{facts.providers.length} providers</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* hero side: cargo install card */}
|
||||
{/* hero side: install card */}
|
||||
<div className="lg:col-span-4">
|
||||
<div className="hairline-t hairline-b hairline-l hairline-r bg-paper p-5 relative">
|
||||
<div className="absolute -top-3 left-4 bg-paper px-2 eyebrow">
|
||||
@@ -148,30 +147,38 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
<pre className="code-block mt-2">
|
||||
{isZh ? (
|
||||
<>
|
||||
<span className="comment"># 安装</span>{"\n"}
|
||||
<span className="prompt">$</span> cargo install deepseek-tui-cli --locked{"\n"}
|
||||
<span className="prompt">$</span> deepseek{"\n"}
|
||||
<span className="comment"># npm 安装(推荐,无需 Rust 工具链)</span>{"\n"}
|
||||
<span className="prompt">$</span> npm install -g codewhale{"\n"}
|
||||
<span className="prompt">$</span> codewhale{"\n"}
|
||||
<br />
|
||||
<span className="comment"># 或 Cargo 安装</span>{"\n"}
|
||||
<span className="prompt">$</span> cargo install codewhale-cli --locked{"\n"}
|
||||
<span className="prompt">$</span> codewhale{"\n"}
|
||||
<br />
|
||||
<span className="comment"># 已安装?更新到最新版</span>{"\n"}
|
||||
<span className="prompt">$</span> deepseek update{"\n"}
|
||||
<span className="prompt">$</span> codewhale update{"\n"}
|
||||
<br />
|
||||
<span className="comment"># 首次运行会自动创建 <span className="key">~/.deepseek/</span></span>
|
||||
<span className="comment"># 首次运行自动创建 <span className="key">~/.deepseek/</span></span>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<span className="comment"># install</span>{"\n"}
|
||||
<span className="prompt">$</span> cargo install deepseek-tui-cli --locked{"\n"}
|
||||
<span className="prompt">$</span> deepseek{"\n"}
|
||||
<span className="comment"># npm install (recommended, no Rust toolchain)</span>{"\n"}
|
||||
<span className="prompt">$</span> npm install -g codewhale{"\n"}
|
||||
<span className="prompt">$</span> codewhale{"\n"}
|
||||
<br />
|
||||
<span className="comment"># or Cargo install</span>{"\n"}
|
||||
<span className="prompt">$</span> cargo install codewhale-cli --locked{"\n"}
|
||||
<span className="prompt">$</span> codewhale{"\n"}
|
||||
<br />
|
||||
<span className="comment"># already installed? pull the latest</span>{"\n"}
|
||||
<span className="prompt">$</span> deepseek update{"\n"}
|
||||
<span className="prompt">$</span> codewhale update{"\n"}
|
||||
<br />
|
||||
<span className="comment"># first run sets up <span className="key">~/.deepseek/</span></span>
|
||||
</>
|
||||
)}
|
||||
</pre>
|
||||
<div className="mt-3 flex items-center justify-between text-[0.7rem] font-mono text-ink-mute">
|
||||
<span>{isZh ? "需要 Rust 1.88+ · 没有 Rust? 见其他方式" : "requires Rust 1.88+ · no Rust? see other ways"}</span>
|
||||
<span>{isZh ? "需要 Node 或 Rust 1.88+" : "needs Node or Rust 1.88+"}</span>
|
||||
<Link href={isZh ? "/zh/install" : "/install"} className="text-indigo hover:underline">{isZh ? "其他方式 →" : "other ways →"}</Link>
|
||||
</div>
|
||||
</div>
|
||||
@@ -203,7 +210,7 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
<h3 className="font-display text-3xl leading-tight">
|
||||
{isZh && dispatch.headlineZh ? dispatch.headlineZh : dispatch.headline}
|
||||
</h3>
|
||||
<p className={`${isZh ? "text-ink-soft leading-[1.9] tracking-wide text-[1.02rem]" : "text-ink-soft leading-relaxed text-[1.02rem]"}`}>
|
||||
<p className={isZh ? "text-ink-soft leading-[1.9] tracking-wide text-[1.02rem]" : "text-ink-soft leading-relaxed text-[1.02rem]"}>
|
||||
{isZh && dispatch.summaryZh ? dispatch.summaryZh : dispatch.summary}
|
||||
</p>
|
||||
|
||||
@@ -267,7 +274,7 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* WHAT IT IS — 3 column */}
|
||||
{/* WHAT IT IS */}
|
||||
<section className="bg-paper-deep hairline-t hairline-b">
|
||||
<div className="mx-auto max-w-[1400px] px-6 py-16">
|
||||
<div className="flex items-baseline gap-4 mb-8 hairline-b pb-4">
|
||||
@@ -284,23 +291,23 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
<div className="eyebrow mb-3">01 · 终端智能体</div>
|
||||
<h3 className="font-display text-xl mb-3">编程智能体,不是聊天框</h3>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
与 Claude Code、Codex CLI 相同的循环。读、改、跑测试、汇报。
|
||||
与 Claude Code、Codex CLI 相同的循环。读、改、跑测试、汇报。键盘驱动,住在你的终端里。
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="eyebrow mb-3">02 · 沙箱保护</div>
|
||||
<h3 className="font-display text-xl mb-3">三种模式,一套审批</h3>
|
||||
<div className="eyebrow mb-3">02 · 开源模型优先</div>
|
||||
<h3 className="font-display text-xl mb-3">DeepSeek V4 深度集成</h3>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
DeepSeek 原生 API 为一级路径:推理块流式传输、缓存指标、思考力度选择。同时支持 OpenRouter、Hugging Face、自托管——任你选择。
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="eyebrow mb-3">03 · 沙箱边界</div>
|
||||
<h3 className="font-display text-xl mb-3">Plan、Agent、YOLO</h3>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
Plan 只读调查,Agent 按需审批,YOLO 自动批准。沙箱:seatbelt (macOS)、landlock (Linux);Windows 受限令牌。
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="eyebrow mb-3">03 · 模型自由</div>
|
||||
<h3 className="font-display text-xl mb-3">默认 {facts.defaultModel ?? "DeepSeek V4"}</h3>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
内建 {facts.providers.length} 个提供商。<code className="inline">deepseek auth set --provider …</code> 切换。
|
||||
</p>
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
@@ -308,31 +315,42 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
<div className="eyebrow mb-3">01 · 终端智能体</div>
|
||||
<h3 className="font-display text-xl mb-3">A coding agent, not a chat box</h3>
|
||||
<p className="text-sm text-ink-soft leading-relaxed">
|
||||
Same loop as Claude Code or Codex CLI. It reads, edits, runs tests, reports back.
|
||||
Same loop as Claude Code or Codex CLI. Reads, edits, runs tests, reports back. Keyboard-driven, lives in your terminal.
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="eyebrow mb-3">02 · 沙箱保护</div>
|
||||
<h3 className="font-display text-xl mb-3">Three modes, one approval system</h3>
|
||||
<div className="eyebrow mb-3">02 · 开源模型优先</div>
|
||||
<h3 className="font-display text-xl mb-3">DeepSeek V4, deeply integrated</h3>
|
||||
<p className="text-sm text-ink-soft leading-relaxed">
|
||||
Plan reads, Agent requests approval for risky ops, YOLO auto-approves. Sandboxed via seatbelt (macOS), landlock (Linux); Windows restricted tokens.
|
||||
Native DeepSeek API is the first-class path: reasoning streaming, cache metrics, thinking effort control. OpenRouter, Hugging Face, self-hosted — your call.
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="eyebrow mb-3">03 · 模型自由</div>
|
||||
<h3 className="font-display text-xl mb-3">{facts.defaultModel ?? "DeepSeek V4"} by default</h3>
|
||||
<div className="eyebrow mb-3">03 · 沙箱保护</div>
|
||||
<h3 className="font-display text-xl mb-3">Plan, Agent, YOLO</h3>
|
||||
<p className="text-sm text-ink-soft leading-relaxed">
|
||||
{facts.providers.length} built-in providers. Swap with <code className="inline">deepseek auth set --provider …</code>.
|
||||
Plan reads only. Agent asks for approval on risky ops. YOLO auto-approves. Sandboxed via seatbelt (macOS), landlock (Linux); Windows restricted tokens.
|
||||
</p>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Provider quick list */}
|
||||
<div className="mt-8 hairline-t pt-6">
|
||||
<div className="eyebrow mb-4">{isZh ? "内建提供商" : "Built-in providers"}</div>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
{facts.providers.map((p) => (
|
||||
<span key={p.id} className="font-mono text-xs px-2 py-1 hairline-t hairline-b hairline-l hairline-r text-ink-soft">
|
||||
{p.label}
|
||||
</span>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* HOW IT WORKS — mermaid diagram (replaces brittle ASCII art that
|
||||
misaligned under CJK monospace, per dhh's note) */}
|
||||
{/* HOW IT WORKS */}
|
||||
<section className="mx-auto max-w-[1400px] px-6 py-16">
|
||||
<div className="flex items-baseline gap-4 mb-8 hairline-b pb-4">
|
||||
<Seal char="作" />
|
||||
@@ -343,7 +361,7 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
|
||||
<div className="hairline-t hairline-b hairline-l hairline-r bg-paper p-4 sm:p-8">
|
||||
<MermaidDiagram
|
||||
label={isZh ? "DeepSeek TUI 运作方式示意图" : "DeepSeek TUI architecture diagram"}
|
||||
label={isZh ? "CodeWhale 运作方式示意图" : "CodeWhale architecture diagram"}
|
||||
chart={
|
||||
isZh
|
||||
? `flowchart TD
|
||||
@@ -381,6 +399,79 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
</p>
|
||||
</section>
|
||||
|
||||
{/* OPEN MODEL PLATFORM */}
|
||||
<section className="bg-paper-deep hairline-t hairline-b">
|
||||
<div className="mx-auto max-w-[1400px] px-6 py-16">
|
||||
<div className="flex items-baseline gap-4 mb-8 hairline-b pb-4">
|
||||
<Seal char="开" />
|
||||
<h2 className="font-display">
|
||||
{isZh ? "开放模型平台" : "Open model platform"}
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<p className="text-ink-soft max-w-3xl mb-8 leading-relaxed">
|
||||
{isZh
|
||||
? "CodeWhale 为 DeepSeek V4 构建了深度的一级集成——推理流、缓存指标、思考力度控制。同时,OpenRouter 已作为二级提供商就绪;Hugging Face 推理端点、自托管 OpenAI 兼容端点、本地模型服务也在规划中。目标明确:CodeWhale 应成为所有开放/开源编码模型的终端智能体。"
|
||||
: "CodeWhale ships with deep first-class integration for DeepSeek V4 — reasoning streams, cache metrics, thinking effort control. OpenRouter is ready as a secondary provider. Hugging Face inference endpoints, self-hosted OpenAI-compatible endpoints, and local model serving are on the roadmap. The direction is clear: CodeWhale should be THE terminal agent for all open / open-weight coding models."}
|
||||
</p>
|
||||
|
||||
<div className="grid md:grid-cols-3 gap-0 col-rule hairline-t hairline-b">
|
||||
{isZh ? (
|
||||
<>
|
||||
<div className="p-6">
|
||||
<div className="font-display text-xl mb-2 text-indigo">DeepSeek · 一级</div>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
原生 DeepSeek API 直连。推理内容流式传输、缓存命中指标、模型自动路由(Fin)。DeepSeek 不会被弃用。
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="font-display text-xl mb-2 text-indigo">OpenRouter · 就绪</div>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
通过 OpenRouter 接入 DeepSeek 模型及更多。统一 API 层,按使用量计费。设置 OPENROUTER_API_KEY 即可。
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="font-display text-xl mb-2 text-indigo">更多 · 规划中</div>
|
||||
<p className="text-sm text-ink-soft leading-[1.9]">
|
||||
Hugging Face 推理端点、自托管(vLLM / sglang / Ollama)、Unsloth 微调适配——这些是平台路线图的一部分,尚未完全实现。
|
||||
</p>
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<div className="p-6">
|
||||
<div className="font-display text-xl mb-2 text-indigo">DeepSeek · first-class</div>
|
||||
<p className="text-sm text-ink-soft leading-relaxed">
|
||||
Native DeepSeek API direct. Reasoning streaming, cache hit metrics, model auto-routing (Fin). DeepSeek is not deprecated.
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="font-display text-xl mb-2 text-indigo">OpenRouter · ready</div>
|
||||
<p className="text-sm text-ink-soft leading-relaxed">
|
||||
Access DeepSeek models and more through OpenRouter. Unified API layer, usage-based billing. Set OPENROUTER_API_KEY and go.
|
||||
</p>
|
||||
</div>
|
||||
<div className="p-6">
|
||||
<div className="font-display text-xl mb-2 text-indigo">More · planned</div>
|
||||
<p className="text-sm text-ink-soft leading-relaxed">
|
||||
Hugging Face inference, self-hosted (vLLM / sglang / Ollama), Unsloth fine-tune adapters — on the platform roadmap, not fully implemented yet.
|
||||
</p>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="mt-8 hairline-t pt-6 flex items-center gap-4">
|
||||
<Link href="/roadmap" className="font-mono text-sm uppercase tracking-wider text-indigo hover:underline">
|
||||
{isZh ? "查看完整路线图 →" : "Full roadmap →"}
|
||||
</Link>
|
||||
<Link href="/docs" className="font-mono text-sm uppercase tracking-wider text-ink-mute hover:text-indigo transition-colors">
|
||||
{isZh ? "提供商配置文档 →" : "Provider config docs →"}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* JOIN IN */}
|
||||
<section className="bg-ink text-paper">
|
||||
<div className="mx-auto max-w-[1400px] px-6 py-16 grid lg:grid-cols-12 gap-10">
|
||||
@@ -394,35 +485,39 @@ export default async function HomePage({ params }: { params: Promise<{ locale: s
|
||||
? "无 CLA,无赞助商锁定。维护者亲自阅读每一条内容。议题在公开环境下分类。版本从 main 分支发布。"
|
||||
: "No CLA. No sponsor lockouts. The maintainer reads everything personally. Issues triaged in the open. Releases cut from main."}
|
||||
</p>
|
||||
<div className="mt-6 flex items-center gap-3">
|
||||
<Link
|
||||
href="https://github.com/Hmbown/CodeWhale"
|
||||
className="px-4 py-2 hairline-t hairline-b hairline-l hairline-r border-white/20 text-paper font-mono text-sm hover:bg-white/10 transition-colors"
|
||||
>
|
||||
★ Star on GitHub
|
||||
</Link>
|
||||
<Link
|
||||
href="/contribute"
|
||||
className="px-4 py-2 font-mono text-sm text-paper-deep/80 hover:text-paper transition-colors"
|
||||
>
|
||||
{isZh ? "参与贡献 →" : "Contribute →"}
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="lg:col-span-7 grid sm:grid-cols-3 gap-px bg-paper/15">
|
||||
{(isZh
|
||||
? [
|
||||
{ t: "提交议题", cn: "提 Bug 或功能建议", d: "Bug 报告、功能需求,或一个好问题。", href: "https://github.com/Hmbown/deepseek-tui/issues/new/choose" },
|
||||
{ t: "提交 PR", cn: "贡献代码", d: "Fork、分支、conventional commit、提交 PR。", href: "/zh/contribute" },
|
||||
{ t: "发起讨论", cn: "参与设计", d: "路线图、架构设计、任何非 Bug 的话题。", href: "https://github.com/Hmbown/deepseek-tui/discussions" },
|
||||
{ t: "34k+", d: "星标" },
|
||||
{ t: "98+", d: "贡献者" },
|
||||
{ t: `${facts.providers.length}+`, d: "提供商" },
|
||||
]
|
||||
: [
|
||||
{ t: "Open an issue", cn: "提议题", d: "Bug, feature, or just a sharp question.", href: "https://github.com/Hmbown/deepseek-tui/issues/new/choose" },
|
||||
{ t: "Send a PR", cn: "提交合并", d: "Fork, branch, conventional commit, open PR.", href: "/contribute" },
|
||||
{ t: "Start a discussion", cn: "发起讨论", d: "Roadmap, design, anything that's not a bug.", href: "https://github.com/Hmbown/deepseek-tui/discussions" },
|
||||
{ t: "34k+", d: "Stars" },
|
||||
{ t: "98+", d: "Contributors" },
|
||||
{ t: `${facts.providers.length}+`, d: "Providers" },
|
||||
]
|
||||
).map((c) => (
|
||||
<Link
|
||||
key={c.t}
|
||||
href={c.href}
|
||||
className="bg-ink p-6 hover:bg-indigo group transition-colors"
|
||||
>
|
||||
<div className="font-cjk text-sm text-indigo group-hover:text-paper transition-colors mb-2">
|
||||
{c.cn}
|
||||
</div>
|
||||
<div className="font-display text-xl mb-2">{c.t}</div>
|
||||
<div className="text-sm text-paper-deep/80 group-hover:text-paper">{c.d}</div>
|
||||
<div className="mt-4 font-mono text-[0.7rem] uppercase tracking-widest text-paper-deep/60 group-hover:text-paper">
|
||||
{isZh ? "前往 →" : "Go →"}
|
||||
</div>
|
||||
</Link>
|
||||
).map((s) => (
|
||||
<div key={s.d} className="bg-ink p-6 text-center">
|
||||
<div className="font-display text-4xl mb-1 text-jade">{s.t}</div>
|
||||
<div className="font-cjk text-sm text-paper-deep/70">{s.d}</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
import type { FeedItem, RepoStats } from "./types";
|
||||
|
||||
const REPO = process.env.GITHUB_REPO ?? "Hmbown/deepseek-tui";
|
||||
const REPO = process.env.GITHUB_REPO ?? "Hmbown/CodeWhale";
|
||||
const GH = "https://api.github.com";
|
||||
const MIN_KNOWN_CONTRIBUTORS = 91;
|
||||
const MIN_KNOWN_CONTRIBUTORS = 98;
|
||||
|
||||
function headers(token?: string): HeadersInit {
|
||||
const h: Record<string, string> = {
|
||||
Accept: "application/vnd.github+json",
|
||||
"X-GitHub-Api-Version": "2022-11-28",
|
||||
"User-Agent": "deepseek-tui-web",
|
||||
"User-Agent": "codewhale-web",
|
||||
};
|
||||
if (token) h.Authorization = `Bearer ${token}`;
|
||||
return h;
|
||||
|
||||
Reference in New Issue
Block a user