docs: актуализация README, +ai-openrouter в AGENTS.md, перегруппировка вывода команд

- README: добавлены ai-openrouter, VLESS/Xray, effort mapping, Gemini skills
- README: команды сгруппированы (Claude Code → нативные)
- README: убрано предупреждение про отдельный Google-аккаунт
- AGENTS.md: ai-openrouter добавлен в список генерируемых скриптов
- ai-setup.sh: финальный вывод перегруппирован, предупреждение Gemini удалено

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 03:26:01 +07:00
parent 2928298e6b
commit 2f396ac27a
3 changed files with 78 additions and 29 deletions

View File

@@ -2,4 +2,4 @@
Данные правила применяются ко всем агентам, работающим конкретно в этом репозитории. Данные правила применяются ко всем агентам, работающим конкретно в этом репозитории.
1. **Полная перегенерация standalone-скриптов при запуске сетап-скрипта (Full regeneration of standalone scripts on setup run):** При каждом запуске `ai-setup.sh` все генерируемые скрипты в `~/.local/bin/` (`ai-gpt`, `ai-deepseek`, `ai-kimi`, `ai-gemini`, `ai-api-helpers.sh`, `ai-claude`) должны быть **полностью перезаписаны** актуальными версиями. Запрещено выполнять слияние (merge) старого и нового содержимого или дополнение (append). Скрипт обязан привести все генерируемые файлы к эталонному виду, однозначно определяемому текущей конфигурацией. 1. **Полная перегенерация standalone-скриптов при запуске сетап-скрипта (Full regeneration of standalone scripts on setup run):** При каждом запуске `ai-setup.sh` все генерируемые скрипты в `~/.local/bin/` (`ai-gpt`, `ai-deepseek`, `ai-kimi`, `ai-openrouter`, `ai-gemini`, `ai-api-helpers.sh`, `ai-claude`) должны быть **полностью перезаписаны** актуальными версиями. Запрещено выполнять слияние (merge) старого и нового содержимого или дополнение (append). Скрипт обязан привести все генерируемые файлы к эталонному виду, однозначно определяемому текущей конфигурацией.

View File

@@ -2,7 +2,7 @@
Набор shell-лаунчеров для локальной установки и запуска нескольких AI coding CLI из единой точки входа. Набор shell-лаунчеров для локальной установки и запуска нескольких AI coding CLI из единой точки входа.
Главный скрипт - `ai-setup.sh`. Он настраивает пользовательские директории, устанавливает глобальные правила агентов из `GLOBAL_RULES.md` и полностью перегенерирует standalone-скрипты в `~/.local/bin`. Главный скрипт - `ai-setup.sh`. Он настраивает пользовательские директории, устанавливает глобальные правила агентов из `GLOBAL_RULES.md`, разворачивает кастомные скиллы и полностью перегенерирует standalone-скрипты в `~/.local/bin`.
## Что реально устанавливается и генерируется ## Что реально устанавливается и генерируется
@@ -11,6 +11,8 @@
- `~/.local/bin` - standalone-лаунчеры и вспомогательные скрипты. - `~/.local/bin` - standalone-лаунчеры и вспомогательные скрипты.
- `~/.config/ai-setup` - сохранённые ключи и глобальные правила. - `~/.config/ai-setup` - сохранённые ключи и глобальные правила.
- `~/.npm-global` - пользовательский npm prefix. - `~/.npm-global` - пользовательский npm prefix.
- `~/.claude/skills/` - кастомные скиллы для Claude Code.
- `~/.gemini/config/plugins/local-setup/skills/` - те же скиллы для Gemini/agy.
После запуска генерируются или обновляются: После запуска генерируются или обновляются:
@@ -18,6 +20,7 @@
- `~/.local/bin/ai-gpt` - `~/.local/bin/ai-gpt`
- `~/.local/bin/ai-deepseek` - `~/.local/bin/ai-deepseek`
- `~/.local/bin/ai-kimi` - `~/.local/bin/ai-kimi`
- `~/.local/bin/ai-openrouter`
- `~/.local/bin/ai-gemini` - `~/.local/bin/ai-gemini`
- `~/.local/bin/ai-api-helpers.sh` - `~/.local/bin/ai-api-helpers.sh`
- `~/.local/bin/claude-gpt-effort-proxy.py` - `~/.local/bin/claude-gpt-effort-proxy.py`
@@ -30,20 +33,52 @@
``` ```
home-configs/ home-configs/
├── GLOBAL_RULES.md # глобальные правила для всех агентов ├── GLOBAL_RULES.md # глобальные правила для всех агентов
── claude/ ── claude/
└── skills/ # кастомные скиллы для Claude Code └── skills/ # кастомные скиллы для Claude Code (и Gemini)
├── el-review/ ├── el-review/
│ └── SKILL.md │ └── SKILL.md
└── el-review-heavy/ └── el-review-heavy/
└── SKILL.md └── SKILL.md
├── vless/
│ └── servers.conf # список VLESS-серверов для прокси
├── proxychains/
│ └── proxychains-xray.conf # конфиг proxychains (SOCKS5 через xray)
└── xray/ # (зарезервировано под будущие xray-конфиги)
``` ```
При запуске `ai-setup.sh`: При запуске `ai-setup.sh`:
- `GLOBAL_RULES.md` копируется в `~/.config/ai-setup/global_rules.md` и рассылается в нативные rule-файлы (`~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md` и т.д.) - `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/` - Скиллы из `home-configs/claude/skills/` копируются и в `~/.claude/skills/`, и в `~/.gemini/config/plugins/local-setup/skills/`. Для Gemini также генерируется `plugin.json`, чтобы `agy` распознал плагин `local-setup`.
Также скрипт при отсутствии скачивает `~/.local/bin/claude-code-proxy`, но текущий `ai-gpt` запускает нативный Codex CLI и не использует старую proxy-логику через `ANTHROPIC_BASE_URL`. Лаунчеры дополнительно обновляют native rule-файлы через helper `_build_ai_sys_prompt` при своём запуске.
В native rule-файлы попадают только глобальные правила. Полный prompt с проектными `.md` используется в `ai-claude`, `ai-deepseek`, `ai-openrouter` и `ai-gemini`; `ai-gpt` и `ai-kimi` полагаются на native rule-файлы своих CLI.
## VLESS / Xray (опционально)
При запуске `ai-setup.sh` первым делом спрашивает, нужен ли режим VLESS-прокси:
```
Установить встроенный vless? [Y/n]
```
Если выбрать **Y** (по умолчанию):
- Читает список серверов из `home-configs/vless/servers.conf`.
- Реально проверяет каждый сервер: запускает `xray` с временным конфигом и тестирует curl'ом через SOCKS5. Работающие серверы помечаются зелёным, неработающие — красным.
- Пользователь выбирает сервер.
- Устанавливается Xray (`/usr/local/bin/xray`), генерируется конфиг (`/etc/xray/config.json`), создаётся и запускается systemd-сервис.
- Отключается IPv6 на уровне системы (VLESS с ним конфликтует).
- Устанавливается `proxychains-ng`.
- Firefox настраивается на SOCKS5 (`127.0.0.1:1080`) с remote DNS.
- Системный прокси (GNOME) настраивается для Chrome/Chromium.
- **Все лаунчеры оборачиваются в `proxychains4`** — трафик идёт через xray.
Если выбрать **n** (direct-режим — или если ранее был включён VLESS, а теперь отключается):
- Останавливается и отключается systemd-сервис xray.
- Системный прокси сбрасывается в `none`.
- Firefox переключается на прямой доступ.
- IPv6 восстанавливается.
## Установка ## Установка
@@ -67,23 +102,31 @@ exec bash
- `curl` - `curl`
- `python3` - `python3`
- Node.js/npm для npm-глобальных инструментов - Node.js/npm для npm-глобальных инструментов
- (опционально) `proxychains-ng` — для VLESS-режима
- (опционально) `gsettings` — для автонастройки системного прокси
Если Node.js отсутствует, скрипт пытается поставить его автоматически для систем с `apt-get` или `dnf`. Для остальных систем Node.js нужно поставить вручную. Если Node.js отсутствует, скрипт пытается поставить его автоматически для систем с `apt-get` или `dnf`. Для остальных систем Node.js нужно поставить вручную.
## Команды ## Команды
- `ai-claude` - запускает оригинальный Claude Code через `claude`. **На базе Claude Code:**
- `ai-gpt` - запускает нативный OpenAI Codex CLI, при отсутствии пытается поставить его через `https://chatgpt.com/codex/install.sh`.
- `ai-deepseek` - запускает Claude Code через DeepSeek Anthropic-compatible API, проверяет и сохраняет DeepSeek API key. - `ai-claude` - запускает оригинальный Claude Code (Anthropic API).
- `ai-kimi` - запускает Claude Code через официальный Kimi Code API (`https://api.kimi.com/coding/`), проверяет и сохраняет Kimi API key. - `ai-deepseek` - запускает Claude Code через DeepSeek Anthropic-compatible API. Проверяет и сохраняет DeepSeek API key.
- `ai-gemini` - запускает нативный Antigravity CLI `agy`, при отсутствии пытается поставить его через `https://antigravity.google/cli/install.sh`. - `ai-kimi` - запускает Claude Code через официальный Kimi Code API (`https://api.kimi.com/coding/`). Проверяет и сохраняет Kimi API key.
- `ai-openrouter` - запускает Claude Code через OpenRouter API (модели: GPT-5.5, Claude Opus 4.8, Claude Sonnet 4.6 и любые другие с OpenRouter). Проверяет и сохраняет OpenRouter API key.
**Нативные CLI:**
- `ai-gpt` - запускает нативный OpenAI Codex CLI. При отсутствии пытается поставить через `https://chatgpt.com/codex/install.sh` (fallback: npm).
- `ai-gemini` - запускает нативный Antigravity CLI `agy`. При отсутствии пытается поставить через `https://antigravity.google/cli/install.sh`.
Для `ai-gemini` скрипт в конце отдельно предупреждает использовать отдельный Google-аккаунт.
## Ключи и конфиги ## Ключи и конфиги
- DeepSeek key хранится в `~/.config/ai-setup/deepseek_key` с правами `600`. - DeepSeek key хранится в `~/.config/ai-setup/deepseek_key` с правами `600`.
- Kimi key хранится в `~/.config/ai-setup/kimi_key` с правами `600`. - Kimi key хранится в `~/.config/ai-setup/kimi_key` с правами `600`.
- OpenRouter key хранится в `~/.config/ai-setup/openrouter_key` с правами `600`.
- Исходник глобальных правил лежит в `home-configs/GLOBAL_RULES.md`. - Исходник глобальных правил лежит в `home-configs/GLOBAL_RULES.md`.
- При запуске глобальные правила пишутся в `~/.config/ai-setup/global_rules.md`. - При запуске глобальные правила пишутся в `~/.config/ai-setup/global_rules.md`.
@@ -96,14 +139,12 @@ exec bash
Лаунчеры дополнительно обновляют эти файлы через helper `_build_ai_sys_prompt` при своём запуске. Лаунчеры дополнительно обновляют эти файлы через helper `_build_ai_sys_prompt` при своём запуске.
В native rule-файлы попадают только глобальные правила. Полный prompt с проектными `.md` используется в `ai-claude`, `ai-deepseek` и `ai-gemini`; `ai-gpt` и `ai-kimi` полагаются на native rule-файлы своих CLI.
## Права запуска агентов ## Права запуска агентов
Лаунчеры запускают CLI в максимально свободном режиме: Лаунчеры запускают CLI в максимально свободном режиме:
- `ai-gpt` использует `--dangerously-bypass-approvals-and-sandbox`. - `ai-gpt` использует `--dangerously-bypass-approvals-and-sandbox`.
- `ai-claude`, `ai-deepseek`, `ai-kimi` и `ai-gemini` используют `--dangerously-skip-permissions`. - `ai-claude`, `ai-deepseek`, `ai-kimi`, `ai-openrouter` и `ai-gemini` используют `--dangerously-skip-permissions`.
Это удобно для локального coding workflow, но это не sandbox для недоверенного кода. Это удобно для локального coding workflow, но это не sandbox для недоверенного кода.
@@ -129,7 +170,13 @@ exec bash
Правило этого проекта: Правило этого проекта:
1. При каждом запуске `ai-setup.sh` все генерируемые standalone-скрипты в `~/.local/bin` должны полностью перезаписываться актуальными версиями. Merge и append старого содержимого запрещены. 1. При каждом запуске `ai-setup.sh` все генерируемые standalone-скрипты в `~/.local/bin` (`ai-gpt`, `ai-deepseek`, `ai-kimi`, `ai-openrouter`, `ai-gemini`, `ai-api-helpers.sh`, `ai-claude`) должны полностью перезаписываться актуальными версиями. Merge и append старого содержимого запрещены.
## Effort Mapping
В репозитории есть `EFFORT_MAPPING.md` — документ с полной таблицей маппинга effort-уровней между провайдерами (Anthropic, GPT-5.5, DeepSeek V4, Kimi K2.6, Gemini 3.x). Описывает, во что превращается `low`/`medium`/`high`/`xhigh`/`max` у каждого провайдера и где именно выполняется маппинг.
Также скрипт генерирует `~/.local/bin/claude-gpt-effort-proxy.py` — легковесный прокси, который маппит `xhigh``high` для `claude-code-proxy` (GPT-бэкенд). Без него Claude Code не смог бы использовать `xhigh` effort с GPT.
## Тесты ## Тесты

View File

@@ -1195,13 +1195,15 @@ echo -e "${GREEN} Установка завершена!${NC}"
echo -e "${GREEN}════════════════════════════════════════════════════${NC}" echo -e "${GREEN}════════════════════════════════════════════════════${NC}"
echo "" echo ""
echo "Доступные команды (теперь это независимые скрипты в ~/.local/bin):" echo "Доступные команды (теперь это независимые скрипты в ~/.local/bin):"
echo -e " ${CYAN}ai-claude${NC} - Оригинальный Claude Code (Anthropic)"
echo -e " ${CYAN}ai-gpt${NC} - OpenAI Codex (нативный CLI, автоустановка)"
echo -e " ${CYAN}ai-deepseek${NC} - DeepSeek (API ключ сохраняется)"
echo -e " ${CYAN}ai-kimi${NC} - Kimi K2.6 (через Claude Code, API ключ сохраняется)"
echo -e " ${CYAN}ai-openrouter${NC} - OpenRouter (через Claude Code, любые модели)"
echo -e " ${CYAN}ai-gemini${NC} - Gemini (нативный agy CLI, автоустановка)"
echo "" echo ""
echo -e "${YELLOW}⚠️ Для Gemini используйте отдельный Google-аккаунт!${NC}" echo " На базе Claude Code:"
echo -e " ${CYAN}ai-claude${NC} - Оригинальный Claude Code (Anthropic)"
echo -e " ${CYAN}ai-deepseek${NC} - DeepSeek (через Claude Code, API ключ сохраняется)"
echo -e " ${CYAN}ai-kimi${NC} - Kimi K2.6 (через Claude Code, API ключ сохраняется)"
echo -e " ${CYAN}ai-openrouter${NC} - OpenRouter (через Claude Code: GPT-5.5, Opus 4.8, Sonnet 4.6)"
echo ""
echo " Нативные CLI:"
echo -e " ${CYAN}ai-gpt${NC} - OpenAI Codex (нативный CLI, автоустановка)"
echo -e " ${CYAN}ai-gemini${NC} - Gemini (нативный agy CLI, автоустановка)"
echo "" echo ""
echo -e "Чтобы команды были доступны сразу, выполните: ${GREEN}exec bash${NC}" echo -e "Чтобы команды были доступны сразу, выполните: ${GREEN}exec bash${NC}"