docs: sync README/QUICK_START/EFFORT_MAPPING with current code
- Update ai-openrouter models in ai-setup.sh output and header - Fix effort persistence wording (statusbar -> launcher) - Unify KS_EXCEPTIONS -> KILL_SWITCH_EXCEPTIONS in docs and setup.sh prompt - Clarify menu item 7 only updates AI launchers - Add IPv6 note after ks-off.sh - Scope UFW before.rules insertion to *filter section Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
42
README.md
42
README.md
@@ -9,14 +9,17 @@
|
||||
```
|
||||
setup.sh # мастер-скрипт с меню
|
||||
scripts/
|
||||
├── ai-setup.sh # устанавливает AI-инструменты в ~/.local/bin
|
||||
├── ai-setup.sh # устанавливает AI-инструменты в выбранный BIN_DIR
|
||||
├── fuck-rkn.sh # серверный установщик nginx + telemt + xray
|
||||
├── ru-bypass.sh # .ru трафик напрямую, kill switch для остального
|
||||
├── ks-off.sh # временно отключить kill switch
|
||||
└── ks-on.sh # восстановить kill switch
|
||||
home-configs/
|
||||
├── GLOBAL_RULES.md # глобальные правила для всех агентов
|
||||
├── claude/
|
||||
│ └── skills/ # кастомные скиллы для Claude Code (и Gemini)
|
||||
│ ├── hooks/ # хуки аккаунтов Claude Code
|
||||
│ ├── skills/ # кастомные скиллы для Claude Code (и Gemini)
|
||||
│ └── statusline-command.sh # статусная строка Claude Code
|
||||
├── network/
|
||||
│ └── README.md # подробная документация по сетевой настройке
|
||||
├── vless/
|
||||
@@ -27,6 +30,7 @@ tests/
|
||||
├── test_fixes.sh # юнит-тесты структуры ai-setup.sh
|
||||
└── test_network.sh # тесты маршрутизации
|
||||
test_isolated.sh # проверка автоустановки ai-gpt и ai-kimi
|
||||
test_sigint.sh # ручной тест поведения SIGINT
|
||||
```
|
||||
|
||||
## Установка
|
||||
@@ -49,6 +53,7 @@ bash setup.sh
|
||||
4) Включить kill switch
|
||||
5) Статус
|
||||
6) Проверить сеть
|
||||
7) Обновить # git pull + перегенерация AI-лаунчеров
|
||||
```
|
||||
|
||||
После установки, если shell ещё не видит новые команды:
|
||||
@@ -85,7 +90,8 @@ before.rules: RFC1918 — 10/8, 172.16/12, 192.168/16 тоже напр
|
||||
### Первый запуск
|
||||
|
||||
Через меню (`bash setup.sh` → пункт 2) - он автоматически определит GATEWAY и DEV
|
||||
из `ip route show default` и сохранит их в `~/.config/ai-setup/network_$(hostname).conf`.
|
||||
из `ip route show default`, предложит профиль и сохранит настройки в
|
||||
`~/.config/ai-setup/network_<profile>.conf` (по умолчанию профиль равен `$(hostname)`).
|
||||
|
||||
Или напрямую:
|
||||
|
||||
@@ -101,14 +107,19 @@ sudo GATEWAY=10.0.0.1 DEV=eth0 bash scripts/ru-bypass.sh
|
||||
- Скрипт копируется в `/usr/local/bin/ru-bypass.sh`
|
||||
- `ru-ipset-restore.service` - восстанавливает ipset из файла **до старта UFW** при загрузке
|
||||
- `ru-bypass.service` - обновляет RIPE-список и маршруты после network-online
|
||||
- `ru-bypass.timer` - ежедневно запускает обновление RIPE-списка и маршрутов
|
||||
- NM dispatcher `/etc/NetworkManager/dispatcher.d/99-ru-bypass` - перезапускает скрипт при поднятии amn0
|
||||
- `/etc/ru-bypass.conf` - root-конфиг для запусков из systemd/NM dispatcher
|
||||
- `/etc/hosts` блок для локальных Eltex-доменов
|
||||
|
||||
При каждом запуске:
|
||||
|
||||
- Скачивает список .ru IP-блоков из RIPE (кэш 24ч, `/var/cache/ru-delegations.txt`)
|
||||
- Обновляет ipset `ru-direct` (~11000 записей)
|
||||
- Добавляет в ipset встроенные и пользовательские kill switch исключения
|
||||
- Сохраняет ipset в `/etc/ipset.conf` для восстановления после ребута
|
||||
- Добавляет маршруты через GATEWAY для всех .ru блоков и RFC1918
|
||||
- Обновляет UFW `before.rules`, добавляет прямые iptables-правила и отключает IPv6 при активном kill switch
|
||||
|
||||
### ks-off / ks-on
|
||||
|
||||
@@ -130,8 +141,8 @@ sudo bash scripts/ks-on.sh
|
||||
|
||||
```bash
|
||||
ip route get 8.8.8.8 # -> dev amn0 (Google через VPN)
|
||||
ip route get 77.88.8.8 # -> dev wlp1s0 (ya.ru напрямую)
|
||||
ip route get 10.10.0.1 # -> dev wlp1s0 (*.loc напрямую)
|
||||
ip route get 77.88.8.8 # -> dev <DEV> (ya.ru напрямую)
|
||||
ip route get 10.10.0.1 # -> dev <DEV> (*.loc напрямую)
|
||||
bash tests/test_network.sh # полные тесты
|
||||
```
|
||||
|
||||
@@ -139,16 +150,17 @@ bash tests/test_network.sh # полные тесты
|
||||
|
||||
`scripts/ai-setup.sh` устанавливает и настраивает все AI CLI.
|
||||
|
||||
После запуска генерируются или обновляются в `~/.local/bin`:
|
||||
После запуска генерируются или обновляются в выбранном `BIN_DIR`: `~/bin`, если он уже есть
|
||||
в `PATH`, иначе `~/.local/bin`.
|
||||
|
||||
- `ai-claude` - Claude Code (Anthropic API)
|
||||
- `ai-gpt` - нативный OpenAI Codex CLI
|
||||
- `ai-deepseek` - Claude Code через DeepSeek API
|
||||
- `ai-kimi` - Claude Code через официальный Kimi Code API (`api.kimi.com/coding`)
|
||||
- `ai-openrouter` - Claude Code через OpenRouter (GPT-5.5, Claude и др.)
|
||||
- `ai-openrouter` - Claude Code через OpenRouter (GPT-5.5, Grok, Qwen, MiniMax, Llama и др.)
|
||||
- `ai-gemini` - нативный Antigravity CLI `agy`
|
||||
- `ai-api-helpers.sh` - вспомогательные функции для лаунчеров
|
||||
- `claude-gpt-effort-proxy.py` - прокси для маппинга effort-уровней (GPT backend)
|
||||
- `claude-gpt-effort-proxy.py` - совместимый helper для старого GPT/claude-code-proxy backend
|
||||
|
||||
Все генерируемые скрипты полностью перезаписываются при каждом запуске `scripts/ai-setup.sh`.
|
||||
|
||||
@@ -166,7 +178,8 @@ bash tests/test_network.sh # полные тесты
|
||||
- Устанавливает Xray, генерирует конфиг, создаёт systemd сервис
|
||||
- Все лаунчеры оборачиваются в `proxychains4`
|
||||
|
||||
Если выбрать **n** - VLESS отключается, прокси и IPv6 сбрасываются в дефолт.
|
||||
Если выбрать **n** - VLESS отключается, xray останавливается, системный/Firefox прокси
|
||||
сбрасываются в direct. IPv6 включается обратно только если UFW kill switch не активен.
|
||||
|
||||
## Ключи и конфиги
|
||||
|
||||
@@ -174,7 +187,7 @@ bash tests/test_network.sh # полные тесты
|
||||
- `~/.config/ai-setup/kimi_key` - Kimi API key (права 600)
|
||||
- `~/.config/ai-setup/openrouter_key` - OpenRouter API key (права 600)
|
||||
- `~/.config/ai-setup/global_rules.md` - глобальные правила агентов
|
||||
- `~/.config/ai-setup/network_$(hostname).conf` - сохранённые GATEWAY/DEV для текущей машины
|
||||
- `~/.config/ai-setup/network_<profile>.conf` - сохранённые сетевые профили (`GATEWAY`, `DEV`, `LOCAL_DNS`, `AMNEZIA_SERVER`, `KILL_SWITCH_EXCEPTIONS`)
|
||||
|
||||
## Права запуска агентов
|
||||
|
||||
@@ -193,10 +206,12 @@ Surgical Changes, Goal-Driven Execution) плюс пользовательски
|
||||
|
||||
## Effort Mapping
|
||||
|
||||
`EFFORT_MAPPING.md` - таблица маппинга effort-уровней (`low`/`medium`/`high`/`xhigh`/`max`)
|
||||
между провайдерами (Anthropic, GPT-5.5, DeepSeek V4, Kimi K2.6, Gemini 3.x).
|
||||
`EFFORT_MAPPING.md` - таблица effort-уровней (`low`/`medium`/`high`/`xhigh`/`max`)
|
||||
для Claude Code лаунчеров (`ai-claude`, `ai-deepseek`, `ai-kimi`, `ai-openrouter`).
|
||||
Нативные `ai-gpt` и `ai-gemini` живут отдельно.
|
||||
|
||||
`claude-gpt-effort-proxy.py` маппит `xhigh` → `high` для GPT-бэкенда (нет нативного `xhigh` у GPT).
|
||||
`claude-gpt-effort-proxy.py` маппит `xhigh` -> `high` для совместимости со старым
|
||||
GPT/claude-code-proxy backend; текущие лаунчеры его напрямую не вызывают.
|
||||
|
||||
## Требования
|
||||
|
||||
@@ -212,4 +227,5 @@ Surgical Changes, Goal-Driven Execution) плюс пользовательски
|
||||
bash tests/test_fixes.sh # структура ai-setup.sh и синтаксис bash
|
||||
bash test_isolated.sh # автоустановка ai-gpt и ai-kimi через mock curl
|
||||
bash tests/test_network.sh # маршрутизация (нужен активный ru-bypass)
|
||||
# test_sigint.sh # ручной диагностический тест SIGINT
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user