oh-my-opencode 3.9.0 → 3.10.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 +3 -3
- package/README.ko.md +3 -3
- package/README.md +3 -3
- package/README.ru.md +367 -0
- package/README.zh-cn.md +3 -3
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +1 -0
- package/dist/agents/sisyphus-gemini-overlays.d.ts +2 -0
- package/dist/cli/index.js +21 -17
- package/dist/config/schema/hooks.d.ts +1 -0
- package/dist/create-hooks.d.ts +1 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +13 -3
- package/dist/features/context-injector/types.d.ts +2 -2
- package/dist/features/hook-message-injector/injector.d.ts +2 -0
- package/dist/hooks/claude-code-hooks/dispatch-hook.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/execute-http-hook.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/types.d.ts +9 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/read-image-resizer/hook.d.ts +12 -0
- package/dist/hooks/read-image-resizer/image-dimensions.d.ts +2 -0
- package/dist/hooks/read-image-resizer/image-resizer.d.ts +3 -0
- package/dist/hooks/read-image-resizer/index.d.ts +1 -0
- package/dist/hooks/read-image-resizer/types.d.ts +14 -0
- package/dist/index.js +894 -202
- package/dist/oh-my-opencode.schema.json +1 -1
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +2 -1
- package/package.json +12 -12
package/README.ja.md
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
[](https://github.com/code-yeongyu/oh-my-opencode/network/members)
|
|
45
45
|
[](https://github.com/code-yeongyu/oh-my-opencode/stargazers)
|
|
46
46
|
[](https://github.com/code-yeongyu/oh-my-opencode/issues)
|
|
47
|
-
[](https://github.com/code-yeongyu/oh-my-opencode/blob/
|
|
47
|
+
[](https://github.com/code-yeongyu/oh-my-opencode/blob/dev/LICENSE.md)
|
|
48
48
|
[](https://deepwiki.com/code-yeongyu/oh-my-opencode)
|
|
49
49
|
|
|
50
50
|
[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
|
|
@@ -96,7 +96,7 @@ OmOをインストールして、`ultrawork`とタイプしてください。狂
|
|
|
96
96
|
|
|
97
97
|
```
|
|
98
98
|
Install and configure oh-my-opencode by following the instructions here:
|
|
99
|
-
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
99
|
+
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
もしくは[インストールガイド](docs/guide/installation.md)を直接読んでもいいですが、マジでエージェントにやらせてください。人間は設定で必ずタイポします。
|
|
@@ -106,7 +106,7 @@ https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/
|
|
|
106
106
|
インストールガイドを取得して、それに従ってください:
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
109
|
+
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
---
|
package/README.ko.md
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
[](https://github.com/code-yeongyu/oh-my-opencode/network/members)
|
|
45
45
|
[](https://github.com/code-yeongyu/oh-my-opencode/stargazers)
|
|
46
46
|
[](https://github.com/code-yeongyu/oh-my-opencode/issues)
|
|
47
|
-
[](https://github.com/code-yeongyu/oh-my-opencode/blob/
|
|
47
|
+
[](https://github.com/code-yeongyu/oh-my-opencode/blob/dev/LICENSE.md)
|
|
48
48
|
[](https://deepwiki.com/code-yeongyu/oh-my-opencode)
|
|
49
49
|
|
|
50
50
|
[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
|
|
@@ -95,7 +95,7 @@ OmO 설치하고. `ultrawork` 치세요. 끝.
|
|
|
95
95
|
|
|
96
96
|
```
|
|
97
97
|
Install and configure oh-my-opencode by following the instructions here:
|
|
98
|
-
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
98
|
+
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
99
99
|
```
|
|
100
100
|
|
|
101
101
|
아니면 [설치 가이드](docs/guide/installation.md)를 직접 읽으셔도 되지만, 진심으로 그냥 에이전트한테 시키세요. 사람은 설정하다 꼭 오타 냅니다.
|
|
@@ -105,7 +105,7 @@ https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/
|
|
|
105
105
|
설치 가이드를 가져와서 따라 하세요:
|
|
106
106
|
|
|
107
107
|
```bash
|
|
108
|
-
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
108
|
+
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
---
|
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
[](https://github.com/code-yeongyu/oh-my-opencode/network/members)
|
|
48
48
|
[](https://github.com/code-yeongyu/oh-my-opencode/stargazers)
|
|
49
49
|
[](https://github.com/code-yeongyu/oh-my-opencode/issues)
|
|
50
|
-
[](https://github.com/code-yeongyu/oh-my-opencode/blob/
|
|
50
|
+
[](https://github.com/code-yeongyu/oh-my-opencode/blob/dev/LICENSE.md)
|
|
51
51
|
[](https://deepwiki.com/code-yeongyu/oh-my-opencode)
|
|
52
52
|
|
|
53
53
|
[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
|
|
@@ -99,7 +99,7 @@ Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.
|
|
|
99
99
|
|
|
100
100
|
```
|
|
101
101
|
Install and configure oh-my-opencode by following the instructions here:
|
|
102
|
-
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
102
|
+
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
103
103
|
```
|
|
104
104
|
|
|
105
105
|
Or read the [Installation Guide](docs/guide/installation.md), but seriously, let an agent do it. Humans fat-finger configs.
|
|
@@ -109,7 +109,7 @@ Or read the [Installation Guide](docs/guide/installation.md), but seriously, let
|
|
|
109
109
|
Fetch the installation guide and follow it:
|
|
110
110
|
|
|
111
111
|
```bash
|
|
112
|
-
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
112
|
+
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
---
|
package/README.ru.md
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
> [!WARNING] **Предупреждение о безопасности: сайт-имитатор**
|
|
2
|
+
>
|
|
3
|
+
> **ohmyopencode.com НЕ аффилирован с этим проектом.** Мы не управляем этим сайтом и не одобряем его.
|
|
4
|
+
>
|
|
5
|
+
> OhMyOpenCode — **бесплатный и открытый проект**. Не скачивайте установщики и не вводите платёжные данные на сторонних сайтах, которые называют себя «официальными».
|
|
6
|
+
>
|
|
7
|
+
> Поскольку сайт-имитатор находится за платным доступом, мы **не можем проверить, что именно он распространяет**. Относитесь к любым загрузкам с него как к **потенциально небезопасным**.
|
|
8
|
+
>
|
|
9
|
+
> ✅ Официальные загрузки: https://github.com/code-yeongyu/oh-my-opencode/releases
|
|
10
|
+
|
|
11
|
+
> [!NOTE]
|
|
12
|
+
>
|
|
13
|
+
> [](https://sisyphuslabs.ai)
|
|
14
|
+
>
|
|
15
|
+
> > **Мы создаём полноценную продуктовую версию Sisyphus, чтобы задать стандарты для frontier-агентов. <br />Присоединяйтесь к листу ожидания [здесь](https://sisyphuslabs.ai).**
|
|
16
|
+
|
|
17
|
+
> [!TIP] Будьте с нами!
|
|
18
|
+
>
|
|
19
|
+
> | [](https://discord.gg/PUwSMR9XNk) | Вступайте в наш [Discord](https://discord.gg/PUwSMR9XNk), чтобы общаться с контрибьюторами и пользователями `oh-my-opencode`. |
|
|
20
|
+
> | ----------------------------------- | ------------------------------------------------------------ |
|
|
21
|
+
> | [](https://x.com/justsisyphus) | Новости и обновления `oh-my-opencode` раньше публиковались на моём аккаунте X. <br /> После ошибочной блокировки, [@justsisyphus](https://x.com/justsisyphus) публикует обновления вместо меня. |
|
|
22
|
+
> | [](https://github.com/code-yeongyu) | Подпишитесь на [@code-yeongyu](https://github.com/code-yeongyu) на GitHub, чтобы следить за другими проектами. |
|
|
23
|
+
|
|
24
|
+
<!-- <CENTERED SECTION FOR GITHUB DISPLAY> --> <div align="center">
|
|
25
|
+
|
|
26
|
+
[](https://github.com/code-yeongyu/oh-my-opencode#oh-my-opencode)
|
|
27
|
+
|
|
28
|
+
[](https://github.com/code-yeongyu/oh-my-opencode#oh-my-opencode)
|
|
29
|
+
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
> Anthropic [**заблокировал OpenCode из-за нас.**](https://x.com/thdxr/status/2010149530486911014) **Да, это правда.** Они хотят держать вас в замкнутой системе. Claude Code — красивая тюрьма, но всё равно тюрьма.
|
|
33
|
+
>
|
|
34
|
+
> Мы не делаем привязки. Мы работаем с любыми моделями. Claude / Kimi / GLM для оркестрации. GPT для рассуждений. Minimax для скорости. Gemini для творческих задач. Будущее — не в выборе одного победителя, а в оркестровке всех. Модели дешевеют каждый месяц. Умнеют каждый месяц. Ни один провайдер не будет доминировать. Мы строим под открытый рынок, а не под чьи-то огороженные сады.
|
|
35
|
+
|
|
36
|
+
<div align="center">
|
|
37
|
+
|
|
38
|
+
[](https://github.com/code-yeongyu/oh-my-opencode/releases) [](https://www.npmjs.com/package/oh-my-opencode) [](https://github.com/code-yeongyu/oh-my-opencode/graphs/contributors) [](https://github.com/code-yeongyu/oh-my-opencode/network/members) [](https://github.com/code-yeongyu/oh-my-opencode/stargazers) [](https://github.com/code-yeongyu/oh-my-opencode/issues) [](https://github.com/code-yeongyu/oh-my-opencode/blob/master/LICENSE.md) [](https://deepwiki.com/code-yeongyu/oh-my-opencode)
|
|
39
|
+
|
|
40
|
+
English | 한국어 | 日本語 | 简体中文 | Русский
|
|
41
|
+
|
|
42
|
+
</div> <!-- </CENTERED SECTION FOR GITHUB DISPLAY> -->
|
|
43
|
+
|
|
44
|
+
## Отзывы
|
|
45
|
+
|
|
46
|
+
> «Из-за него я отменил подписку на Cursor. В опенсорс-сообществе происходит что-то невероятное.» — [Arthur Guiot](https://x.com/arthur_guiot/status/2008736347092382053?s=20)
|
|
47
|
+
|
|
48
|
+
> «Если Claude Code делает за 7 дней то, на что у человека уходит 3 месяца, Sisyphus справляется за 1 час. Он просто работает, пока задача не выполнена. Это дисциплинированный агент.» <br/>— B, исследователь в области квантовых финансов
|
|
49
|
+
|
|
50
|
+
> «За один день устранил 8000 предупреждений eslint с помощью Oh My Opencode.» <br/>— [Jacob Ferrari](https://x.com/jacobferrari_/status/2003258761952289061)
|
|
51
|
+
|
|
52
|
+
> «За ночь конвертировал приложение на tauri в 45k строк в веб-SaaS с помощью Ohmyopencode и ralph loop. Начал с промпта «проинтервьюируй меня», попросил оценки и рекомендации по вопросам. Было удивительно наблюдать за работой и утром проснуться с почти рабочим сайтом!» — [James Hargis](https://x.com/hargabyte/status/2007299688261882202)
|
|
53
|
+
|
|
54
|
+
> «Используйте oh-my-opencode — вы не захотите возвращаться назад.» <br/>— [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
|
|
55
|
+
|
|
56
|
+
> «Пока не могу точно объяснить, почему это так круто, но опыт разработки вышел на совершенно другой уровень.» — [苔硯:こけすずり](https://x.com/kokesuzuri/status/2008532913961529372?s=20)
|
|
57
|
+
|
|
58
|
+
> «Экспериментирую с open code, oh my opencode и supermemory этим выходным, чтобы собрать нечто среднее между Minecraft и souls-like.» «Попросил добавить анимации приседания, пока хожу на обеденную прогулку. [Видео]» — [MagiMetal](https://x.com/MagiMetal/status/2005374704178373023)
|
|
59
|
+
|
|
60
|
+
> «Ребята, вам нужно включить это в ядро и нанять его. Серьёзно. Это очень, очень, очень хорошо.» <br/>— Henning Kilset
|
|
61
|
+
|
|
62
|
+
> «Наймите @yeon_gyu_kim, если сможете его уговорить, этот парень революционизировал opencode.» <br/>— [mysticaltech](https://x.com/mysticaltech/status/2001858758608376079)
|
|
63
|
+
|
|
64
|
+
> «Oh My OpenCode — это что-то с чем-то» — [YouTube — Darren Builds AI](https://www.youtube.com/watch?v=G_Snfh2M41M)
|
|
65
|
+
|
|
66
|
+
------
|
|
67
|
+
|
|
68
|
+
# Oh My OpenCode
|
|
69
|
+
|
|
70
|
+
Вы жонглируете Claude Code, Codex, случайными OSS-моделями. Настраиваете рабочие процессы. Дебажите агентов.
|
|
71
|
+
|
|
72
|
+
Мы уже проделали эту работу. Протестировали всё. Оставили только то, что реально работает.
|
|
73
|
+
|
|
74
|
+
Установите OmO. Введите `ultrawork`. Готово.
|
|
75
|
+
|
|
76
|
+
## Установка
|
|
77
|
+
|
|
78
|
+
### Для людей
|
|
79
|
+
|
|
80
|
+
Скопируйте и вставьте этот промпт в ваш LLM-агент (Claude Code, AmpCode, Cursor и т.д.):
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Install and configure oh-my-opencode by following the instructions here:
|
|
84
|
+
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.md
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Или прочитайте руководство по установке, но серьёзно — пусть агент сделает это за вас. Люди ошибаются в конфигах.
|
|
88
|
+
|
|
89
|
+
### Для LLM-агентов
|
|
90
|
+
|
|
91
|
+
Загрузите руководство по установке и следуйте ему:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/docs/guide/installation.md
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
------
|
|
98
|
+
|
|
99
|
+
## Пропустите этот README
|
|
100
|
+
|
|
101
|
+
Мы вышли за пределы эпохи чтения документации. Просто вставьте это в своего агента:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
Read this and tell me why it's not just another boilerplate: https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/README.md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Ключевые возможности
|
|
108
|
+
|
|
109
|
+
### 🪄 `ultrawork`
|
|
110
|
+
|
|
111
|
+
Вы правда это читаете? Поразительно.
|
|
112
|
+
|
|
113
|
+
Установите. Введите `ultrawork` (или `ulw`). Готово.
|
|
114
|
+
|
|
115
|
+
Всё описанное ниже, каждая функция, каждая оптимизация — вам не нужно это знать. Оно просто работает.
|
|
116
|
+
|
|
117
|
+
Даже при наличии только следующих подписок ultrawork будет работать отлично (проект не аффилирован с ними, это личная рекомендация):
|
|
118
|
+
|
|
119
|
+
- [Подписка ChatGPT ($20)](https://chatgpt.com/)
|
|
120
|
+
- [Подписка Kimi Code ($0.99) (*только в этом месяце)](https://www.kimi.com/membership/pricing?track_id=5cdeca93-66f0-4d35-aabb-b6df8fcea328)
|
|
121
|
+
- [Тариф GLM Coding ($10)](https://z.ai/subscribe)
|
|
122
|
+
- При доступе к оплате за токены использование моделей Kimi и Gemini обойдётся недорого.
|
|
123
|
+
|
|
124
|
+
| | Функция | Что делает |
|
|
125
|
+
| ---- | -------------------------------------------------------- | ------------------------------------------------------------ |
|
|
126
|
+
| 🤖 | **Дисциплинированные агенты** | Sisyphus оркестрирует Hephaestus, Oracle, Librarian, Explore. Полноценная AI-команда разработки в параллельном режиме. |
|
|
127
|
+
| ⚡ | **`ultrawork` / `ulw`** | Одно слово. Все агенты активируются. Не останавливается, пока задача не выполнена. |
|
|
128
|
+
| 🚪 | **[IntentGate](https://factory.ai/news/terminal-bench)** | Анализирует истинное намерение пользователя перед классификацией и действием. Никакого буквального неверного толкования. |
|
|
129
|
+
| 🔗 | **Инструмент правок на основе хэш-якорей** | Хэш содержимого `LINE#ID` проверяет каждое изменение. Ноль ошибок с устаревшими строками. Вдохновлено [oh-my-pi](https://github.com/can1357/oh-my-pi). [Проблема обвязки →](https://blog.can.ac/2026/02/12/the-harness-problem/) |
|
|
130
|
+
| 🛠️ | **LSP + AST-Grep** | Переименование в рабочем пространстве, диагностика перед сборкой, переписывание с учётом AST. Точность IDE для агентов. |
|
|
131
|
+
| 🧠 | **Фоновые агенты** | Запускайте 5+ специалистов параллельно. Контекст остаётся компактным. Результаты — когда готовы. |
|
|
132
|
+
| 📚 | **Встроенные MCP** | Exa (веб-поиск), Context7 (официальная документация), Grep.app (поиск по GitHub). Всегда включены. |
|
|
133
|
+
| 🔁 | **Ralph Loop / `/ulw-loop`** | Самореферентный цикл. Не останавливается, пока задача не выполнена на 100%. |
|
|
134
|
+
| ✅ | **Todo Enforcer** | Агент завис? Система немедленно возвращает его в работу. Ваша задача будет выполнена, точка. |
|
|
135
|
+
| 💬 | **Comment Checker** | Никакого AI-мусора в комментариях. Код читается так, словно его писал опытный разработчик. |
|
|
136
|
+
| 🖥️ | **Интеграция с Tmux** | Полноценный интерактивный терминал. REPL, дебаггеры, TUI. Всё живое. |
|
|
137
|
+
| 🔌 | **Совместимость с Claude Code** | Ваши хуки, команды, навыки, MCP и плагины? Всё работает без изменений. |
|
|
138
|
+
| 🎯 | **MCP, встроенные в навыки** | Навыки несут собственные MCP-серверы. Никакого раздувания контекста. |
|
|
139
|
+
| 📋 | **Prometheus Planner** | Стратегическое планирование в режиме интервью перед любым выполнением. |
|
|
140
|
+
| 🔍 | **`/init-deep`** | Автоматически генерирует иерархические файлы `AGENTS.md` по всему проекту. Отлично работает на эффективность токенов и производительность агента. |
|
|
141
|
+
|
|
142
|
+
### Дисциплинированные агенты
|
|
143
|
+
|
|
144
|
+
<table><tr> <td align="center"><img src=".github/assets/sisyphus.png" height="300" /></td> <td align="center"><img src=".github/assets/hephaestus.png" height="300" /></td> </tr></table>
|
|
145
|
+
|
|
146
|
+
**Sisyphus** (`claude-opus-4-6` / **`kimi-k2.5`** / **`glm-5`**) — главный оркестратор. Он планирует, делегирует задачи специалистам и доводит их до завершения с агрессивным параллельным выполнением. Он не останавливается на полпути.
|
|
147
|
+
|
|
148
|
+
**Hephaestus** (`gpt-5.3-codex`) — автономный глубокий исполнитель. Дайте ему цель, а не рецепт. Он исследует кодовую базу, изучает паттерны и выполняет задачи сквозным образом без лишних подсказок. *Законный Мастер.*
|
|
149
|
+
|
|
150
|
+
**Prometheus** (`claude-opus-4-6` / **`kimi-k2.5`** / **`glm-5`**) — стратегический планировщик. Режим интервью: задаёт вопросы, определяет объём работ и формирует детальный план до того, как написана хотя бы одна строка кода.
|
|
151
|
+
|
|
152
|
+
Каждый агент настроен под сильные стороны своей модели. Никакого ручного переключения между моделями. Подробнее →
|
|
153
|
+
|
|
154
|
+
> Anthropic [заблокировал OpenCode из-за нас.](https://x.com/thdxr/status/2010149530486911014) Именно поэтому Hephaestus зовётся «Законным Мастером». Ирония намеренная.
|
|
155
|
+
>
|
|
156
|
+
> Мы работаем лучше всего на Opus, но Kimi K2.5 + GPT-5.3 Codex уже превосходят ванильный Claude Code. Никакой настройки не требуется.
|
|
157
|
+
|
|
158
|
+
### Оркестрация агентов
|
|
159
|
+
|
|
160
|
+
Когда Sisyphus делегирует задачу субагенту, он выбирает не модель, а **категорию**. Категория автоматически сопоставляется с нужной моделью:
|
|
161
|
+
|
|
162
|
+
| Категория | Для чего предназначена |
|
|
163
|
+
| -------------------- | ------------------------------------- |
|
|
164
|
+
| `visual-engineering` | Фронтенд, UI/UX, дизайн |
|
|
165
|
+
| `deep` | Автономные исследования + выполнение |
|
|
166
|
+
| `quick` | Изменения в одном файле, опечатки |
|
|
167
|
+
| `ultrabrain` | Сложная логика, архитектурные решения |
|
|
168
|
+
|
|
169
|
+
Агент сообщает тип задачи. Обвязка подбирает нужную модель. Вы ни к чему не прикасаетесь.
|
|
170
|
+
|
|
171
|
+
### Совместимость с Claude Code
|
|
172
|
+
|
|
173
|
+
Вы тщательно настроили Claude Code. Хорошо.
|
|
174
|
+
|
|
175
|
+
Каждый хук, команда, навык, MCP и плагин работают здесь без изменений. Полная совместимость, включая плагины.
|
|
176
|
+
|
|
177
|
+
### Инструменты мирового класса для ваших агентов
|
|
178
|
+
|
|
179
|
+
LSP, AST-Grep, Tmux, MCP — реально интегрированы, а не склеены скотчем.
|
|
180
|
+
|
|
181
|
+
- **LSP**: `lsp_rename`, `lsp_goto_definition`, `lsp_find_references`, `lsp_diagnostics`. Точность IDE для каждого агента
|
|
182
|
+
- **AST-Grep**: Поиск и переписывание кода с учётом синтаксических паттернов для 25 языков
|
|
183
|
+
- **Tmux**: Полноценный интерактивный терминал. REPL, дебаггеры, TUI-приложения. Агент остаётся в сессии
|
|
184
|
+
- **MCP**: Веб-поиск, официальная документация, поиск по коду на GitHub. Всё встроено
|
|
185
|
+
|
|
186
|
+
### MCP, встроенные в навыки
|
|
187
|
+
|
|
188
|
+
MCP-серверы съедают бюджет контекста. Мы это исправили.
|
|
189
|
+
|
|
190
|
+
Навыки приносят собственные MCP-серверы. Запускаются по необходимости, ограничены задачей, исчезают по завершении. Контекстное окно остаётся чистым.
|
|
191
|
+
|
|
192
|
+
### Лучше пишет код. Правки на основе хэш-якорей
|
|
193
|
+
|
|
194
|
+
Проблема обвязки реальна. Большинство сбоев агентов — не вина модели. Это вина инструмента правок.
|
|
195
|
+
|
|
196
|
+
> *«Ни один из этих инструментов не даёт модели стабильный, проверяемый идентификатор строк, которые она хочет изменить... Все они полагаются на то, что модель воспроизведёт контент, который уже видела. Когда это не получается — а так бывает нередко — пользователь обвиняет модель.»*
|
|
197
|
+
>
|
|
198
|
+
> <br/>— [Can Bölük, «Проблема обвязки»](https://blog.can.ac/2026/02/12/the-harness-problem/)
|
|
199
|
+
|
|
200
|
+
Вдохновлённые [oh-my-pi](https://github.com/can1357/oh-my-pi), мы реализовали **Hashline**. Каждая строка, которую читает агент, возвращается с тегом хэша содержимого:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
11#VK| function hello() {
|
|
204
|
+
22#XJ| return "world";
|
|
205
|
+
33#MB| }
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Агент редактирует, ссылаясь на эти теги. Если файл изменился с момента последнего чтения, хэш не совпадёт, и правка будет отклонена до любого повреждения. Никакого воспроизведения пробелов. Никаких ошибок с устаревшими строками.
|
|
209
|
+
|
|
210
|
+
Grok Code Fast 1: успешность **6.7% → 68.3%**. Просто за счёт замены инструмента правок.
|
|
211
|
+
|
|
212
|
+
### Глубокая инициализация. `/init-deep`
|
|
213
|
+
|
|
214
|
+
Запустите `/init-deep`. Будут сгенерированы иерархические файлы `AGENTS.md`:
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
project/
|
|
218
|
+
├── AGENTS.md ← контекст всего проекта
|
|
219
|
+
├── src/
|
|
220
|
+
│ ├── AGENTS.md ← контекст для src
|
|
221
|
+
│ └── components/
|
|
222
|
+
│ └── AGENTS.md ← контекст для компонентов
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Агенты автоматически читают нужный контекст. Никакого ручного управления.
|
|
226
|
+
|
|
227
|
+
### Планирование. Prometheus
|
|
228
|
+
|
|
229
|
+
Сложная задача? Не нужно молиться и надеяться на промпт.
|
|
230
|
+
|
|
231
|
+
`/start-work` вызывает Prometheus. **Интервьюирует вас как настоящий инженер**, определяет объём работ и неоднозначности, формирует проверенный план до прикосновения к коду. Агент знает, что строит, прежде чем начать.
|
|
232
|
+
|
|
233
|
+
### Навыки
|
|
234
|
+
|
|
235
|
+
Навыки — это не просто промпты. Каждый привносит:
|
|
236
|
+
|
|
237
|
+
- Системные инструкции, настроенные под предметную область
|
|
238
|
+
- Встроенные MCP-серверы, запускаемые по необходимости
|
|
239
|
+
- Ограниченные разрешения. Агенты остаются в рамках
|
|
240
|
+
|
|
241
|
+
Встроенные: `playwright` (автоматизация браузера), `git-master` (атомарные коммиты, хирургия rebase), `frontend-ui-ux` (UI с упором на дизайн).
|
|
242
|
+
|
|
243
|
+
Добавьте свои: `.opencode/skills/*/SKILL.md` или `~/.config/opencode/skills/*/SKILL.md`.
|
|
244
|
+
|
|
245
|
+
**Хотите полное описание возможностей?** Смотрите **документацию по функциям** — агенты, хуки, инструменты, MCP и всё остальное подробно.
|
|
246
|
+
|
|
247
|
+
------
|
|
248
|
+
|
|
249
|
+
> **Впервые в oh-my-opencode?** Прочитайте **Обзор**, чтобы понять, что у вас есть, или ознакомьтесь с **руководством по оркестрации**, чтобы узнать, как агенты взаимодействуют.
|
|
250
|
+
|
|
251
|
+
## Удаление
|
|
252
|
+
|
|
253
|
+
Чтобы удалить oh-my-opencode:
|
|
254
|
+
|
|
255
|
+
1. **Удалите плагин из конфига OpenCode**
|
|
256
|
+
|
|
257
|
+
Отредактируйте `~/.config/opencode/opencode.json` (или `opencode.jsonc`) и уберите `"oh-my-opencode"` из массива `plugin`:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# С помощью jq
|
|
261
|
+
jq '.plugin = [.plugin[] | select(. != "oh-my-opencode")]' \
|
|
262
|
+
~/.config/opencode/opencode.json > /tmp/oc.json && \
|
|
263
|
+
mv /tmp/oc.json ~/.config/opencode/opencode.json
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
2. **Удалите файлы конфигурации (опционально)**
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# Удалить пользовательский конфиг
|
|
270
|
+
rm -f ~/.config/opencode/oh-my-opencode.json ~/.config/opencode/oh-my-opencode.jsonc
|
|
271
|
+
|
|
272
|
+
# Удалить конфиг проекта (если существует)
|
|
273
|
+
rm -f .opencode/oh-my-opencode.json .opencode/oh-my-opencode.jsonc
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
3. **Проверьте удаление**
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
opencode --version
|
|
280
|
+
# Плагин больше не должен загружаться
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
## Функции
|
|
284
|
+
|
|
285
|
+
Функции, которые, как вы будете думать, должны были существовать всегда. Попробовав раз, вы не сможете вернуться назад.
|
|
286
|
+
|
|
287
|
+
Смотрите полную документацию по функциям.
|
|
288
|
+
|
|
289
|
+
**Краткий обзор:**
|
|
290
|
+
|
|
291
|
+
- **Агенты**: Sisyphus (главный агент), Prometheus (планировщик), Oracle (архитектура/отладка), Librarian (документация/поиск по коду), Explore (быстрый grep по кодовой базе), Multimodal Looker
|
|
292
|
+
- **Фоновые агенты**: Запускайте несколько агентов параллельно, как настоящая команда разработки
|
|
293
|
+
- **Инструменты LSP и AST**: Рефакторинг, переименование, диагностика, поиск кода с учётом AST
|
|
294
|
+
- **Инструмент правок на основе хэш-якорей**: Ссылки `LINE#ID` проверяют содержимое перед применением каждого изменения. Хирургические правки, ноль ошибок с устаревшими строками
|
|
295
|
+
- **Инъекция контекста**: Автоматическое добавление AGENTS.md, README.md, условных правил
|
|
296
|
+
- **Совместимость с Claude Code**: Полная система хуков, команды, навыки, агенты, MCP
|
|
297
|
+
- **Встроенные MCP**: websearch (Exa), context7 (документация), grep_app (поиск по GitHub)
|
|
298
|
+
- **Инструменты сессий**: Список, чтение, поиск и анализ истории сессий
|
|
299
|
+
- **Инструменты продуктивности**: Ralph Loop, Todo Enforcer, Comment Checker, Think Mode и другое
|
|
300
|
+
- **Настройка моделей**: Сопоставление агент–модель встроено в руководство по установке
|
|
301
|
+
|
|
302
|
+
## Конфигурация
|
|
303
|
+
|
|
304
|
+
Продуманные настройки по умолчанию, которые можно изменить при необходимости.
|
|
305
|
+
|
|
306
|
+
Смотрите документацию по конфигурации.
|
|
307
|
+
|
|
308
|
+
**Краткий обзор:**
|
|
309
|
+
|
|
310
|
+
- **Расположение конфигов**: `.opencode/oh-my-opencode.jsonc` или `.opencode/oh-my-opencode.json` (проект), `~/.config/opencode/oh-my-opencode.jsonc` или `~/.config/opencode/oh-my-opencode.json` (пользователь)
|
|
311
|
+
- **Поддержка JSONC**: Комментарии и конечные запятые поддерживаются
|
|
312
|
+
- **Агенты**: Переопределение моделей, температур, промптов и разрешений для любого агента
|
|
313
|
+
- **Встроенные навыки**: `playwright` (автоматизация браузера), `git-master` (атомарные коммиты)
|
|
314
|
+
- **Агент Sisyphus**: Главный оркестратор с Prometheus (Планировщик) и Metis (Консультант по плану)
|
|
315
|
+
- **Фоновые задачи**: Настройка ограничений параллельности по провайдеру/модели
|
|
316
|
+
- **Категории**: Делегирование задач по предметной области (`visual`, `business-logic`, пользовательские)
|
|
317
|
+
- **Хуки**: 25+ встроенных хуков, все настраиваются через `disabled_hooks`
|
|
318
|
+
- **MCP**: Встроенные websearch (Exa), context7 (документация), grep_app (поиск по GitHub)
|
|
319
|
+
- **LSP**: Полная поддержка LSP с инструментами рефакторинга
|
|
320
|
+
- **Экспериментальное**: Агрессивное усечение, автовозобновление и другое
|
|
321
|
+
|
|
322
|
+
## Слово автора
|
|
323
|
+
|
|
324
|
+
**Хотите узнать философию?** Прочитайте Манифест Ultrawork.
|
|
325
|
+
|
|
326
|
+
------
|
|
327
|
+
|
|
328
|
+
Я потратил $24K на токены LLM в личных проектах. Попробовал все инструменты. Настраивал всё до смерти. OpenCode победил.
|
|
329
|
+
|
|
330
|
+
Каждая проблема, с которой я столкнулся, — её решение уже встроено в этот плагин. Устанавливайте и работайте.
|
|
331
|
+
|
|
332
|
+
Если OpenCode — это Debian/Arch, то OmO — это Ubuntu/[Omarchy](https://omarchy.org/).
|
|
333
|
+
|
|
334
|
+
Сильное влияние со стороны [AmpCode](https://ampcode.com) и [Claude Code](https://code.claude.com/docs/overview). Функции портированы, часто улучшены. Продолжаем строить. Это **Open**Code.
|
|
335
|
+
|
|
336
|
+
Другие обвязки обещают оркестрацию нескольких моделей. Мы её поставляем. Плюс стабильность. Плюс функции, которые реально работают.
|
|
337
|
+
|
|
338
|
+
Я самый одержимый пользователь этого проекта:
|
|
339
|
+
|
|
340
|
+
- Какая модель думает острее всего?
|
|
341
|
+
- Кто бог отладки?
|
|
342
|
+
- Кто пишет лучший код?
|
|
343
|
+
- Кто рулит фронтендом?
|
|
344
|
+
- Кто владеет бэкендом?
|
|
345
|
+
- Что быстрее всего в ежедневной работе?
|
|
346
|
+
- Что запускают конкуренты?
|
|
347
|
+
|
|
348
|
+
Этот плагин — дистилляция. Берём лучшее. Есть улучшения? PR приветствуются.
|
|
349
|
+
|
|
350
|
+
**Хватит мучиться с выбором обвязки.** **Я буду исследовать, воровать лучшее и поставлять это сюда.**
|
|
351
|
+
|
|
352
|
+
Звучит высокомерно? Знаете, как сделать лучше? Контрибьютьте. Добро пожаловать.
|
|
353
|
+
|
|
354
|
+
Никакой аффилиации с упомянутыми проектами/моделями. Только личные эксперименты.
|
|
355
|
+
|
|
356
|
+
99% этого проекта было создано с помощью OpenCode. Я почти не знаю TypeScript. **Но эту документацию я лично просматривал и во многом переписывал.**
|
|
357
|
+
|
|
358
|
+
## Любимый профессионалами из
|
|
359
|
+
|
|
360
|
+
- Indent
|
|
361
|
+
- Spray — решение для influencer-маркетинга, vovushop — платформа кросс-граничной торговли, vreview — AI-решение для маркетинга отзывов в commerce
|
|
362
|
+
- [Google](https://google.com)
|
|
363
|
+
- [Microsoft](https://microsoft.com)
|
|
364
|
+
- ELESTYLE
|
|
365
|
+
- elepay — мультимобильный платёжный шлюз, OneQR — мобильное SaaS-приложение для безналичных расчётов
|
|
366
|
+
|
|
367
|
+
*Особая благодарность [@junhoyeo](https://github.com/junhoyeo) за это потрясающее hero-изображение.*
|
package/README.zh-cn.md
CHANGED
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
[](https://github.com/code-yeongyu/oh-my-opencode/network/members)
|
|
45
45
|
[](https://github.com/code-yeongyu/oh-my-opencode/stargazers)
|
|
46
46
|
[](https://github.com/code-yeongyu/oh-my-opencode/issues)
|
|
47
|
-
[](https://github.com/code-yeongyu/oh-my-opencode/blob/
|
|
47
|
+
[](https://github.com/code-yeongyu/oh-my-opencode/blob/dev/LICENSE.md)
|
|
48
48
|
[](https://deepwiki.com/code-yeongyu/oh-my-opencode)
|
|
49
49
|
|
|
50
50
|
[English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
|
|
98
98
|
```
|
|
99
99
|
Install and configure oh-my-opencode by following the instructions here:
|
|
100
|
-
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
100
|
+
https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
或者你可以直接去读 [安装指南](docs/guide/installation.md),但说真的,让 Agent 去干吧。人类配环境总是容易敲错字母。
|
|
@@ -107,7 +107,7 @@ https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/
|
|
|
107
107
|
获取安装指南并照做:
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/
|
|
110
|
+
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/dev/docs/guide/installation.md
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
---
|
|
@@ -28,5 +28,6 @@ export declare function buildCategorySkillsDelegationGuide(categories: Available
|
|
|
28
28
|
export declare function buildOracleSection(agents: AvailableAgent[]): string;
|
|
29
29
|
export declare function buildHardBlocksSection(): string;
|
|
30
30
|
export declare function buildAntiPatternsSection(): string;
|
|
31
|
+
export declare function buildNonClaudePlannerSection(model: string): string;
|
|
31
32
|
export declare function buildDeepParallelSection(model: string, categories: AvailableCategory[]): string;
|
|
32
33
|
export declare function buildUltraworkSection(agents: AvailableAgent[], categories: AvailableCategory[], skills: AvailableSkill[]): string;
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
* in the dynamic Sisyphus prompt to counter these tendencies.
|
|
14
14
|
*/
|
|
15
15
|
export declare function buildGeminiToolMandate(): string;
|
|
16
|
+
export declare function buildGeminiToolGuide(): string;
|
|
17
|
+
export declare function buildGeminiToolCallExamples(): string;
|
|
16
18
|
export declare function buildGeminiDelegationOverride(): string;
|
|
17
19
|
export declare function buildGeminiVerificationOverride(): string;
|
|
18
20
|
export declare function buildGeminiIntentGateEnforcement(): string;
|
package/dist/cli/index.js
CHANGED
|
@@ -7109,11 +7109,14 @@ var init_constants = __esm(() => {
|
|
|
7109
7109
|
});
|
|
7110
7110
|
|
|
7111
7111
|
// src/features/hook-message-injector/injector.ts
|
|
7112
|
+
import { randomBytes } from "crypto";
|
|
7113
|
+
var processPrefix;
|
|
7112
7114
|
var init_injector = __esm(() => {
|
|
7113
7115
|
init_constants();
|
|
7114
7116
|
init_logger();
|
|
7115
7117
|
init_opencode_storage_detection();
|
|
7116
7118
|
init_shared();
|
|
7119
|
+
processPrefix = randomBytes(4).toString("hex");
|
|
7117
7120
|
});
|
|
7118
7121
|
|
|
7119
7122
|
// src/features/hook-message-injector/index.ts
|
|
@@ -7902,7 +7905,7 @@ function generateModelConfig(config) {
|
|
|
7902
7905
|
categories
|
|
7903
7906
|
};
|
|
7904
7907
|
}
|
|
7905
|
-
var ZAI_MODEL = "zai-coding-plan/glm-4.7", ULTIMATE_FALLBACK = "opencode/glm-4.7-free", SCHEMA_URL = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/
|
|
7908
|
+
var ZAI_MODEL = "zai-coding-plan/glm-4.7", ULTIMATE_FALLBACK = "opencode/glm-4.7-free", SCHEMA_URL = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/dev/assets/oh-my-opencode.schema.json";
|
|
7906
7909
|
var init_model_fallback = __esm(() => {
|
|
7907
7910
|
init_model_fallback_requirements();
|
|
7908
7911
|
init_fallback_chain_resolution();
|
|
@@ -9329,7 +9332,7 @@ var {
|
|
|
9329
9332
|
// package.json
|
|
9330
9333
|
var package_default = {
|
|
9331
9334
|
name: "oh-my-opencode",
|
|
9332
|
-
version: "3.
|
|
9335
|
+
version: "3.10.0",
|
|
9333
9336
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
9334
9337
|
main: "dist/index.js",
|
|
9335
9338
|
types: "dist/index.d.ts",
|
|
@@ -9404,17 +9407,17 @@ var package_default = {
|
|
|
9404
9407
|
typescript: "^5.7.3"
|
|
9405
9408
|
},
|
|
9406
9409
|
optionalDependencies: {
|
|
9407
|
-
"oh-my-opencode-darwin-arm64": "3.
|
|
9408
|
-
"oh-my-opencode-darwin-x64": "3.
|
|
9409
|
-
"oh-my-opencode-darwin-x64-baseline": "3.
|
|
9410
|
-
"oh-my-opencode-linux-arm64": "3.
|
|
9411
|
-
"oh-my-opencode-linux-arm64-musl": "3.
|
|
9412
|
-
"oh-my-opencode-linux-x64": "3.
|
|
9413
|
-
"oh-my-opencode-linux-x64-baseline": "3.
|
|
9414
|
-
"oh-my-opencode-linux-x64-musl": "3.
|
|
9415
|
-
"oh-my-opencode-linux-x64-musl-baseline": "3.
|
|
9416
|
-
"oh-my-opencode-windows-x64": "3.
|
|
9417
|
-
"oh-my-opencode-windows-x64-baseline": "3.
|
|
9410
|
+
"oh-my-opencode-darwin-arm64": "3.10.0",
|
|
9411
|
+
"oh-my-opencode-darwin-x64": "3.10.0",
|
|
9412
|
+
"oh-my-opencode-darwin-x64-baseline": "3.10.0",
|
|
9413
|
+
"oh-my-opencode-linux-arm64": "3.10.0",
|
|
9414
|
+
"oh-my-opencode-linux-arm64-musl": "3.10.0",
|
|
9415
|
+
"oh-my-opencode-linux-x64": "3.10.0",
|
|
9416
|
+
"oh-my-opencode-linux-x64-baseline": "3.10.0",
|
|
9417
|
+
"oh-my-opencode-linux-x64-musl": "3.10.0",
|
|
9418
|
+
"oh-my-opencode-linux-x64-musl-baseline": "3.10.0",
|
|
9419
|
+
"oh-my-opencode-windows-x64": "3.10.0",
|
|
9420
|
+
"oh-my-opencode-windows-x64-baseline": "3.10.0"
|
|
9418
9421
|
},
|
|
9419
9422
|
trustedDependencies: [
|
|
9420
9423
|
"@ast-grep/cli",
|
|
@@ -23761,7 +23764,8 @@ var HookNameSchema = exports_external.enum([
|
|
|
23761
23764
|
"runtime-fallback",
|
|
23762
23765
|
"write-existing-file-guard",
|
|
23763
23766
|
"anthropic-effort",
|
|
23764
|
-
"hashline-read-enhancer"
|
|
23767
|
+
"hashline-read-enhancer",
|
|
23768
|
+
"read-image-resizer"
|
|
23765
23769
|
]);
|
|
23766
23770
|
// src/config/schema/notification.ts
|
|
23767
23771
|
var NotificationConfigSchema = exports_external.object({
|
|
@@ -28254,10 +28258,10 @@ async function findAvailablePort2(startPort = DEFAULT_PORT) {
|
|
|
28254
28258
|
|
|
28255
28259
|
// src/features/mcp-oauth/oauth-authorization-flow.ts
|
|
28256
28260
|
import { spawn as spawn2 } from "child_process";
|
|
28257
|
-
import { createHash, randomBytes } from "crypto";
|
|
28261
|
+
import { createHash, randomBytes as randomBytes2 } from "crypto";
|
|
28258
28262
|
import { createServer } from "http";
|
|
28259
28263
|
function generateCodeVerifier() {
|
|
28260
|
-
return
|
|
28264
|
+
return randomBytes2(32).toString("base64url");
|
|
28261
28265
|
}
|
|
28262
28266
|
function generateCodeChallenge(verifier) {
|
|
28263
28267
|
return createHash("sha256").update(verifier).digest("base64url");
|
|
@@ -28342,7 +28346,7 @@ function openBrowser(url2) {
|
|
|
28342
28346
|
async function runAuthorizationCodeRedirect(options) {
|
|
28343
28347
|
const verifier = generateCodeVerifier();
|
|
28344
28348
|
const challenge = generateCodeChallenge(verifier);
|
|
28345
|
-
const state =
|
|
28349
|
+
const state = randomBytes2(16).toString("hex");
|
|
28346
28350
|
const authorizationUrl = buildAuthorizationUrl(options.authorizationEndpoint, {
|
|
28347
28351
|
clientId: options.clientId,
|
|
28348
28352
|
redirectUri: options.redirectUri,
|
|
@@ -46,5 +46,6 @@ export declare const HookNameSchema: z.ZodEnum<{
|
|
|
46
46
|
"write-existing-file-guard": "write-existing-file-guard";
|
|
47
47
|
"anthropic-effort": "anthropic-effort";
|
|
48
48
|
"hashline-read-enhancer": "hashline-read-enhancer";
|
|
49
|
+
"read-image-resizer": "read-image-resizer";
|
|
49
50
|
}>;
|
|
50
51
|
export type HookName = z.infer<typeof HookNameSchema>;
|
package/dist/create-hooks.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export declare function createHooks(args: {
|
|
|
38
38
|
writeExistingFileGuard: ReturnType<typeof import("./hooks").createWriteExistingFileGuardHook> | null;
|
|
39
39
|
hashlineReadEnhancer: ReturnType<typeof import("./hooks").createHashlineReadEnhancerHook> | null;
|
|
40
40
|
jsonErrorRecovery: ReturnType<typeof import("./hooks").createJsonErrorRecoveryHook> | null;
|
|
41
|
+
readImageResizer: ReturnType<typeof import("./hooks").createReadImageResizerHook> | null;
|
|
41
42
|
contextWindowMonitor: ReturnType<typeof import("./hooks").createContextWindowMonitorHook> | null;
|
|
42
43
|
preemptiveCompaction: ReturnType<typeof import("./hooks").createPreemptiveCompactionHook> | null;
|
|
43
44
|
sessionRecovery: ReturnType<typeof import("./hooks").createSessionRecoveryHook> | null;
|