feat: мастер-скрипт setup.sh + перенос скриптов в scripts/
- все скрипты перенесены в scripts/ (ai-setup.sh, ru-bypass.sh, ks-off.sh, ks-on.sh) - setup.sh — новый мастер-скрипт с меню: шаги 1-2 отделены от опций 3-4 - пояснения к GATEWAY и DEV при выборе пункта 2 - ai-setup.sh: SCRIPT_DIR поднят на уровень выше (/../) чтобы находить home-configs/ - tests/test_fixes.sh, test_isolated.sh: пути обновлены на scripts/ai-setup.sh - QUICK_START.md, README.md, home-configs/network/README.md: пути обновлены Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
39
README.md
39
README.md
@@ -2,11 +2,12 @@
|
||||
|
||||
Набор shell-лаунчеров для локальной установки и запуска нескольких AI coding CLI из единой точки входа.
|
||||
|
||||
Главный скрипт - `ai-setup.sh`. Он настраивает пользовательские директории, устанавливает глобальные правила агентов из `GLOBAL_RULES.md`, разворачивает кастомные скиллы и полностью перегенерирует standalone-скрипты в `~/.local/bin`.
|
||||
Точка входа — `setup.sh` (мастер-скрипт с меню). Он вызывает нужный скрипт из `scripts/`.
|
||||
`scripts/ai-setup.sh` настраивает пользовательские директории, устанавливает глобальные правила агентов из `GLOBAL_RULES.md`, разворачивает кастомные скиллы и полностью перегенерирует standalone-скрипты в `~/.local/bin`.
|
||||
|
||||
## Что реально устанавливается и генерируется
|
||||
|
||||
`ai-setup.sh` работает с такими путями:
|
||||
`scripts/ai-setup.sh` работает с такими путями:
|
||||
|
||||
- `~/.local/bin` - standalone-лаунчеры и вспомогательные скрипты.
|
||||
- `~/.config/ai-setup` - сохранённые ключи и глобальные правила.
|
||||
@@ -25,7 +26,7 @@
|
||||
- `~/.local/bin/ai-api-helpers.sh`
|
||||
- `~/.local/bin/claude-gpt-effort-proxy.py`
|
||||
|
||||
Все генерируемые standalone-скрипты полностью перезаписываются текущей эталонной версией из `ai-setup.sh`. Старое содержимое не сливается и не дописывается.
|
||||
Все генерируемые standalone-скрипты полностью перезаписываются текущей эталонной версией из `scripts/ai-setup.sh`. Старое содержимое не сливается и не дописывается.
|
||||
|
||||
## Структура конфигов
|
||||
|
||||
@@ -41,9 +42,7 @@ home-configs/
|
||||
│ └── el-review-heavy/
|
||||
│ └── SKILL.md
|
||||
├── network/
|
||||
│ ├── ks-off.sh # временно отключить UFW kill switch
|
||||
│ ├── ks-on.sh # восстановить UFW kill switch
|
||||
│ └── ru-bypass.sh # .ru трафик напрямую (bypass Amnezia), всё остальное через VPN
|
||||
│ └── README.md # документация по сетевой настройке
|
||||
├── vless/
|
||||
│ └── servers.conf # список VLESS-серверов для прокси
|
||||
├── proxychains/
|
||||
@@ -51,7 +50,7 @@ home-configs/
|
||||
└── xray/ # (зарезервировано под будущие xray-конфиги)
|
||||
```
|
||||
|
||||
При запуске `ai-setup.sh`:
|
||||
При запуске `scripts/ai-setup.sh`:
|
||||
- `GLOBAL_RULES.md` копируется в `~/.config/ai-setup/global_rules.md` и рассылается в нативные rule-файлы (`~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md`, `~/.kimi-code/AGENTS.md`, `~/.gemini/GEMINI.md`).
|
||||
- Скиллы из `home-configs/claude/skills/` копируются и в `~/.claude/skills/`, и в `~/.gemini/config/plugins/local-setup/skills/`. Для Gemini также генерируется `plugin.json`, чтобы `agy` распознал плагин `local-setup`.
|
||||
|
||||
@@ -61,7 +60,7 @@ home-configs/
|
||||
|
||||
## VLESS / Xray (опционально)
|
||||
|
||||
При запуске `ai-setup.sh` первым делом спрашивает, нужен ли режим VLESS-прокси:
|
||||
При запуске `scripts/ai-setup.sh` первым делом спрашивает, нужен ли режим VLESS-прокси:
|
||||
|
||||
```
|
||||
Установить встроенный vless? [Y/n]
|
||||
@@ -89,7 +88,13 @@ home-configs/
|
||||
Запускать от обычного пользователя, не через `sudo`:
|
||||
|
||||
```bash
|
||||
bash ai-setup.sh
|
||||
bash setup.sh
|
||||
```
|
||||
|
||||
Мастер-скрипт предложит меню с выбором что запустить. Либо напрямую:
|
||||
|
||||
```bash
|
||||
bash scripts/ai-setup.sh
|
||||
```
|
||||
|
||||
Скрипт прямо запрещает запуск от root. При этом, если Node.js не найден, он может попытаться установить Node.js через `apt-get` или `dnf` и тогда попросит `sudo` уже внутри этого шага.
|
||||
@@ -134,7 +139,7 @@ exec bash
|
||||
- Исходник глобальных правил лежит в `home-configs/GLOBAL_RULES.md`.
|
||||
- При запуске глобальные правила пишутся в `~/.config/ai-setup/global_rules.md`.
|
||||
|
||||
При запуске `ai-setup.sh` сразу обновляются native rule-файлы:
|
||||
При запуске `scripts/ai-setup.sh` сразу обновляются native rule-файлы:
|
||||
|
||||
- `~/.codex/AGENTS.md`
|
||||
- `~/.kimi-code/AGENTS.md`
|
||||
@@ -182,16 +187,16 @@ exec bash
|
||||
|
||||
Также скрипт генерирует `~/.local/bin/claude-gpt-effort-proxy.py` — легковесный прокси, который маппит `xhigh` → `high` для `claude-code-proxy` (GPT-бэкенд). Без него Claude Code не смог бы использовать `xhigh` effort с GPT.
|
||||
|
||||
## Сетевые скрипты (network/)
|
||||
## Сетевые скрипты (scripts/)
|
||||
|
||||
Скрипты в `home-configs/network/` **не запускаются автоматически** — ни `ai-setup.sh`, ни системой. Это ручные утилиты, которые нужно запускать явно от root.
|
||||
Скрипты в `scripts/` **не запускаются автоматически** — ни `setup.sh`, ни системой. Это ручные утилиты, которые нужно запускать явно от root (или через `bash setup.sh`).
|
||||
|
||||
Предназначены для окружения с Amnezia VPN и UFW kill switch (весь трафик через VPN, без VPN - только локалка).
|
||||
|
||||
### ks-off.sh — временно отключить kill switch
|
||||
|
||||
```bash
|
||||
sudo bash ~/path/to/home-configs/network/ks-off.sh
|
||||
sudo bash scripts/ks-off.sh
|
||||
```
|
||||
|
||||
Отключает UFW. После этого нужно вручную отключить Amnezia через её GUI - трафик пойдёт напрямую через провайдера (российский IP). Используется когда нужен доступ к сайтам, которые блокируют VPN (ozon.ru и т.п.).
|
||||
@@ -201,7 +206,7 @@ sudo bash ~/path/to/home-configs/network/ks-off.sh
|
||||
### ks-on.sh — восстановить kill switch
|
||||
|
||||
```bash
|
||||
sudo bash ~/path/to/home-configs/network/ks-on.sh
|
||||
sudo bash scripts/ks-on.sh
|
||||
```
|
||||
|
||||
Включает UFW обратно. Перед запуском нужно подключить Amnezia через GUI - иначе скрипт предупредит, что интерфейс `amn0` не найден, и спросит подтверждение (без VPN весь интернет заблокируется).
|
||||
@@ -211,12 +216,12 @@ sudo bash ~/path/to/home-configs/network/ks-on.sh
|
||||
```
|
||||
# Нужен доступ к ru-сайтам напрямую:
|
||||
1. Выйти из Claude Code
|
||||
2. sudo bash ks-off.sh
|
||||
2. sudo bash scripts/ks-off.sh
|
||||
3. Отключить Amnezia в GUI
|
||||
|
||||
# Возврат к нормальному режиму:
|
||||
4. Подключить Amnezia в GUI (дождаться amn0)
|
||||
5. sudo bash ks-on.sh
|
||||
5. sudo bash scripts/ks-on.sh
|
||||
6. Войти в Claude Code
|
||||
```
|
||||
|
||||
@@ -229,4 +234,4 @@ bash tests/test_fixes.sh
|
||||
bash test_isolated.sh
|
||||
```
|
||||
|
||||
`tests/test_fixes.sh` проверяет структуру `ai-setup.sh` и синтаксис bash. `test_isolated.sh` проверяет автоустановочные URL для `ai-gpt` и `ai-kimi` через mock `curl`.
|
||||
`tests/test_fixes.sh` проверяет структуру `scripts/ai-setup.sh` и синтаксис bash. `test_isolated.sh` проверяет автоустановочные URL для `ai-gpt` и `ai-kimi` через mock `curl`.
|
||||
|
||||
Reference in New Issue
Block a user