@kaitranntt/ccs 3.4.6 → 3.5.0

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.
package/README.ja.md CHANGED
@@ -1,45 +1,39 @@
1
- # CCS - Claude Code Switch
2
-
3
1
  <div align="center">
4
2
 
3
+ # CCS - Claude Code Switch
4
+
5
5
  ![CCS Logo](docs/assets/ccs-logo-medium.png)
6
6
 
7
- **1コマンド、ダウンタイムなし、複数アカウント**
7
+ ### 1コマンド、ダウンタイムなし、複数アカウント
8
8
 
9
- 複数のClaudeアカウント、GLM、Kimiを瞬時に切り替え。<br>
9
+ **複数のClaudeアカウント、GLM、Kimiを瞬時に切り替え。**
10
10
  レート制限を回避し、継続的に作業。
11
11
 
12
+ <br>
12
13
 
13
14
  [![License](https://img.shields.io/badge/license-MIT-C15F3C?style=for-the-badge)](LICENSE)
14
15
  [![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey?style=for-the-badge)]()
15
16
  [![npm](https://img.shields.io/npm/v/@kaitranntt/ccs?style=for-the-badge&logo=npm)](https://www.npmjs.com/package/@kaitranntt/ccs)
16
17
  [![PoweredBy](https://img.shields.io/badge/PoweredBy-ClaudeKit-C15F3C?style=for-the-badge)](https://claudekit.cc?ref=HMNKXOHN)
17
18
 
18
- **Languages**: [English](README.md) | [Tiếng Việt](README.vi.md) | [日本語](README.ja.md)
19
+ **Languages**: [English](README.md) · [Tiếng Việt](README.vi.md) · [日本語](README.ja.md)
19
20
 
20
21
  </div>
21
22
 
22
- ---
23
+ <br>
23
24
 
24
- ## 🚀 クイックスタート
25
+ ## クイックスタート
25
26
 
26
- ### 🔑 前提条件
27
+ ### インストール
27
28
 
28
- **CCSをインストールする前に、サブスクリプションアカウントでClaude CLIにログインしていることを確認してください:**
29
- ```bash
30
- claude /login
31
- ```
32
-
33
- ### 主なインストール方法
34
-
35
- #### オプション1: npmパッケージ(推奨)
29
+ **npmパッケージ(推奨)**
36
30
 
37
31
  **macOS / Linux / Windows**
38
32
  ```bash
39
33
  npm install -g @kaitranntt/ccs
40
34
  ```
41
35
 
42
- 主要なパッケージマネージャーすべてに対応:
36
+ **主要なパッケージマネージャーすべてに対応:**
43
37
 
44
38
  ```bash
45
39
  # yarn
@@ -52,7 +46,10 @@ pnpm add -g @kaitranntt/ccs
52
46
  bun add -g @kaitranntt/ccs
53
47
  ```
54
48
 
55
- #### オプション2: 直接インストール(従来型)
49
+ <details>
50
+ <summary><strong>代替案:直接インストール(従来型)</strong></summary>
51
+
52
+ <br>
56
53
 
57
54
  **macOS / Linux**
58
55
  ```bash
@@ -64,7 +61,11 @@ curl -fsSL ccs.kaitran.ca/install | bash
64
61
  irm ccs.kaitran.ca/install | iex
65
62
  ```
66
63
 
67
- > **💡 パフォーマンス**: 従来型インストールはNode.jsルーティングをバイパスし起動が高速ですが、デプロイ自動化が容易なためnpm更新を優先します。
64
+ **注**: 従来型インストールはNode.jsルーティングをバイパスし起動が高速ですが、デプロイ自動化が容易なためnpmを優先します。
65
+
66
+ </details>
67
+
68
+ <br>
68
69
 
69
70
  ### 設定(自動作成)
70
71
 
@@ -75,188 +76,503 @@ irm ccs.kaitran.ca/install | iex
75
76
  {
76
77
  "profiles": {
77
78
  "glm": "~/.ccs/glm.settings.json",
79
+ "glmt": "~/.ccs/glmt.settings.json",
78
80
  "kimi": "~/.ccs/kimi.settings.json",
79
81
  "default": "~/.claude/settings.json"
80
82
  }
81
83
  }
82
84
  ```
83
85
 
84
- ### カスタムClaude CLIパス
86
+ <details>
87
+ <summary><h3>カスタムClaude CLIパス</h3></summary>
88
+
89
+ <br>
85
90
 
86
91
  Claude CLIが標準以外の場所(Dドライブ、カスタムディレクトリ)にインストールされている場合は、`CCS_CLAUDE_PATH`を設定してください:
87
92
 
88
93
  ```bash
89
- export CCS_CLAUDE_PATH="/path/to/claude" # Unix
90
- $env:CCS_CLAUDE_PATH = "D:\Tools\Claude\claude.exe" # Windows
94
+ # Unix/Linux/macOS
95
+ export CCS_CLAUDE_PATH="/path/to/claude"
96
+
97
+ # Windows PowerShell
98
+ $env:CCS_CLAUDE_PATH = "D:\Tools\Claude\claude.exe"
91
99
  ```
92
100
 
93
- **詳細な設定手順については、[トラブルシューティングガイド](./docs/en/troubleshooting.md#claude-cli-in-non-standard-location)を参照してください。**
101
+ **参照**: [トラブルシューティングガイド](./docs/en/troubleshooting.md#claude-cli-in-non-standard-location) 詳細な設定手順
94
102
 
95
- ---
103
+ </details>
104
+
105
+ <details>
106
+ <summary><h3>Windowsシンボリックリンクサポート(開発者モード)</h3></summary>
107
+
108
+ <br>
109
+
110
+ **Windowsユーザー**: 本物のシンボリックリンクで高速な動作と即時同期を得るために開発者モードを有効にしてください:
111
+
112
+ 1. **設定** → **プライバシーとセキュリティ** → **開発者向け** を開く
113
+ 2. **開発者モード** を有効にする
114
+ 3. CCSを再インストール: `npm install -g @kaitranntt/ccs`
115
+
116
+ **警告**: 開発者モードなしの場合、CCSは自動的にディレクトリコピーにフォールバック(動作しますが、プロファイル間の即時同期はありません)
117
+
118
+ </details>
119
+
120
+ <br>
96
121
 
97
122
  ### 最初の切り替え
98
123
 
99
- > **⚠️ 重要**: GLMまたはKimiプロファイルを使用する前に、対応する設定ファイルでAPIキーを更新する必要があります:
100
- > - **GLM**: `~/.ccs/glm.settings.json`を編集してGLM APIキーを追加
124
+ > [!IMPORTANT]
125
+ > **代替モデルを使用する前に、設定ファイルでAPIキーを更新してください:**
126
+ >
127
+ > - **GLM**: `~/.ccs/glm.settings.json`を編集してZ.AI Coding Plan APIキーを追加
128
+ > - **GLMT**: `~/.ccs/glmt.settings.json`を編集してZ.AI Coding Plan APIキーを追加
101
129
  > - **Kimi**: `~/.ccs/kimi.settings.json`を編集してKimi APIキーを追加
102
130
 
131
+ <br>
132
+
133
+ **並列ワークフロー:計画 + 実行**
134
+
103
135
  ```bash
104
- # Claudeサブスクリプションを使用(デフォルト)で高レベルの計画
105
- ccs "マイクロサービスアーキテクチャの実装計画を立てて"
136
+ # Terminal 1 - 計画(Claude Sonnet)
137
+ ccs "認証とレート制限付きREST APIの計画"
138
+
139
+ # Terminal 2 - 実行(GLM、コスト最適化)
140
+ ccs glm "計画からユーザー認証エンドポイントを実装"
141
+ ```
106
142
 
107
- # GLMに切り替えてコスト最適化されたタスクを実行
108
- ccs glm "シンプルなREST APIを作成して"
143
+ <details>
144
+ <summary><strong>思考モデル(Kimi & GLMT)</strong></summary>
109
145
 
110
- # Kimiに切り替えて思考能力を活用
111
- ccs kimi "適切なエラーハンドリングで統合テストを書いて"
146
+ <br>
147
+
148
+ ```bash
149
+ # Kimi - 安定した思考サポート
150
+ ccs kimi "トレードオフ分析付きキャッシュ戦略の設計"
151
+
152
+ # GLMT - 実験的(詳細は下記参照)
153
+ ccs glmt "推論ステップ付き複雑なアルゴリズムのデバッグ"
112
154
  ```
113
155
 
114
- ---
156
+ **注**: GLMTは実験的で不安定です。詳細については下記の[GLM with Thinking (GLMT)](#glm-with-thinking-glmt)セクションを参照してください。
157
+
158
+ </details>
159
+
160
+ <br>
161
+
162
+ ## 開発者の日常的な課題
163
+
164
+ <div align="center">
165
+
166
+ ### **切り替えを停止。調整を開始。**
167
+
168
+ **セッション制限がフロー状態を殺すべきではありません。**
169
+ </div>
170
+
171
+ 実装に深く集中しています。コンテキストが読み込まれました。解決策が結晶化しています。<br>
172
+ その後: 🔴 _"使用制限に達しました。"_
173
+
174
+ **モチベーションが失われました。コンテキストが失われました。生産性が崩壊しました。**
175
+
176
+ ## **解決策:並列ワークフロー**
115
177
 
116
- ## 日常の開発者の課題
178
+ <details>
179
+ <summary><strong>❌ 古い方法:</strong> 制限に達した時に切り替える(反応的)</summary>
117
180
 
118
- 開発者は日々多くのサブスクリプションシナリオに直面します:
181
+ ### 現在のワークフロー:
182
+ - **14時:** 機能開発、ゾーン状態
183
+ - **15時:** 🔴 使用制限に達した
184
+ - **15:05:** 作業停止、`~/.claude/settings.json`を編集
185
+ - **15:15:** アカウント切り替え、コンテキストが失われる
186
+ - **15:30:** フロー状態に戻ろうと試みる
187
+ - **16時:** ついに生産性が回復
119
188
 
120
- 1. **アカウント分離**: 会社のClaudeアカウントと個人のClaude → 業務と個人のコンテキストを手動で切り替える必要
121
- 2. **レート制限**: Claudeがプロジェクト途中で停止 → 手動で`~/.claude/settings.json`を編集
122
- 3. **コスト管理**: 2-3つのProサブスクリプション(月$20) vs Claude Maxの5倍コスト(月$100)→ Pro階層が実用的な上限
123
- 4. **モデル選択**: タスクごとに異なるモデルの強みを活用 → 手動切り替え
189
+ - **結果:** 1時間失われ、モチベーションが破壊され、不満が蓄積
124
190
 
125
- 手動コンテキスト切り替えはワークフローを中断します。**CCSがシームレスに管理します**。
191
+ </details>
192
+
193
+ <details open>
194
+ <summary><strong>✨ 新しい方法:</strong> 最初から並列で実行(主導的) - <strong>推奨</strong></summary>
195
+
196
+ ### 新しいワークフロー:
197
+ - **14時:** **ターミナル1:** `ccs "APIアーキテクチャを計画"` → 戦略的思考(Claude Pro)
198
+ - **14時:** **ターミナル2:** `ccs glm "エンドポイントを実装"` → コード実行(GLM)
199
+ - **15時:** まだ開発継続、割れなし
200
+ - **16時:** フロー状態達成、生産性急上昇
201
+ - **17時:** 機能が完了、コンテキスト維持
202
+
203
+ - **結果:** ダウムタイムなし、継続的生産性、不満減少
204
+
205
+ ### 💰 **価値提案:**
206
+ - **設定:** 既存のClaude Pro + GLM Lite(費用対効果の高い追加)
207
+ - **価値:** 1時間/日 × 20労働日 = 20時間/月を回収
208
+ - **ROI:** 開発時間は設定コスト以上の価値がある
209
+ - **現実:** オーバーヘッドより速く出荷
210
+
211
+ </details>
212
+
213
+ ## あなたの道を選択
214
+
215
+ <details>
216
+ <summary><strong>予算重視:</strong> GLMのみ</summary>
217
+
218
+ - **最適:** 費用意識の高い開発、基本的なコード生成
219
+ - **使用法:** 費用効果の高いAI支援のために`ccs glm`を直接使用
220
+ - **現実:** Claudeアクセスなし、多くのコーディングタスクに対応可能
221
+ - **設定:** GLM APIキーのみ、非常に手頃
222
+
223
+ </details>
224
+
225
+ <details open>
226
+ <summary><strong>✨ 日々の開発に推奨:</strong> 1 Claude Pro + 1 GLM Lite</summary>
227
+
228
+ - **最適:** 日々のコードデリバリー、真剣な開発作業
229
+ - **使用法:** `ccs`で計画 + `ccs glm`で実行(並列ワークフロー)
230
+ - **現実:** ほとんどの開発者にとって能力と費用の完璧なバランス
231
+ - **価値:** セッション制限に達せず、継続的生産性
232
+
233
+ </details>
234
+
235
+ <details>
236
+ <summary><strong>パワーユーザー:</strong> 複数のClaude Pro + GLM Pro</summary>
237
+
238
+ - **最適:** 重い作業量、並行プロジェクト、ソロ開発
239
+ - **解放:** セッション・週次制限を決して枯渇させない
240
+ - **ワークフロー:** 3+以上のターミナルで専門タスクを同時実行
241
+
242
+ </details>
243
+
244
+ <details>
245
+ <summary><strong>プライバシー重視:</strong> 仕事/個人の分離</summary>
246
+
247
+ - **必要時:** 仕事と個人AIコンテキストの厳格な分離
248
+ - **設定:** `ccs auth create work` + `ccs auth create personal`
249
+ - **注意:** 高度な機能 - ほとんどのユーザーには不要
250
+
251
+ </details>
252
+
253
+ ---
126
254
 
127
255
  ## 手動切り替えではなくCCSを使う理由は?
128
256
 
129
257
  <div align="center">
130
258
 
131
- | 機能 | メリット |
132
- |---------|---------|
133
- | **アカウント分離** | 業務と個人を分離 |
134
- | **コスト最適化** | 2-3つのProアカウント vs Max 5倍コスト |
135
- | **即座の切り替え** | 1コマンド、ファイル編集不要 |
136
- | **ゼロダウンタイム** | ワークフロー中断なし |
137
- | **レート制限管理** | 制限時にアカウント切り替え |
138
- | **クロスプラットフォーム** | macOS、Linux、Windows |
259
+ **CCSは「午後3時に制限に達したら切り替える」ことではありません。**
260
+
261
+ ## **それは最初から並列で実行することです。**
139
262
 
140
263
  </div>
141
264
 
142
- **ソリューション**:
265
+ ### コアな違い
266
+
267
+ | **手動切り替え** | **CCSオーケストレーション** |
268
+ |:---|:---|
269
+ | 🔴 制限達成 → 作業停止 → 設定ファイル編集 → 再起動 | ✅ 最初から異なるモデルで複数ターミナルを実行 |
270
+ | 😰 コンテキストロスとフロー状態中断 | 😌 コンテキスト維持での継続的生産性 |
271
+ | 📝 逐次的タスク処理 | ⚡ 並列ワークフロー(計画 + 実行を同時に) |
272
+ | 🛠️ ブロックされた時の反応的問題解決 | 🎯 ブロックを防ぐ主導的ワークフロー設計 |
273
+
274
+ ### CCSが提供するもの
275
+
276
+ - **ゼロコンテキスト切り替え:** 割れずにフロー状態を維持
277
+ - **並列生産性:** 1ターミナルで戦略計画、もう1つでコード実行
278
+ - **即座アカウント管理:** 1コマンド切り替え、設定ファイル編集不要
279
+ - **仕事と生活の分離:** ログアウトせずにコンテキストを分離
280
+ - **クロスプラットフォーム一貫性:** macOS、Linux、Windowsで同じスムーズな体験
281
+
282
+ <br>
283
+
284
+ ## アーキテクチャ
285
+
286
+ ### プロファイルタイプ
287
+
288
+ **設定ベース**: GLM, GLMT, Kimi, default
289
+ - 設定ファイルを指す`--settings`フラグを使用
290
+ - GLMT: 思考モードサポートの埋め込みプロキシ
291
+
292
+ **アカウントベース**: work, personal, team
293
+ - 分離されたインスタンスに`CLAUDE_CONFIG_DIR`を使用
294
+ - `ccs auth create <profile>`で作成
295
+
296
+ ### 共有データ(v3.1)
297
+
298
+ コマンドとスキルは`~/.ccs/shared/`からシンボリックリンク - プロファイル間の重複なし。
299
+
300
+ ```plaintext
301
+ ~/.ccs/
302
+ ├── shared/ # すべてのプロファイルで共有
303
+ │ ├── agents/
304
+ │ ├── commands/
305
+ │ └── skills/
306
+ ├── instances/ # プロファイル固有のデータ
307
+ │ └── work/
308
+ │ ├── agents@ → shared/agents/
309
+ │ ├── commands@ → shared/commands/
310
+ │ ├── skills@ → shared/skills/
311
+ │ ├── settings.json # APIキー、認証情報
312
+ │ ├── sessions/ # 会話履歴
313
+ │ └── ...
314
+ ```
315
+
316
+ | タイプ | ファイル |
317
+ |:-----|:------|
318
+ | **共有** | `commands/`, `skills/`, `agents/` |
319
+ | **プロファイル固有** | `settings.json`, `sessions/`, `todolists/`, `logs/` |
320
+
321
+ > [!NOTE]
322
+ > **Windows**: シンボリックリンクが利用できない場合はディレクトリをコピー(本物のシンボリックリンクには開発者モードを有効にしてください)
323
+
324
+ <br>
325
+
326
+ ## 使用例
327
+
328
+ ### 基本的な切り替え
329
+
143
330
  ```bash
144
- ccs work # 会社のClaudeアカウントを使用
145
- ccs personal # 個人Claudeアカウントに切り替え
146
- ccs glm # コスト効率の良いタスク用にGLMに切り替え
147
- ccs kimi # 代替オプション用にKimiに切り替え
148
- # レート制限に達した?即座に切り替え:
149
- ccs glm # GLMで作業を続行
150
- # 別の会社アカウントが必要?
151
- ccs work-2 # 2番目の会社アカウントに切り替え
331
+ ccs # Claudeサブスクリプション(デフォルト)
332
+ ccs glm # GLM(コスト最適化)
333
+ ccs kimi # Kimi(思考サポート付き)
152
334
  ```
153
335
 
154
- ---
336
+ ### マルチアカウント設定
155
337
 
156
- ## 🏗️ アーキテクチャ概要
338
+ ```bash
339
+ # アカウントを作成
340
+ ccs auth create work
341
+ ccs auth create personal
342
+ ```
343
+
344
+ **別々のターミナルで同時に実行:**
345
+
346
+ ```bash
347
+ # Terminal 1 - 業務用
348
+ ccs work "機能を実装"
349
+
350
+ # Terminal 2 - 個人用(同時)
351
+ ccs personal "コードレビュー"
352
+ ```
353
+
354
+ ### ヘルプとバージョン
355
+
356
+ ```bash
357
+ ccs --version # バージョンを表示
358
+ ccs --help # すべてのコマンドとオプションを表示
359
+ ```
157
360
 
158
- **v3.0 Login-Per-Profileモデル**: 各プロファイルは独立したClaudeインスタンスで、ユーザーが直接ログインします。資格情報のコピーやvault暗号化は不要です。
361
+ <br>
159
362
 
160
- ```mermaid
161
- flowchart TD
162
- subgraph "ユーザー入力"
163
- USER["ユーザー実行: ccs &lt;profile&gt; [args...]"]
164
- end
363
+ ## GLM with Thinking (GLMT)
165
364
 
166
- subgraph "プロファイル検出エンジン"
167
- DETECT[ProfileDetector]
168
- PROFILE_CHECK{プロファイル存在?}
365
+ > [!CAUTION]
366
+ > ### 本番環境未対応 - 実験的機能
367
+ >
368
+ > **GLMTは実験的で広範なデバッグが必要です**:
369
+ > - ストリーミングとツールサポートはまだ開発中
370
+ > - 予期せぬエラー、タイムアウト、不完全な応答が発生する可能性
371
+ > - 頻繁なデバッグと手動介入が必要
372
+ > - **重要なワークフローや本番使用には推奨されません**
373
+ >
374
+ > **GLM Thinkingの代替案**: **CCR hustle**と**BedollaのTransformer**([ZaiTransformer](https://github.com/Bedolla/ZaiTransformer/))を通じて、より安定した実装を検討してください。
169
375
 
170
- subgraph "プロファイルタイプ"
171
- SETTINGS["Settings-based<br/>glm, kimi, default"]
172
- ACCOUNT["Account-based<br/>work, personal, team"]
173
- end
174
- end
376
+ > [!IMPORTANT]
377
+ > GLMTはnpmインストールが必要です(`npm install -g @kaitranntt/ccs`)。ネイティブシェルバージョンでは利用できません(Node.js HTTPサーバーが必要)。
378
+
379
+ <br>
380
+
381
+ > [!NOTE]
382
+ > ### 謝辞:GLMTを可能にした基盤
383
+ >
384
+ > **CCSのGLMT実装は、[@Bedolla](https://github.com/Bedolla)の画期的な仕事に存在を負っています**。彼は[Claude Code Router (CCR)](https://github.com/musistudio/claude-code-router)とZ.AIの推論能力をブリッジする[最初の統合](https://github.com/Bedolla/ZaiTransformer/)を作成しました。
385
+ >
386
+ > ZaiTransformer以前、誰もZ.AIの思考モードとClaude Codeのワークフローを正常に統合できませんでした。Bedollaの仕事は単なる有用なものではなく、**基盤的**でした。彼のリクエスト/レスポンストランスフォーメーションアーキテクチャ、思考モード制御メカニズム、埋め込みプロキシ設計の実装は、GLMTの設計に直接インスピレーションを与え、可能にしました。
387
+ >
388
+ > **ZaiTransformerの先駆的な仕事なしでは、GLMTは現在の形では存在しませんでした。** GLMTの思考能力から利益を得る場合は、Claude Codeエコシステムでの先駆的な仕事をサポートするために[ZaiTransformer](https://github.com/Bedolla/ZaiTransformer/)にスターを付けてください。
389
+
390
+ <br>
391
+
392
+ <details>
393
+ <summary><h3>GLM vs GLMT 比較</h3></summary>
394
+
395
+ <br>
396
+
397
+ <div align="center">
398
+
399
+ | 機能 | GLM (`ccs glm`) | GLMT (`ccs glmt`) |
400
+ |:--------|:----------------|:------------------|
401
+ | **エンドポイント** | Anthropic互換 | OpenAI互換 |
402
+ | **思考** | なし | 実験的(reasoning_content) |
403
+ | **ツールサポート** | 基本的 | **不安定(v3.5+)** |
404
+ | **MCPツール** | 制限あり | **バグあり(v3.5+)** |
405
+ | **ストリーミング** | 安定 | **実験的(v3.4+)** |
406
+ | **TTFB** | <500ms | <500ms(時々)、2-10秒+(頻繁) |
407
+ | **使用例** | 信頼性の高い作業 | **デバッグ実験のみ** |
408
+
409
+ </div>
175
410
 
176
- subgraph "CCSコア処理"
177
- CONFIG["config.jsonと<br/>profiles.jsonを読み込み"]
411
+ </details>
178
412
 
179
- subgraph "プロファイルハンドラー"
180
- SETTINGS_MGR["SettingsManager<br/>→ --settings flag"]
181
- INSTANCE_MGR["InstanceManager<br/>→ CLAUDE_CONFIG_DIR"]
182
- end
183
- end
413
+ <br>
184
414
 
185
- subgraph "Claude CLI実行"
186
- CLAUDE_DETECT["Claude CLI検出<br/>CCS_CLAUDE_PATHサポート"]
415
+ <details>
416
+ <summary><h3>ツールサポート(v3.5) - 実験的</h3></summary>
187
417
 
188
- subgraph "実行方法"
189
- SETTINGS_EXEC["claude --settings &lt;path&gt;"]
190
- INSTANCE_EXEC["CLAUDE_CONFIG_DIR=&lt;instance&gt; claude"]
191
- end
192
- end
418
+ <br>
193
419
 
194
- subgraph "APIレイヤー"
195
- API["API Response<br/>Claude Sonnet 4.5<br/>GLM 4.6<br/>Kimi K2 Thinking"]
196
- end
420
+ **GLMTはMCPツールと関数呼び出しを試行:**
197
421
 
198
- %% Flow connections
199
- USER --> DETECT
200
- DETECT --> PROFILE_CHECK
201
- PROFILE_CHECK -->|はい| SETTINGS
202
- PROFILE_CHECK -->|はい| ACCOUNT
422
+ - **双方向トランスフォーメーション**: Anthropicツール ↔ OpenAI形式(不安定)
423
+ - **MCP統合**: MCPツールが時々実行(多くの場合XMLガベージを出力)
424
+ - **ストリーミングツール呼び出し**: リアルタイムツール呼び出し(クラッシュしない場合)
425
+ - **後方互換**: 既存の思考サポートを破壊する可能性
426
+ - **設定が必要**: 頻繁な手動デバッグが必要
203
427
 
204
- SETTINGS --> CONFIG
205
- ACCOUNT --> CONFIG
428
+ </details>
206
429
 
207
- CONFIG --> SETTINGS_MGR
208
- CONFIG --> INSTANCE_MGR
430
+ <details>
431
+ <summary><h3>ストリーミングサポート(v3.4) - しばしば失敗</h3></summary>
209
432
 
210
- SETTINGS_MGR --> SETTINGS_EXEC
211
- INSTANCE_MGR --> INSTANCE_EXEC
433
+ <br>
212
434
 
213
- SETTINGS_EXEC --> CLAUDE_DETECT
214
- INSTANCE_EXEC --> CLAUDE_DETECT
435
+ **GLMTは増分推論コンテンツ配信でリアルタイムストリーミングを試行:**
215
436
 
216
- CLAUDE_DETECT --> API
437
+ - **デフォルト**: ストリーミング有効(動作時TTFB <500ms)
438
+ - **自動フォールバック**: エラーにより頻繁にバッファモードに切り替え
439
+ - **思考パラメータ**: Claude CLI `thinking`パラメータが時々動作
440
+ - `thinking.type`と`budget_tokens`を無視する場合
441
+ - 優先順位: CLIパラメータ > メッセージタグ > デフォルト(破壊されていない場合)
442
+
443
+ **ステータス**: Z.AI(テスト済み、ツール呼び出しが頻繁に破壊、継続的なデバッグが必要)
444
+
445
+ </details>
446
+
447
+ <details>
448
+ <summary><h3>動作原理(動作時)</h3></summary>
449
+
450
+ <br>
451
+
452
+ 1. CCSがlocalhostに埋め込みHTTPプロキシを生成(クラッシュしない場合)
453
+ 2. プロキシがAnthropic形式 → OpenAI形式への変換を試行(多くの場合失敗)
454
+ 3. Anthropicツール → OpenAI関数呼び出し形式への変換を試行(バグあり)
455
+ 4. 推論パラメータとツールを付けてZ.AIに転送(タイムアウトしない場合)
456
+ 5. `reasoning_content` → 思考ブロックへの変換を試行(部分的または破壊)
457
+ 6. OpenAI `tool_calls` → Anthropic `tool_use` ブロックへの変換を試行(XMLガベージが一般的)
458
+ 7. 思考とツール呼び出しが時々Claude Code UIに表示(破壊されていない場合)
459
+
460
+ </details>
461
+
462
+ <details>
463
+ <summary><h3>制御タグとキーワード</h3></summary>
464
+
465
+ <br>
466
+
467
+ **制御タグ**:
468
+ - `<Thinking:On|Off>` - 推論ブロックの有効/無効(デフォルト: On)
469
+ - `<Effort:Low|Medium|High>` - 推論深度の制御(非推奨 - Z.AIはバイナリ思考のみサポート)
470
+
471
+ **思考キーワード**(不安定なアクティベーション):
472
+ - `think` - 時々推論を有効化(低労力)
473
+ - `think hard` - 時々推論を有効化(中労力)
474
+ - `think harder` - 時々推論を有効化(高労力)
475
+ - `ultrathink` - 最大推論深度を試行(多くの場合破壊)
476
+
477
+ </details>
478
+
479
+ <details>
480
+ <summary><h3>環境変数</h3></summary>
481
+
482
+ <br>
483
+
484
+ **GLMT機能**(すべて実験的):
485
+ - 強制的な英語出力強制(時々動作)
486
+ - ランダムな思考モードアクティベーション(予測不可能)
487
+ - 頻繁なバッファモードへのフォールバック付きストリーミング試行
488
+
489
+ **一般**:
490
+ - `CCS_DEBUG_LOG=1` - デバッグファイルロギングを有効化
491
+ - `CCS_CLAUDE_PATH=/path/to/claude` - カスタムClaude CLIパス
492
+
493
+ </details>
494
+
495
+ <details>
496
+ <summary><h3>APIキー設定</h3></summary>
497
+
498
+ <br>
499
+
500
+ ```bash
501
+ # GLMT設定を編集
502
+ nano ~/.ccs/glmt.settings.json
217
503
  ```
218
504
 
219
- ---
505
+ Z.AI APIキーを設定(コーディングプランが必要):
506
+
507
+ ```json
508
+ {
509
+ "env": {
510
+ "ANTHROPIC_AUTH_TOKEN": "your-z-ai-api-key"
511
+ }
512
+ }
513
+ ```
220
514
 
221
- ## ⚡ 機能
515
+ </details>
222
516
 
223
- - **即座の切り替え** - `ccs glm`でGLMに切り替え、設定編集不要
224
- - **同時セッション** - 複数のプロファイルを異なるターミナルで同時実行
225
- - **独立したインスタンス** - 各プロファイルが独自の設定を保持 (`~/.ccs/instances/<profile>/`)
226
- - **クロスプラットフォーム** - macOS、Linux、Windows - 同一動作
227
- - **ダウンタイムなし** - 即座に切り替え、ワークフロー中断なし
517
+ <details>
518
+ <summary><h3>セキュリティ制限(DoS保護)</h3></summary>
228
519
 
520
+ <br>
229
521
 
230
- ---
522
+ **v3.4 保護制限**:
523
+
524
+ | 制限 | 値 | 目的 |
525
+ |:------|:------|:--------|
526
+ | **SSEバッファ** | イベントあたり最大1MB | バッファオーバーフローを防止 |
527
+ | **コンテンツバッファ** | ブロックあたり最大10MB | 思考/テキストブロックを制限 |
528
+ | **コンテンツブロック** | メッセージあたり最大100 | DoS攻撃を防止 |
529
+ | **リクエストタイムアウト** | 120秒 | ストリーミングとバッファの両方 |
530
+
531
+ </details>
231
532
 
232
- ## 💻 使用例
533
+ <details>
534
+ <summary><h3>デバッグ</h3></summary>
233
535
 
536
+ <br>
537
+
538
+ **詳細ロギングを有効化**:
234
539
  ```bash
235
- ccs # Claudeサブスクリプションを使用(デフォルト)
236
- ccs glm # GLMフォールバックを使用
237
- ccs kimi # Kimi for Codingを使用
238
- ccs --version # CCSバージョンとインストール場所を表示
540
+ ccs glmt --verbose "your prompt"
239
541
  ```
240
542
 
241
- ### 同時セッション (Multi-Account)
543
+ **デバッグファイルロギングを有効化**:
242
544
  ```bash
243
- # 複数のClaudeアカウントを作成
244
- ccs auth create work # 業務用アカウント
245
- ccs auth create personal # 個人用アカウント
246
- ccs auth create team # チーム用アカウント
545
+ export CCS_DEBUG_LOG=1
546
+ ccs glmt --verbose "your prompt"
547
+ # ログ: ~/.ccs/logs/
548
+ ```
247
549
 
248
- # ターミナル1 - 業務用アカウント
249
- ccs work "implement feature"
550
+ **GLMTデバッグ**:
551
+ ```bash
552
+ # 詳細ロギングでストリーミングステータスと推論詳細を表示
553
+ ccs glmt --verbose "test"
554
+ ```
250
555
 
251
- # ターミナル2 - 個人用アカウント(同時実行)
252
- ccs personal "review code"
556
+ **推論コンテンツを確認**:
557
+ ```bash
558
+ cat ~/.ccs/logs/*response-openai.json | jq '.choices[0].message.reasoning_content'
253
559
  ```
254
560
 
255
- ---
561
+ **トラブルシューティング**:
562
+ - **存在しない場合**: Z.AI APIの問題(キー、アカウントステータスを確認)
563
+ - **存在する場合**: トランスフォーメーションの問題(`response-anthropic.json`を確認)
564
+
565
+ </details>
566
+
567
+ <br>
568
+
569
+ ## アンインストール
570
+
571
+ <details>
572
+ <summary><h3>パッケージマネージャー</h3></summary>
256
573
 
257
- ### 🗑️ アンインストール
574
+ <br>
258
575
 
259
- **パッケージマネージャー**
260
576
  ```bash
261
577
  # npm
262
578
  npm uninstall -g @kaitranntt/ccs
@@ -271,19 +587,24 @@ pnpm remove -g @kaitranntt/ccs
271
587
  bun remove -g @kaitranntt/ccs
272
588
  ```
273
589
 
274
- **公式アンインストーラー**
590
+ </details>
591
+
592
+ <details>
593
+ <summary><h3>公式アンインストーラー</h3></summary>
594
+
595
+ <br>
275
596
 
276
- **macOS / Linux**
277
597
  ```bash
598
+ # macOS / Linux
278
599
  curl -fsSL ccs.kaitran.ca/uninstall | bash
279
- ```
280
600
 
281
- **Windows PowerShell**
282
- ```powershell
601
+ # Windows PowerShell
283
602
  irm ccs.kaitran.ca/uninstall | iex
284
603
  ```
285
604
 
286
- ---
605
+ </details>
606
+
607
+ <br>
287
608
 
288
609
  ## 🎯 哲学
289
610
 
@@ -291,30 +612,33 @@ irm ccs.kaitran.ca/uninstall | iex
291
612
  - **KISS**: シンプルなbash、複雑さなし
292
613
  - **DRY**: 単一の情報源(設定)
293
614
 
294
- ---
295
-
296
615
  ## 📖 ドキュメント
297
616
 
298
617
  **[docs/](./docs/)の完全なドキュメント**:
299
618
  - [インストールガイド](./docs/en/installation.md)
300
619
  - [設定](./docs/en/configuration.md)
301
620
  - [使用例](./docs/en/usage.md)
621
+ - [システムアーキテクチャ](./docs/system-architecture.md)
622
+ - [GLMT制御メカニズム](./docs/glmt-controls.md)
302
623
  - [トラブルシューティング](./docs/en/troubleshooting.md)
303
- - [コントリビューション](./CONTRIBUTING.md)
624
+ - [貢献](./CONTRIBUTING.md)
304
625
 
305
- ---
626
+ ## 🤝 貢献
306
627
 
307
- ## 🤝 コントリビューション
628
+ 貢献を歓迎します!詳細については[貢献ガイド](./CONTRIBUTING.md)をご覧ください。
308
629
 
309
- コントリビューションを歓迎します!詳細については[コントリビューションガイド](./CONTRIBUTING.md)をご覧ください。
630
+ ## Star History
310
631
 
311
- ---
632
+ <div align="center">
312
633
 
313
- ## 📄 ライセンス
634
+ <img src="https://api.star-history.com/svg?repos=kaitranntt/ccs&type=timeline&logscale&legend=top-left" alt="Star History Chart" width="800">
314
635
 
315
- CCSは[MITライセンス](LICENSE)の下でライセンスされています。
636
+ </div>
316
637
 
317
- ---
638
+
639
+ ## ライセンス
640
+
641
+ CCSは[MITライセンス](LICENSE)の下でライセンスされています。
318
642
 
319
643
  <div align="center">
320
644
 
@@ -322,4 +646,4 @@ CCSは[MITライセンス](LICENSE)の下でライセンスされています。
322
646
 
323
647
  [⭐ このリポジトリにスター](https://github.com/kaitranntt/ccs) | [🐛 問題を報告](https://github.com/kaitranntt/ccs/issues) | [📖 ドキュメントを読む](./docs/en/)
324
648
 
325
- </div>
649
+ </div>