@piceofpentogramm/alterclaude 0.1.8 → 0.1.9

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 (3) hide show
  1. package/README.md +36 -98
  2. package/dist/cli.mjs +10 -10
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,155 +1,93 @@
1
1
  # AlterClaude
2
2
 
3
- Use Claude Code with **any LLM**not just Claude.
3
+ Используй Claude Code с **любой моделью**GPT, DeepSeek, Gemini, Llama, OpenRouter, локальные через Ollama — не только Claude.
4
4
 
5
- AlterClaude это форк [OpenClaude](https://github.com/Gitlawb/openclaude) (который, в свою очередь, форк Claude Code), с дополнительными улучшениями: фиолетовая тема, 3-шаговый мастер настройки провайдера, обновлённый интерфейс.
6
-
7
- Все инструменты Claude Code работают — bash, file read/write/edit, grep, glob, agents, tasks, MCP — просто вместо Claude ими управляет любая модель, которую вы выбрали.
8
-
9
- ---
10
-
11
- ## Быстрый старт (рекомендуемый)
12
-
13
- Установите пакет и запустите **встроенный мастер настройки** — `/provider`:
5
+ Просто установи и запусти `/provider` внутри программы.
14
6
 
15
7
  ```bash
16
8
  npm install -g @piceofpentogramm/alterclaude
17
9
  alterclaude
18
10
  ```
19
11
 
20
- Внутри AlterClaude введите:
21
-
22
- ```
23
- /provider
24
- ```
25
-
26
- Мастер проведёт вас через настройку: выберите провайдера (OpenAI, OpenRouter, Gemini, Ollama, Codex), введите API-ключ, укажите endpoint и модель. Профиль сохранится автоматически.
12
+ Когда увидишь экран приветствия, напиши `/provider` и выбери провайдера. Мастер сам попросит ключ, endpoint, модель — и сохранит настройки. При следующем запуске всё будет готово.
27
13
 
28
14
  ---
29
15
 
30
- ## Быстрый старт (вручную)
31
-
32
- ### OpenRouter
16
+ ## Быстрый старт
33
17
 
34
18
  ```bash
35
19
  npm install -g @piceofpentogramm/alterclaude
36
-
37
- export CLAUDE_CODE_USE_OPENROUTER=1
38
- export OPENROUTER_API_KEY=sk-or-your-key-here
39
-
40
20
  alterclaude
21
+ # внутри напиши: /provider
22
+ # выбери OpenRouter / OpenAI / Gemini / Ollama и следуй шагам
41
23
  ```
42
24
 
43
- Модели по умолчанию: opus `deepseek/deepseek-v4-pro`, sonnet → `deepseek/deepseek-v4-flash`, haiku `tencent/hy3-preview`. Переопределить через `OPENROUTER_MODEL`.
25
+ После настройки просто запускай `alterclaude` профиль подхватится автоматически.
44
26
 
45
- ### OpenAI
27
+ ### Вручную (без /provider)
46
28
 
29
+ **OpenRouter:**
47
30
  ```bash
48
- npm install -g @piceofpentogramm/alterclaude
31
+ export CLAUDE_CODE_USE_OPENROUTER=1
32
+ export OPENROUTER_API_KEY=sk-or-v1-ваш-ключ
33
+ alterclaude
34
+ ```
49
35
 
36
+ **OpenAI:**
37
+ ```bash
50
38
  export CLAUDE_CODE_USE_OPENAI=1
51
- export OPENAI_API_KEY=sk-your-key-here
52
- export OPENAI_MODEL=gpt-4o
53
-
39
+ export OPENAI_API_KEY=sk-ваш-ключ
54
40
  alterclaude
55
41
  ```
56
42
 
57
- ### Windows PowerShell
58
-
43
+ **Windows PowerShell:**
59
44
  ```powershell
60
- npm install -g @piceofpentogramm/alterclaude
61
-
62
45
  $env:CLAUDE_CODE_USE_OPENAI="1"
63
- $env:OPENAI_API_KEY="sk-your-key-here"
64
- $env:OPENAI_MODEL="gpt-4o"
65
-
46
+ $env:OPENAI_API_KEY="sk-ваш-ключ"
66
47
  alterclaude
67
48
  ```
68
49
 
69
50
  ---
70
51
 
71
- ## Выберите свой путь
52
+ ## Зависимости
72
53
 
73
- - **[Non-Technical Setup](docs/non-technical-setup.md)** — самый простой путь, копипаст
74
- - **[Windows Quick Start](docs/quick-start-windows.md)**
75
- - **[macOS / Linux Quick Start](docs/quick-start-mac-linux.md)**
76
- - **[Advanced Setup](docs/advanced-setup.md)** — сборка из исходников, Bun, профили, runtime checks
54
+ - **Node.js 20+**
55
+ - **Docker** (требуется для веб-поиска через SearXNG; если Docker не установлен, поиск будет недоступен, но всё остальное работает)
56
+ - **ripgrep** (нужен для поиска по файлам; если не установлен, AlterClaude предупредит при запуске)
77
57
 
78
58
  ---
79
59
 
80
60
  ## Что работает
81
61
 
82
- - **Все инструменты**: Bash, FileRead, FileWrite, FileEdit, Glob, Grep, WebFetch, WebSearch, Agent, MCP, LSP, NotebookEdit, Tasks
83
- - **Стриминг**: токены в реальном времени
84
- - **Tool calling**: многошаговые цепочки инструментов
85
- - **Изображения**: base64 и URL для vision-моделей
86
- - **Slash-команды**: `/commit`, `/review`, `/compact`, `/diff`, `/doctor`, `/provider` и другие
87
- - **Sub-агенты**: AgentTool порождает под-агентов с тем же провайдером
88
- - **Память**: персистентная система памяти
62
+ Все инструменты Claude Code — Bash, файловые операции, поиск, агенты, MCP, LSP работают с любой моделью.
63
+
64
+ - Стриминг токенов в реальном времени
65
+ - Многошаговые вызовы инструментов
66
+ - Изображения (base64/URL) для vision-моделей
67
+ - Slash-команды: `/commit`, `/review`, `/compact`, `/diff`, `/doctor`, `/provider` и другие
68
+ - Sub-агенты и система памяти
89
69
 
90
- ## Что отличается от Claude Code
70
+ ## Чего нет
91
71
 
92
- - **Нет thinking mode** Anthropic-специфичный extended thinking отключён
93
- - **Нет prompt caching** Anthropic-заголовки кэширования пропущены
94
- - **Нет beta-фич** — Anthropic beta-заголовки игнорируются
95
- - **Token limits** — по умолчанию 32K max output, некоторые модели могут снижать
72
+ - Anthropic thinking mode (не нужен для OpenAI-совместимых моделей)
73
+ - Prompt caching (Anthropic-специфичная фича)
74
+ - Beta-фичи Anthropic
96
75
 
97
76
  ---
98
77
 
99
78
  ## Как это работает
100
79
 
101
- Прослойка (`src/services/api/openaiShim.ts`) находится между Claude Code и API LLM:
80
+ Прослойка перехватывает запросы Claude Code и переводит их в OpenAI-формат. Остальной код не знает, что говорит с другой моделью.
102
81
 
103
82
  ```
104
- Claude Code Tool System
105
- |
106
- v
107
- Anthropic SDK interface (duck-typed)
108
- |
109
- v
110
- openaiShim.ts <-- переводит форматы
111
- |
112
- v
113
- OpenAI Chat Completions API
114
- |
115
- v
116
- Любая совместимая модель
83
+ Claude Code openaiShim.ts → OpenAI API → любая модель
117
84
  ```
118
85
 
119
- Конвертация:
120
- - Anthropic message blocks → OpenAI messages
121
- - Anthropic tool_use/tool_result → OpenAI function calls
122
- - OpenAI SSE streaming → Anthropic stream events
123
- - Anthropic system prompt arrays → OpenAI system messages
124
-
125
- Остальной Claude Code не знает, что говорит с другой моделью.
126
-
127
- ---
128
-
129
- ## Модели и качество
130
-
131
- | Модель | Tool Calling | Качество кода | Скорость |
132
- |--------|-------------|---------------|----------|
133
- | GPT-4o | Отлично | Отлично | Быстро |
134
- | DeepSeek-V3 | Отлично | Отлично | Быстро |
135
- | Gemini 2.0 Flash | Отлично | Хорошо | Очень быстро |
136
- | Llama 3.3 70B | Хорошо | Хорошо | Средне |
137
- | Mistral Large | Хорошо | Хорошо | Быстро |
138
- | GPT-4o-mini | Хорошо | Хорошо | Очень быстро |
139
- | Qwen 2.5 72B | Хорошо | Хорошо | Средне |
140
- | Маленькие модели (<7B) | Ограниченно | Ограниченно | Очень быстро |
141
-
142
- Для лучших результатов используйте модели с сильной поддержкой function/tool calling.
143
-
144
86
  ---
145
87
 
146
88
  ## Origin
147
89
 
148
- AlterClaude — форк [OpenClaude](https://github.com/Gitlawb/openclaude), который, в свою очередь, форк Claude Code, ставшего публично доступным через экспозицию npm source map 31 марта 2026.
149
-
150
- Оригинальный Claude Code — собственность Anthropic. Этот репозиторий не аффилирован с Anthropic и не одобрен ими.
151
-
152
- ---
90
+ Форк [OpenClaude](https://github.com/Gitlawb/openclaude). Оригинальный Claude Code собственность Anthropic. Не аффилирован и не одобрен Anthropic.
153
91
 
154
92
  ## License
155
93
 
package/dist/cli.mjs CHANGED
@@ -120201,7 +120201,7 @@ function printStartupScreen() {
120201
120201
  const sLen = ` ● ${sL} Ready — type /help to begin`.length;
120202
120202
  out.push(boxRow(sRow, W2, sLen));
120203
120203
  out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
120204
- out.push(` ${DIM}${rgb(...DIMCOL)}alterclaude ${RESET}${rgb(...ACCENT)}v${"0.1.8"}${RESET}`);
120204
+ out.push(` ${DIM}${rgb(...DIMCOL)}alterclaude ${RESET}${rgb(...ACCENT)}v${"0.1.9"}${RESET}`);
120205
120205
  out.push("");
120206
120206
  process.stdout.write(out.join(`
120207
120207
  `) + `
@@ -358955,7 +358955,7 @@ function getAnthropicEnvMetadata() {
358955
358955
  function getBuildAgeMinutes() {
358956
358956
  if (false)
358957
358957
  ;
358958
- const buildTime = new Date("2026-05-29T16:58:46.964Z").getTime();
358958
+ const buildTime = new Date("2026-05-29T17:07:30.588Z").getTime();
358959
358959
  if (isNaN(buildTime))
358960
358960
  return;
358961
358961
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -451547,7 +451547,7 @@ var init_bridge_kick = __esm(() => {
451547
451547
  var call58 = async () => {
451548
451548
  return {
451549
451549
  type: "text",
451550
- value: `${"99.0.0"} (built ${"2026-05-29T16:58:46.964Z"})`
451550
+ value: `${"99.0.0"} (built ${"2026-05-29T17:07:30.588Z"})`
451551
451551
  };
451552
451552
  }, version2, version_default;
451553
451553
  var init_version = __esm(() => {
@@ -524688,7 +524688,7 @@ function WelcomeV2() {
524688
524688
  dimColor: true,
524689
524689
  children: [
524690
524690
  "v",
524691
- "0.1.8",
524691
+ "0.1.9",
524692
524692
  " "
524693
524693
  ]
524694
524694
  }, undefined, true, undefined, this)
@@ -524888,7 +524888,7 @@ function WelcomeV2() {
524888
524888
  dimColor: true,
524889
524889
  children: [
524890
524890
  "v",
524891
- "0.1.8",
524891
+ "0.1.9",
524892
524892
  " "
524893
524893
  ]
524894
524894
  }, undefined, true, undefined, this)
@@ -525114,7 +525114,7 @@ function AppleTerminalWelcomeV2(t0) {
525114
525114
  dimColor: true,
525115
525115
  children: [
525116
525116
  "v",
525117
- "0.1.8",
525117
+ "0.1.9",
525118
525118
  " "
525119
525119
  ]
525120
525120
  }, undefined, true, undefined, this);
@@ -525368,7 +525368,7 @@ function AppleTerminalWelcomeV2(t0) {
525368
525368
  dimColor: true,
525369
525369
  children: [
525370
525370
  "v",
525371
- "0.1.8",
525371
+ "0.1.9",
525372
525372
  " "
525373
525373
  ]
525374
525374
  }, undefined, true, undefined, this);
@@ -545916,7 +545916,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
545916
545916
  pendingHookMessages
545917
545917
  }, renderAndRun);
545918
545918
  }
545919
- }).version("0.1.8 (Alter Claude)", "-v, --version", "Output the version number");
545919
+ }).version("0.1.9 (Alter Claude)", "-v, --version", "Output the version number");
545920
545920
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
545921
545921
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
545922
545922
  if (canUserConfigureAdvisor()) {
@@ -546496,7 +546496,7 @@ function validateProviderEnvOrExit() {
546496
546496
  async function main2() {
546497
546497
  const args = process.argv.slice(2);
546498
546498
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
546499
- console.log(`${"0.1.8"} (Alter Claude)`);
546499
+ console.log(`${"0.1.9"} (Alter Claude)`);
546500
546500
  return;
546501
546501
  }
546502
546502
  {
@@ -546608,4 +546608,4 @@ async function main2() {
546608
546608
  }
546609
546609
  main2();
546610
546610
 
546611
- //# debugId=2FB58A0D5DBC934C64756E2164756E21
546611
+ //# debugId=155EC10619E03D9564756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@piceofpentogramm/alterclaude",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Claude Code opened to any LLM — OpenAI, Gemini, DeepSeek, Ollama, and 200+ models",
5
5
  "type": "module",
6
6
  "bin": {