@oneciel-ai/claude-any 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +9 -0
  3. package/README.md +435 -0
  4. package/claude-any-menu.py +1851 -0
  5. package/claude-any-tool-guard.py +440 -0
  6. package/claude_any.py +6039 -0
  7. package/docs/README.ja.md +372 -0
  8. package/docs/README.ko.md +373 -0
  9. package/docs/README.zh.md +352 -0
  10. package/docs/assets/claude-any-base-url.en.png +0 -0
  11. package/docs/assets/claude-any-base-url.ja.png +0 -0
  12. package/docs/assets/claude-any-base-url.ko.png +0 -0
  13. package/docs/assets/claude-any-base-url.png +0 -0
  14. package/docs/assets/claude-any-base-url.zh.png +0 -0
  15. package/docs/assets/claude-any-demo.en.gif +0 -0
  16. package/docs/assets/claude-any-demo.en.mp4 +0 -0
  17. package/docs/assets/claude-any-demo.gif +0 -0
  18. package/docs/assets/claude-any-demo.ja.gif +0 -0
  19. package/docs/assets/claude-any-demo.ja.mp4 +0 -0
  20. package/docs/assets/claude-any-demo.ko.gif +0 -0
  21. package/docs/assets/claude-any-demo.ko.mp4 +0 -0
  22. package/docs/assets/claude-any-demo.mp4 +0 -0
  23. package/docs/assets/claude-any-demo.zh.gif +0 -0
  24. package/docs/assets/claude-any-demo.zh.mp4 +0 -0
  25. package/docs/assets/claude-any-main.en.png +0 -0
  26. package/docs/assets/claude-any-main.ja.png +0 -0
  27. package/docs/assets/claude-any-main.ko.png +0 -0
  28. package/docs/assets/claude-any-main.png +0 -0
  29. package/docs/assets/claude-any-main.zh.png +0 -0
  30. package/docs/assets/claude-any-model.en.png +0 -0
  31. package/docs/assets/claude-any-model.ja.png +0 -0
  32. package/docs/assets/claude-any-model.ko.png +0 -0
  33. package/docs/assets/claude-any-model.png +0 -0
  34. package/docs/assets/claude-any-model.zh.png +0 -0
  35. package/docs/assets/claude-any-nvidia-nim.gif +0 -0
  36. package/docs/assets/claude-any-ollama-cloud.gif +0 -0
  37. package/docs/assets/claude-any-options.en.png +0 -0
  38. package/docs/assets/claude-any-options.ja.png +0 -0
  39. package/docs/assets/claude-any-options.ko.png +0 -0
  40. package/docs/assets/claude-any-options.png +0 -0
  41. package/docs/assets/claude-any-options.zh.png +0 -0
  42. package/docs/assets/claude-any-provider.en.png +0 -0
  43. package/docs/assets/claude-any-provider.ja.png +0 -0
  44. package/docs/assets/claude-any-provider.ko.png +0 -0
  45. package/docs/assets/claude-any-provider.png +0 -0
  46. package/docs/assets/claude-any-provider.zh.png +0 -0
  47. package/docs/assets/claude-any-test.en.png +0 -0
  48. package/docs/assets/claude-any-test.ja.png +0 -0
  49. package/docs/assets/claude-any-test.ko.png +0 -0
  50. package/docs/assets/claude-any-test.png +0 -0
  51. package/docs/assets/claude-any-test.zh.png +0 -0
  52. package/docs/github-descriptions.md +235 -0
  53. package/docs/manual.md +496 -0
  54. package/install.ps1 +24 -0
  55. package/install.sh +19 -0
  56. package/npm-bin/claude-any-stop.js +6 -0
  57. package/npm-bin/claude-any.js +5 -0
  58. package/npm-bin/claude-anyctl.js +5 -0
  59. package/npm-bin/run-claude-any.js +51 -0
  60. package/package.json +45 -0
@@ -0,0 +1,372 @@
1
+ # Claude Any
2
+
3
+ | [English](../README.md) | [한국어](README.ko.md) | 日本語 | [中文](README.zh.md) |
4
+ | --- | --- | --- | --- |
5
+
6
+ > ## 🚀 無料/低コストの LLM で Claude Code の全機能を
7
+ >
8
+ > - **無料** — [NVIDIA hosted NIM](https://build.nvidia.com/) (qwen3-coder-480b、gpt-oss など) を API Catalog から使用。
9
+ > - **低コスト** — [Ollama Cloud](https://ollama.com/cloud) で GLM、Qwen、DeepSeek などのオープン重みモデルを、フロンティアモデル比でごく安価に。
10
+ > - **無料 + ローカル** — [Ollama](https://ollama.com/) または [vLLM](https://github.com/vllm-project/vllm) を自分の GPU で完全オフライン実行。
11
+ >
12
+ > プロバイダー、モデル、Base URL、API キー、ストリーミング動作、LLM オプションを Claude Code 起動 **前** にコンソールメニューで選択します。Claude Code 本体はそのまま — すべてのネイティブツール、slash コマンド、ワークフローが維持されます。
13
+
14
+ ### デモ
15
+
16
+ ![NVIDIA hosted NIM で Claude Code 駆動 (deepseek-4-flash)](assets/claude-any-nvidia-nim.gif)
17
+
18
+ NVIDIA hosted NIM (deepseek-4-flash) を claude-any ルーター経由で Claude Code に接続。  [フル mp4 ⤓](https://github.com/OneCielAI/claude-any/raw/main/demo/claude-any-nvidia-nim.mp4)
19
+
20
+ ![Ollama Cloud を claude-any ルーターで (glm-5.1)](assets/claude-any-ollama-cloud.gif)
21
+
22
+ Ollama Cloud (glm-5.1) を SSE 単語境界チャンキング有効状態で claude-any ルーターからストリーミング。  [フル mp4 ⤓](https://github.com/OneCielAI/claude-any/raw/main/demo/claude-any-ollama-cloud.mp4)
23
+
24
+ ---
25
+
26
+ Claude Any は、Claude Code の起動前に Anthropic、Ollama、Ollama Cloud、
27
+ vLLM、NVIDIA hosted、self-hosted NIM を選択し、通常の Claude Code 引数を
28
+ そのまま渡すプロバイダー選択ランチャーです。
29
+
30
+ Credits: One Ciel LLC
31
+
32
+ 現在のバージョン: `0.1.24`
33
+
34
+ ## 作られた理由
35
+
36
+ Claude Code の最上位プランでも、長い作業ではトークンが不足したり、次の
37
+ クォータまで待つ必要があります。Claude Any は Claude Code を置き換える
38
+ ものではなく、作業を止めないための補助ツールです。NVIDIA NIM、Ollama
39
+ Cloud、vLLM、ローカル Ollama などを、要約、調査、ジャーナル、簡単な
40
+ コーディング、バックグラウンド作業に使えます。
41
+
42
+ プロバイダーが Anthropic 互換 Messages エンドポイントを提供する場合は、
43
+ その経路を優先して Claude Code のツール、権限、モデル選択、ワークフローを
44
+ できるだけ維持します。リモートプロバイダーが直接提供しにくい Web 検索は
45
+ 別の MCP ツールで補完します。
46
+
47
+ 起動前メニューはコンソールと SSH 作業を重視しています。Claude Code 起動前に
48
+ プロバイダー、モデル、Base URL、API キー、オプションを確認・変更できます。
49
+
50
+ macOS はまだ十分にテストしていませんが、portable Python と shell wrapper を
51
+ 中心にしています。問題があれば知らせてください。
52
+
53
+ - D. Yun
54
+
55
+ ## インストール
56
+
57
+ 要件:
58
+
59
+ - Python 3.10+
60
+ - `claude` コマンドで実行できる Claude Code
61
+ - MCP Web ツールを使う場合のみ Node/npm
62
+
63
+ 現在すぐに使える GitHub インストール:
64
+
65
+ ```sh
66
+ npm install -g https://github.com/OneCielAI/claude-any.git
67
+ claude-any
68
+ ```
69
+
70
+ ソースからインストール:
71
+
72
+ ```sh
73
+ git clone https://github.com/OneCielAI/claude-any.git
74
+ cd claude-any
75
+ ./install.sh
76
+ claude-any
77
+ ```
78
+
79
+ Windows PowerShell でソースからインストール:
80
+
81
+ ```powershell
82
+ git clone https://github.com/OneCielAI/claude-any.git
83
+ cd claude-any
84
+ .\install.ps1
85
+ claude-any
86
+ ```
87
+
88
+ npm registry に初回 publish した後:
89
+
90
+ ```sh
91
+ npm install -g @oneciel-ai/claude-any
92
+ claude-any
93
+ ```
94
+
95
+ アップグレード:
96
+
97
+ ```sh
98
+ # GitHub インストール、現在の推奨経路
99
+ npm install -g https://github.com/OneCielAI/claude-any.git --force
100
+ claude-any version
101
+ ```
102
+
103
+ `npm update -g @oneciel-ai/claude-any` を動作させるには、同じ package 名で
104
+ public npm registry に publish されている必要があります。
105
+
106
+ ```sh
107
+ npm login
108
+ npm publish --access public
109
+ npm install -g @oneciel-ai/claude-any
110
+ npm update -g @oneciel-ai/claude-any
111
+ ```
112
+
113
+ 自動公開を使う場合は、npm automation token を GitHub repository secret
114
+ `NPM_TOKEN` として保存し、GitHub Release を作成するか `Publish to npm`
115
+ workflow を手動実行します。
116
+
117
+ バージョン管理には SemVer を使います。次のリリースでは `package.json` の
118
+ `version` を更新し、`v0.1.1` のような同じバージョンの Git tag と GitHub
119
+ Release を作成すると npm publish workflow を実行できます。registry 公開後は
120
+ 次のコマンドでアップグレードできます。
121
+
122
+ ```sh
123
+ npm update -g @oneciel-ai/claude-any
124
+ ```
125
+
126
+
127
+ ![Claude Any menu](assets/claude-any-main.ja.png)
128
+
129
+ ## デモ
130
+
131
+ ![Claude Any demo](assets/claude-any-demo.ja.gif)
132
+
133
+ 現在のデモは、プロバイダー選択、Base URL、モデル選択、LLM オプション、
134
+ 互換性テストの順に表示します。互換性テストは単純なテキスト応答だけでなく、
135
+ 必須の `tool_use` と `tool_result` の往復も確認します。
136
+
137
+ | プロバイダー | Base URL | モデル | LLM オプション | 互換性 |
138
+ | --- | --- | --- | --- | --- |
139
+ | ![Provider](assets/claude-any-provider.ja.png) | ![Base URL](assets/claude-any-base-url.ja.png) | ![Model](assets/claude-any-model.ja.png) | ![Options](assets/claude-any-options.ja.png) | ![Test](assets/claude-any-test.ja.png) |
140
+
141
+ 詳しい設定、headless フラグ、トラブルシューティングは [manual](manual.md) を
142
+ 参照してください。デモ動画は [assets/claude-any-demo.ja.mp4](assets/claude-any-demo.ja.mp4)
143
+ にあります。
144
+
145
+ ## 開発ストーリー
146
+
147
+ Claude Any は、実用的な統合テストの積み重ねとして作られました。まず
148
+ プロバイダー切り替えを試し、続いてモデル検出、API キー入力、互換性テスト、
149
+ Web 検索ツール、タイムアウト処理、Claude Code のネイティブ動作を確認
150
+ しました。得られた重要な結論は、プロバイダーが Anthropic 互換 Messages
151
+ エンドポイントを提供する場合、その経路が最もきれいな統合方法だという
152
+ ことです。Ollama、vLLM、NIM は Anthropic 互換ルートを提供でき、この経路は
153
+ 汎用 OpenAI 互換 chat ルートよりも Claude Code のツールモデルを保ちやすい
154
+ ものでした。
155
+
156
+ ローカル Ollama と vLLM では、RTX 5090 および MSI GB10 クラスの環境で Qwen
157
+ 3.6 27B Q4 も試しました。動作はしましたが、速度は native Claude Code や
158
+ Codex と直接比較する種類のものではありませんでした。このハイブリッド用途では
159
+ NVIDIA NIM や Ollama Cloud の hosted/cloud モデルが予想以上に実用的でした。
160
+
161
+ OpenAI 互換エンドポイントは、Claude Code 用の主経路から意図的に外しました。
162
+ テストでは、generic OpenAI chat 互換層を通した tool-call 変換が、tool
163
+ parameter、tool result、反復呼び出し、retry、モデル選択の周辺でより不安定
164
+ でした。そのため Claude Any は native Anthropic 互換 endpoint を優先し、
165
+ provider-specific な変換が必要な場合だけ小さな router を使います。
166
+
167
+ 最近の vLLM テストでは、サーバー側の tool-call parser をモデル系列に合わせる
168
+ 必要があることが分かりました。vLLM サーバーに接続でき、`/v1/messages` が
169
+ 動作していても、`--tool-call-parser` が違うと Claude Code が tool call を
170
+ 解析できず止まることがあります。Qwen3-Coder 系では `--enable-auto-tool-choice
171
+ --tool-call-parser qwen3_xml` を優先し、`hermes` は Hermes 形式のモデルや
172
+ 一部の古い Qwen tool template 向けとして扱います。
173
+
174
+ ## 推奨用途
175
+
176
+ 速度が最重要ではないバックグラウンド運用に向いています。Docker ホスト管理、
177
+ Windows/Linux 管理、クリーンアップスクリプト、定期的なセキュリティ確認、
178
+ ログレビュー、Windows Event Log レビュー、ウイルス/ランサムウェア侵入試行
179
+ の整理、ブルートフォース試行の確認、レポート作成などです。
180
+
181
+ 専用のセキュリティ製品を置き換えるものではありませんが、管理者が反復作業を
182
+ スクリプト化し、読みやすいレポートにまとめる補助として使えます。無料または
183
+ 低コストのシステムセキュリティウォッチャーを作る用途にも向いています。
184
+
185
+ たとえば「Docker コンテナに PostgreSQL をインストールする」「今日の Docker
186
+ ログを分析してメールレポートにする」といった依頼を、コマンド、スクリプト、
187
+ スケジュールジョブ、要約にできます。
188
+
189
+ 小さなモデルが検出と要約を行い、大きなモデルがレビュー、ポリシー、計画を
190
+ 担当し、その後小さなモデルが監督下で反復作業を実行する階層型運用にも合います。
191
+
192
+ ## 主な機能
193
+
194
+ - 英語、韓国語、日本語、中国語 UI の起動前メニュー。
195
+ - プロバイダー別モデル一覧とカスタムモデル入力。
196
+ - Claude Code チャット外での API キー設定。
197
+ - context window、output tokens、timeout、sampling、native compatibility の LLM オプション/プリセット。
198
+ - 起動前にテキスト、`tool_use`、`tool_result` を確認する互換性テスト。
199
+ - vLLM/NIM の `/v1/models` が `max_model_len` を返す場合は runtime context を表示。
200
+ - SSH とターミナル向けのコンソール優先 UI。
201
+ - Anthropic 互換エンドポイントがある場合は native 経路を優先。
202
+ - 必要に応じた provider-specific router。
203
+ - non-native provider 向け DuckDuckGo/fetch MCP。
204
+ - `--ca-provider`、`--ca-model`、`--ca-base-url` などの headless フラグ。
205
+ - Ollama/Ollama Cloud ルーター経路でのストリーミングプロキシ — トークンが届く
206
+ すぐに Claude Code に転送し、レスポンス全体のバッファリングを待ちません。
207
+ - プロバイダー毎の `stream` on/off トグルと `stream_word_chunking` オプションで、
208
+ text delta を単語境界でまとめて送信。長いストリーミング応答での tool-call /
209
+ JSON 解析を壊しうる SSE 断片化を緩和します。
210
+ - LLM options メニューで強調表示された行の意味を、選択中の言語(英語/韓国語/
211
+ 日本語/中国語)で下部に表示。boolean 行(`Stream`、`Stream word chunking`、
212
+ `Native compatibility`、`Think`)は Enter キー一つで即座にトグルします。
213
+ - Tool guard hook を Claude Code の hook event 全体に拡張(`WorktreeCreate` /
214
+ `WorktreeRemove` 含む) — git リポジトリでない作業ディレクトリで Agent isolation が
215
+ `Cannot create agent worktree: not in a git repository...` で失敗する問題を解消。
216
+ - 設定ファイルキャッシュ — ルーターがリクエストごとにディスクから読み込んでいた
217
+ 設定をメモリにキャッシュし、ファイル変更時のみ再読み込みします。
218
+
219
+ ## 変更履歴
220
+
221
+ ### 0.1.24
222
+
223
+ - **初の npm registry 公開リリース**: 正しいスコープ `@oneciel-ai/claude-any` で公開しました。これまでの 0.1.x は registry にアップロードされていない状態でしたが、このバージョンから `npm install -g @oneciel-ai/claude-any` で直接インストール可能です。
224
+
225
+ ### 0.1.23
226
+
227
+ - **ストリームトグル**: 各 non-Anthropic provider に `stream_enabled` 設定を追加
228
+ (LLM options メニュー、`claude-anyctl ollama-options` / `provider-options`、
229
+ headless フラグの全てで利用可能)。off にすると上流に `stream:false` を強制し、
230
+ 応答全体を Claude Code に返します — ストリーミング断片化で tool-call/JSON 解析が
231
+ 壊れる時の回避策。
232
+ - **単語境界ストリーミング**: `stream_word_chunking` オプションを追加。SSE text delta
233
+ を空白/単語境界までバッファしてから送信します。Ollama ルーター経路と native
234
+ パススルー経路(vLLM、NVIDIA hosted、self-hosted NIM)の両方に実装。Tool delta
235
+ とテキスト以外の SSE イベントはそのまま透過します。
236
+ - **全 hook 処理**: `install_tool_guard_hooks` が Claude Code の全 hook event を登録
237
+ (PreToolUse、PostToolUse、PostToolUseFailure、PostToolBatch、PermissionRequest、
238
+ PermissionDenied、SessionStart/End、Setup、UserPromptSubmit/Expansion、Stop、
239
+ StopFailure、InstructionsLoaded、ConfigChange、CwdChanged、Notification、
240
+ SubagentStart/Stop、TeammateIdle、TaskCreated、TaskCompleted、PreCompact、PostCompact、
241
+ WorktreeCreate、WorktreeRemove、Elicitation、ElicitationResult)。WorktreeCreate
242
+ ハンドラが `worktreePath = base_path` を返すので、git リポジトリでないディレクトリ
243
+ でも Agent isolation が動作します。
244
+ - **Windows hook 互換性**: `shell_command_string` が Windows でフォワードスラッシュと
245
+ POSIX 引用を出力するように変更 — Claude Code の sh ベース hook 実行器が
246
+ `C:\Users\...` のような Windows パスのバックスラッシュを escape として解釈して
247
+ しまう問題を解消。
248
+ - **LLM options UX**: 強調行の説明をユーザー言語でパネル下部に表示。boolean トグル
249
+ (`Stream`、`Stream word chunking`、`Native compatibility`、`Think`) は Enter で
250
+ in-place に on/off を反転します — 入力プロンプト無し。
251
+
252
+ ### 0.1.22
253
+
254
+ - **ヘッドレスマニュアル拡張**: 自動化と遠隔サーバー用に、headless setup / launch / test / passthrough / cleanup の実例を追加したマニュアル拡張。
255
+
256
+ ### 0.1.21
257
+
258
+ - **サービスライフサイクルの文書化**: Claude Any は起動時に選択中 provider に必要な router/proxy だけを開始し、`claude-any stop` が明示的な cleanup コマンドであることを明確にしました。
259
+
260
+ ### 0.1.20
261
+
262
+ - **NVIDIA hosted quick test**: `auto` モードでは NVIDIA hosted provider に対して text-only quick test を使用し、メニュー確認中の遅いまたは不安定な tool_use request を避けます。text + tool_use は `smoke`、完全な text/tool_use/tool_result round trip は `full` を使ってください。
263
+ - **メニューテストタイムアウト**: 端末メニューは `claude-any test 60 auto` を実行し、hosted model の pre-launch test をより素早く終えるようにします。
264
+
265
+ ### 0.1.19
266
+
267
+ - **より速い互換性テスト**: `claude-any test` が `auto`、`smoke`、`full` モードをサポートします。
268
+ - **メニュー既定テストの高速化**: 端末メニューは `claude-any test 120 auto` を実行します。NVIDIA hosted の互換性確認は速くなり、完全検証は `claude-any test 180 full` で引き続き利用できます。
269
+
270
+ ### 0.1.18
271
+
272
+ - **NVIDIA hosted 一時障害の診断**: 互換性テストが `RemoteDisconnected`、connection reset、502/503/504 応答を NVIDIA hosted backend/API Catalog の一時的な upstream failure として表示します。
273
+ - **NVIDIA proxy cleanup**: `claude-any stop` が `nvd-claude-proxy` 実行ファイルプロセスも検出して停止するため、古い proxy session をより確実に整理できます。
274
+
275
+ ### 0.1.17
276
+
277
+ - **メニュー互換性テストのタイムアウト**: 端末メニューは互換性テストを明示的な 180 秒制限で実行し、hard limit を超えた場合は child process を停止します。遅い hosted model によってメニューが無期限に待機しているように見える問題を防ぎます。
278
+
279
+ ### 0.1.16
280
+
281
+ - **NVIDIA hosted proxy 起動修正**: `python -m nvd_claude_proxy.main` に fallback する前に、インストール済みの `nvd-claude-proxy`/`ncp` 実行ファイルを検出して起動します。proxy が uv tool としてインストールされ、コマンドは存在するが Claude Any の Python interpreter から import できない環境をサポートします。
282
+
283
+ ### 0.1.15
284
+
285
+ - **Ollama/Ollama Cloud ツール呼び出しストリーミング修正**: ストリーミングされるツール呼び出しを、連番の Anthropic SSE content block index と `input_json_delta` payload で送信するように変更。Claude Code が不正な streamed tool-use block を `Invalid tool parameters` として拒否する問題を防ぎます。
286
+ - **ツール guard の自動インストール**: 非 Anthropic provider の起動時に Claude Any tool guard を `~/.claude/settings.json` へマージし、実行前に生成されたツール入力を正規化します。
287
+ - **ツール呼び出し診断ログ**: ルーター側のツール呼び出しは `~/.config/claude-any/tool-calls.jsonl`、Claude Code hook 入力は `~/.claude/claude-any-tool-guard/tool-events.jsonl` に記録します。
288
+ - **ツール入力の正規化**: guard が `path` を `file_path`、`cmd` を `command`、`query` を `pattern` に変換し、必須フィールドが欠けている場合は明確な案内を返します。
289
+
290
+ ### 0.1.14
291
+
292
+ - **SSH/ターミナル方向キー互換性**: `read_menu_key()` を適切な ANSI escape sequence パーサーで書き直し、raw 端末設定を `portable_select()` に移動してメニューループ中は端末が常に raw モードを維持するように変更。キー入力の間に `ECHO` が復元されてエスケープシーケンスが画面に漏れる問題を解消。方向キー、Home、End が SSH セッションで安定して動作します。
293
+ - **テストタイムアウト**: 遅いクラウドプロバイダー向けに、互換性テストのデフォルトタイムアウトを 60 秒から 120 秒に延長。
294
+ - **Ollama Cloud 互換性テスト修正**: 互換性テストリクエストに `"stream": false` を追加し、ルーターが Ollama Cloud に SSE ストリーミングではなく単一 JSON レスポンスを要求するように変更。これにより `post_json` がすべての SSE チャンクを収集している間にタイムアウトする問題を解決。
295
+
296
+ ### 0.1.13
297
+
298
+ - **Ollama ストリーミングプロキシ**: ルーターが Ollama/Ollama Cloud のレスポンスを Anthropic SSE 形式でリアルタイムにストリーミングするようになりました。レスポンス全体をバッファリングしてから転送する方式から、トークン生成と同時に転送する方式に変更されました。
299
+ - **設定キャッシュ**: `load_config()` が設定ファイルをメモリにキャッシュし、ファイル変更時刻が変わった時だけ再読み込みします。ルーターの全リクエストで発生していたディスク I/O と JSON パースの繰り返しを削減しました。
300
+ - **トークン推定キャッシュ**: `estimate_tokens()` がオプションのキャッシュ dict を受け取り、単一リクエスト内の重複 `json.dumps()` 呼び出しを回避します。`ollama_chat_request` と `cap_output_tokens_for_context` が同じキャッシュを共有します。
301
+
302
+ ### 0.1.12
303
+
304
+ - ドキュメントとデモアセットの更新。
305
+
306
+ ### 0.1.11
307
+
308
+ - ツール呼び出し互換性の検証。
309
+
310
+ ### 0.1.10
311
+
312
+ - テストでのランタイムコンテキスト表示。
313
+
314
+ ### 0.1.9
315
+
316
+ - サーバーコンテキストに合わせたプリセット上限。
317
+
318
+ ### 0.1.8
319
+
320
+ - LLM プリセットのローカライズ。
321
+
322
+ ## プロバイダーの注意点
323
+
324
+ | Provider | Mode | Notes |
325
+ | --- | --- | --- |
326
+ | Anthropic | Native Claude Code | Claude login または Anthropic API key を使用。 |
327
+ | Ollama | Native 優先、必要時 router | ローカル Ollama は通常 API key 不要。ローカル Ollama で `:cloud` model を使う場合は Ollama host で `ollama signin` が必要。 |
328
+ | Ollama Cloud | Router | `https://ollama.com/api` を直接呼び出し、Ollama API key が必要。 |
329
+ | vLLM | Native Anthropic-compatible endpoint | Anthropic 互換 `/v1/messages` endpoint を使い、モデル系列に合う `--tool-call-parser` を指定。 |
330
+ | NVIDIA hosted | Router/proxy | NVIDIA hosted API を compatibility 経路で使用。 |
331
+ | self-hosted NIM | Native Anthropic-compatible endpoint | self-hosted NIM の Anthropic 互換 endpoint を使用。 |
332
+
333
+ ## サービスライフサイクル
334
+
335
+ Claude Any は、すべての backend helper を常時起動しておく設計ではありません。
336
+ 通常のライフサイクルは次の通りです。
337
+
338
+ - 起動前に、管理中の router/proxy は `claude-any stop` で停止できます。
339
+ - `claude-any` が Claude Code を起動するとき、選択中 provider に必要な
340
+ service だけを開始します。
341
+ - Ollama/Ollama Cloud router mode は `127.0.0.1:8799` の Claude Any router
342
+ を使います。
343
+ - NVIDIA hosted router mode は `127.0.0.1:8799` の Claude Any router を使い、
344
+ その provider に必要な場合だけ `127.0.0.1:8788` の `nvd-claude-proxy` を
345
+ 開始します。
346
+ - NVIDIA hosted から別 provider に切り替えるとき、NVIDIA proxy を生かし
347
+ 続ける必要はありません。新しい test や launch の前に stale session は
348
+ `claude-any stop` で整理してください。
349
+
350
+ この構成により、Claude Code は安定した Claude Any entry point を使いながら、
351
+ provider-specific helper は必要な時だけ起動できます。
352
+
353
+ Qwen3-Coder を Claude Code 用に vLLM で起動する例:
354
+
355
+ ```sh
356
+ vllm serve Qwen/Qwen3-Coder-30B-A3B-Instruct \
357
+ --host 0.0.0.0 \
358
+ --port 8000 \
359
+ --served-model-name qwen3-coder-30b \
360
+ --max-model-len 65536 \
361
+ --enable-auto-tool-choice \
362
+ --tool-call-parser qwen3_xml
363
+ ```
364
+
365
+ リンク:
366
+
367
+ - vLLM Claude Code integration: https://docs.vllm.ai/en/latest/serving/integrations/claude_code/
368
+ - vLLM tool calling: https://docs.vllm.ai/en/stable/features/tool_calling/
369
+
370
+ ## ライセンス
371
+
372
+ MIT。詳細は [LICENSE](../LICENSE) を参照してください。