@piceofpentogramm/alterclaude 0.1.0 → 0.1.1
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.md +61 -120
- package/dist/cli.mjs +10 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,59 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
Use Claude Code with **any LLM** — not just Claude.
|
|
4
4
|
|
|
5
|
-
AlterClaude
|
|
5
|
+
AlterClaude — это форк [OpenClaude](https://github.com/Gitlawb/openclaude) (который, в свою очередь, форк Claude Code), с дополнительными улучшениями: фиолетовая тема, 3-шаговый мастер настройки провайдера, обновлённый интерфейс.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Все инструменты Claude Code работают — bash, file read/write/edit, grep, glob, agents, tasks, MCP — просто вместо Claude ими управляет любая модель, которую вы выбрали.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Быстрый старт (рекомендуемый)
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- [Non-Technical Setup](docs/non-technical-setup.md)
|
|
16
|
-
- [Windows Quick Start](docs/quick-start-windows.md)
|
|
17
|
-
- [macOS / Linux Quick Start](docs/quick-start-mac-linux.md)
|
|
18
|
-
|
|
19
|
-
If you want source builds, Bun workflows, profile launchers, or full provider examples, use:
|
|
20
|
-
|
|
21
|
-
- [Advanced Setup](docs/advanced-setup.md)
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Beginner Install
|
|
26
|
-
|
|
27
|
-
For most users, install the npm package:
|
|
13
|
+
Установите пакет и запустите **встроенный мастер настройки** — `/provider`:
|
|
28
14
|
|
|
29
15
|
```bash
|
|
30
16
|
npm install -g @piceofpentogramm/alterclaude
|
|
17
|
+
alterclaude
|
|
31
18
|
```
|
|
32
19
|
|
|
33
|
-
|
|
20
|
+
Внутри AlterClaude введите:
|
|
34
21
|
|
|
35
|
-
```
|
|
36
|
-
|
|
22
|
+
```
|
|
23
|
+
/provider
|
|
37
24
|
```
|
|
38
25
|
|
|
39
|
-
|
|
26
|
+
Мастер проведёт вас через настройку: выберите провайдера (OpenAI, OpenRouter, Gemini, Ollama, Codex), введите API-ключ, укажите endpoint и модель. Профиль сохранится автоматически.
|
|
40
27
|
|
|
41
28
|
---
|
|
42
29
|
|
|
43
|
-
##
|
|
30
|
+
## Быстрый старт (вручную)
|
|
44
31
|
|
|
45
|
-
###
|
|
32
|
+
### OpenRouter
|
|
46
33
|
|
|
47
|
-
```
|
|
34
|
+
```bash
|
|
48
35
|
npm install -g @piceofpentogramm/alterclaude
|
|
49
36
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
$env:OPENAI_MODEL="gpt-4o"
|
|
37
|
+
export CLAUDE_CODE_USE_OPENROUTER=1
|
|
38
|
+
export OPENROUTER_API_KEY=sk-or-your-key-here
|
|
53
39
|
|
|
54
40
|
alterclaude
|
|
55
41
|
```
|
|
56
42
|
|
|
57
|
-
|
|
43
|
+
Модели по умолчанию: opus → `deepseek/deepseek-v4-pro`, sonnet → `deepseek/deepseek-v4-flash`, haiku → `tencent/hy3-preview`. Переопределить через `OPENROUTER_MODEL`.
|
|
44
|
+
|
|
45
|
+
### OpenAI
|
|
58
46
|
|
|
59
47
|
```bash
|
|
60
48
|
npm install -g @piceofpentogramm/alterclaude
|
|
@@ -66,81 +54,51 @@ export OPENAI_MODEL=gpt-4o
|
|
|
66
54
|
alterclaude
|
|
67
55
|
```
|
|
68
56
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
### OpenRouter (Fastest)
|
|
57
|
+
### Windows PowerShell
|
|
74
58
|
|
|
75
|
-
```
|
|
59
|
+
```powershell
|
|
76
60
|
npm install -g @piceofpentogramm/alterclaude
|
|
77
61
|
|
|
78
|
-
|
|
79
|
-
|
|
62
|
+
$env:CLAUDE_CODE_USE_OPENAI="1"
|
|
63
|
+
$env:OPENAI_API_KEY="sk-your-key-here"
|
|
64
|
+
$env:OPENAI_MODEL="gpt-4o"
|
|
80
65
|
|
|
81
66
|
alterclaude
|
|
82
67
|
```
|
|
83
68
|
|
|
84
|
-
Default model: `deepseek/deepseek-v4-flash` (haiku → `tencent/hy3-preview`, sonnet → `deepseek/deepseek-v4-flash`, opus → `deepseek/deepseek-v4-pro`). Override with `OPENROUTER_MODEL`.
|
|
85
|
-
|
|
86
69
|
---
|
|
87
70
|
|
|
88
|
-
##
|
|
89
|
-
|
|
90
|
-
### Beginner
|
|
91
|
-
|
|
92
|
-
- Want the easiest setup with copy-paste steps: [Non-Technical Setup](docs/non-technical-setup.md)
|
|
93
|
-
- On Windows: [Windows Quick Start](docs/quick-start-windows.md)
|
|
94
|
-
- On macOS or Linux: [macOS / Linux Quick Start](docs/quick-start-mac-linux.md)
|
|
95
|
-
|
|
96
|
-
### Advanced
|
|
71
|
+
## Выберите свой путь
|
|
97
72
|
|
|
98
|
-
-
|
|
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
|
|
99
77
|
|
|
100
78
|
---
|
|
101
79
|
|
|
102
|
-
##
|
|
103
|
-
|
|
104
|
-
### OpenRouter
|
|
105
|
-
|
|
106
|
-
Best if you want to use any model through OpenRouter (DeepSeek, OpenAI, Anthropic, Gemini, and 200+ more). Set `CLAUDE_CODE_USE_OPENROUTER=1` and `OPENROUTER_API_KEY`.
|
|
107
|
-
|
|
108
|
-
### OpenAI
|
|
109
|
-
|
|
110
|
-
Best default if you already have an OpenAI API key.
|
|
111
|
-
|
|
112
|
-
### Ollama
|
|
80
|
+
## Что работает
|
|
113
81
|
|
|
114
|
-
|
|
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
|
+
- **Память**: персистентная система памяти
|
|
115
89
|
|
|
116
|
-
|
|
90
|
+
## Что отличается от Claude Code
|
|
117
91
|
|
|
118
|
-
|
|
92
|
+
- **Нет thinking mode** — Anthropic-специфичный extended thinking отключён
|
|
93
|
+
- **Нет prompt caching** — Anthropic-заголовки кэширования пропущены
|
|
94
|
+
- **Нет beta-фич** — Anthropic beta-заголовки игнорируются
|
|
95
|
+
- **Token limits** — по умолчанию 32K max output, некоторые модели могут снижать
|
|
119
96
|
|
|
120
97
|
---
|
|
121
98
|
|
|
122
|
-
##
|
|
99
|
+
## Как это работает
|
|
123
100
|
|
|
124
|
-
|
|
125
|
-
- **Streaming**: Real-time token streaming
|
|
126
|
-
- **Tool calling**: Multi-step tool chains (the model calls tools, gets results, continues)
|
|
127
|
-
- **Images**: Base64 and URL images passed to vision models
|
|
128
|
-
- **Slash commands**: /commit, /review, /compact, /diff, /doctor, etc.
|
|
129
|
-
- **Sub-agents**: AgentTool spawns sub-agents using the same provider
|
|
130
|
-
- **Memory**: Persistent memory system
|
|
131
|
-
|
|
132
|
-
## What's Different
|
|
133
|
-
|
|
134
|
-
- **No thinking mode**: Anthropic's extended thinking is disabled (OpenAI models use different reasoning)
|
|
135
|
-
- **No prompt caching**: Anthropic-specific cache headers are skipped
|
|
136
|
-
- **No beta features**: Anthropic-specific beta headers are ignored
|
|
137
|
-
- **Token limits**: Defaults to 32K max output — some models may cap lower, which is handled gracefully
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## How It Works
|
|
142
|
-
|
|
143
|
-
The shim (`src/services/api/openaiShim.ts`) sits between Claude Code and the LLM API:
|
|
101
|
+
Прослойка (`src/services/api/openaiShim.ts`) находится между Claude Code и API LLM:
|
|
144
102
|
|
|
145
103
|
```
|
|
146
104
|
Claude Code Tool System
|
|
@@ -149,67 +107,50 @@ Claude Code Tool System
|
|
|
149
107
|
Anthropic SDK interface (duck-typed)
|
|
150
108
|
|
|
|
151
109
|
v
|
|
152
|
-
openaiShim.ts <--
|
|
110
|
+
openaiShim.ts <-- переводит форматы
|
|
153
111
|
|
|
|
154
112
|
v
|
|
155
113
|
OpenAI Chat Completions API
|
|
156
114
|
|
|
|
157
115
|
v
|
|
158
|
-
|
|
116
|
+
Любая совместимая модель
|
|
159
117
|
```
|
|
160
118
|
|
|
161
|
-
|
|
119
|
+
Конвертация:
|
|
162
120
|
- Anthropic message blocks → OpenAI messages
|
|
163
121
|
- Anthropic tool_use/tool_result → OpenAI function calls
|
|
164
122
|
- OpenAI SSE streaming → Anthropic stream events
|
|
165
123
|
- Anthropic system prompt arrays → OpenAI system messages
|
|
166
124
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Model Quality Notes
|
|
172
|
-
|
|
173
|
-
Not all models are equal at agentic tool use. Here's a rough guide:
|
|
174
|
-
|
|
175
|
-
| Model | Tool Calling | Code Quality | Speed |
|
|
176
|
-
|-------|-------------|-------------|-------|
|
|
177
|
-
| GPT-4o | Excellent | Excellent | Fast |
|
|
178
|
-
| DeepSeek-V3 | Great | Great | Fast |
|
|
179
|
-
| Gemini 2.0 Flash | Great | Good | Very Fast |
|
|
180
|
-
| Llama 3.3 70B | Good | Good | Medium |
|
|
181
|
-
| Mistral Large | Good | Good | Fast |
|
|
182
|
-
| GPT-4o-mini | Good | Good | Very Fast |
|
|
183
|
-
| Qwen 2.5 72B | Good | Good | Medium |
|
|
184
|
-
| Smaller models (<7B) | Limited | Limited | Very Fast |
|
|
185
|
-
|
|
186
|
-
For best results, use models with strong function/tool calling support.
|
|
125
|
+
Остальной Claude Code не знает, что говорит с другой моделью.
|
|
187
126
|
|
|
188
127
|
---
|
|
189
128
|
|
|
190
|
-
##
|
|
129
|
+
## Модели и качество
|
|
191
130
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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) | Ограниченно | Ограниченно | Очень быстро |
|
|
200
141
|
|
|
201
|
-
|
|
142
|
+
Для лучших результатов используйте модели с сильной поддержкой function/tool calling.
|
|
202
143
|
|
|
203
144
|
---
|
|
204
145
|
|
|
205
146
|
## Origin
|
|
206
147
|
|
|
207
|
-
|
|
148
|
+
AlterClaude — форк [OpenClaude](https://github.com/Gitlawb/openclaude), который, в свою очередь, форк Claude Code, ставшего публично доступным через экспозицию npm source map 31 марта 2026.
|
|
208
149
|
|
|
209
|
-
|
|
150
|
+
Оригинальный Claude Code — собственность Anthropic. Этот репозиторий не аффилирован с Anthropic и не одобрен ими.
|
|
210
151
|
|
|
211
152
|
---
|
|
212
153
|
|
|
213
154
|
## License
|
|
214
155
|
|
|
215
|
-
|
|
156
|
+
MIT
|
package/dist/cli.mjs
CHANGED
|
@@ -120164,7 +120164,7 @@ function printStartupScreen() {
|
|
|
120164
120164
|
const sLen = ` ● ${sL} Ready — type /help to begin`.length;
|
|
120165
120165
|
out.push(boxRow(sRow, W2, sLen));
|
|
120166
120166
|
out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
|
|
120167
|
-
out.push(` ${DIM}${rgb(...DIMCOL)}alterclaude ${RESET}${rgb(...ACCENT)}v${"0.1.
|
|
120167
|
+
out.push(` ${DIM}${rgb(...DIMCOL)}alterclaude ${RESET}${rgb(...ACCENT)}v${"0.1.1"}${RESET}`);
|
|
120168
120168
|
out.push("");
|
|
120169
120169
|
process.stdout.write(out.join(`
|
|
120170
120170
|
`) + `
|
|
@@ -358918,7 +358918,7 @@ function getAnthropicEnvMetadata() {
|
|
|
358918
358918
|
function getBuildAgeMinutes() {
|
|
358919
358919
|
if (false)
|
|
358920
358920
|
;
|
|
358921
|
-
const buildTime = new Date("2026-05-29T15:
|
|
358921
|
+
const buildTime = new Date("2026-05-29T15:07:45.354Z").getTime();
|
|
358922
358922
|
if (isNaN(buildTime))
|
|
358923
358923
|
return;
|
|
358924
358924
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -451503,7 +451503,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
451503
451503
|
var call58 = async () => {
|
|
451504
451504
|
return {
|
|
451505
451505
|
type: "text",
|
|
451506
|
-
value: `${"99.0.0"} (built ${"2026-05-29T15:
|
|
451506
|
+
value: `${"99.0.0"} (built ${"2026-05-29T15:07:45.354Z"})`
|
|
451507
451507
|
};
|
|
451508
451508
|
}, version2, version_default;
|
|
451509
451509
|
var init_version = __esm(() => {
|
|
@@ -524644,7 +524644,7 @@ function WelcomeV2() {
|
|
|
524644
524644
|
dimColor: true,
|
|
524645
524645
|
children: [
|
|
524646
524646
|
"v",
|
|
524647
|
-
"0.1.
|
|
524647
|
+
"0.1.1",
|
|
524648
524648
|
" "
|
|
524649
524649
|
]
|
|
524650
524650
|
}, undefined, true, undefined, this)
|
|
@@ -524844,7 +524844,7 @@ function WelcomeV2() {
|
|
|
524844
524844
|
dimColor: true,
|
|
524845
524845
|
children: [
|
|
524846
524846
|
"v",
|
|
524847
|
-
"0.1.
|
|
524847
|
+
"0.1.1",
|
|
524848
524848
|
" "
|
|
524849
524849
|
]
|
|
524850
524850
|
}, undefined, true, undefined, this)
|
|
@@ -525070,7 +525070,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
525070
525070
|
dimColor: true,
|
|
525071
525071
|
children: [
|
|
525072
525072
|
"v",
|
|
525073
|
-
"0.1.
|
|
525073
|
+
"0.1.1",
|
|
525074
525074
|
" "
|
|
525075
525075
|
]
|
|
525076
525076
|
}, undefined, true, undefined, this);
|
|
@@ -525324,7 +525324,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
525324
525324
|
dimColor: true,
|
|
525325
525325
|
children: [
|
|
525326
525326
|
"v",
|
|
525327
|
-
"0.1.
|
|
525327
|
+
"0.1.1",
|
|
525328
525328
|
" "
|
|
525329
525329
|
]
|
|
525330
525330
|
}, undefined, true, undefined, this);
|
|
@@ -545872,7 +545872,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
545872
545872
|
pendingHookMessages
|
|
545873
545873
|
}, renderAndRun);
|
|
545874
545874
|
}
|
|
545875
|
-
}).version("0.1.
|
|
545875
|
+
}).version("0.1.1 (Alter Claude)", "-v, --version", "Output the version number");
|
|
545876
545876
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
545877
545877
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
545878
545878
|
if (canUserConfigureAdvisor()) {
|
|
@@ -546452,7 +546452,7 @@ function validateProviderEnvOrExit() {
|
|
|
546452
546452
|
async function main2() {
|
|
546453
546453
|
const args = process.argv.slice(2);
|
|
546454
546454
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
546455
|
-
console.log(`${"0.1.
|
|
546455
|
+
console.log(`${"0.1.1"} (Alter Claude)`);
|
|
546456
546456
|
return;
|
|
546457
546457
|
}
|
|
546458
546458
|
{
|
|
@@ -546564,4 +546564,4 @@ async function main2() {
|
|
|
546564
546564
|
}
|
|
546565
546565
|
main2();
|
|
546566
546566
|
|
|
546567
|
-
//# debugId=
|
|
546567
|
+
//# debugId=887DD1997BB0BE1664756E2164756E21
|