mirror of
https://github.com/Cheviiot/Nivora.git
synced 2026-08-03 23:57:22 +00:00
feat: create autonomous Nivora package repository
Maintain a validated cross-distribution package catalog. Automate upstream updates, isolated builds, diagnostics, and direct publication. Build the official GitHub Desktop sources for Linux with working OAuth.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Claude Desktop
|
||||
|
||||
Пакет `claude-desktop` переупаковывает DEB из APT-источника Anthropic и сохраняет upstream
|
||||
desktop-id `com.anthropic.Claude`.
|
||||
|
||||
```bash
|
||||
sudo stplr install nivora/claude-desktop
|
||||
```
|
||||
|
||||
## Два независимых приложения
|
||||
|
||||
- `claude-desktop` запускает основное приложение Claude.
|
||||
- `claude-alt` и `claude-code-alt` запускают отдельное приложение ClaudeAlt.
|
||||
- `claude-desktop-account2` — дополнительное имя запуска ClaudeAlt.
|
||||
- Команда `claude` не создаётся, чтобы не конфликтовать с Claude Code CLI.
|
||||
|
||||
ClaudeAlt имеет отдельные executable/resources tree, Electron `productName`, Wayland `app_id`,
|
||||
X11 `WM_CLASS`, desktop-файл, Chromium-профиль, Cowork VM socket, оконную и
|
||||
tray-иконки. В системном лотке используется штатный глиф Claude: оранжевый у
|
||||
основного приложения и бирюзовый у ClaudeAlt. Большие app-иконки окон при этом
|
||||
остаются отдельными. Поэтому окружение рабочего стола группирует Claude и ClaudeAlt
|
||||
как разные приложения, а `requestSingleInstanceLock()` и Cowork runtime каждого
|
||||
приложения работают независимо.
|
||||
|
||||
Новая установка ClaudeAlt хранит cookies, OAuth, IndexedDB и Chromium locks в
|
||||
`${XDG_CONFIG_HOME:-~/.config}/ClaudeAlt`. Если уже существует прежний каталог
|
||||
`${XDG_CONFIG_HOME:-~/.config}/Claude-Account-2`, launcher использует его, чтобы после обновления
|
||||
не потерять авторизацию второго аккаунта. Глобальные данные Claude Code в `~/.claude` могут
|
||||
по-прежнему использоваться обоими приложениями.
|
||||
|
||||
## Настройка
|
||||
|
||||
| Переменная | Назначение |
|
||||
|:--|:--|
|
||||
| `CLAUDE_ALT_DATA_DIR` | Явно задать каталог профиля ClaudeAlt |
|
||||
| `CLAUDE_DESKTOP_ACCOUNT2_DIR` | Совместимое имя переменной прежнего второго профиля |
|
||||
| `CLAUDE_ALT_EXECUTABLE` | Переопределить executable ClaudeAlt для диагностики |
|
||||
|
||||
Основной Claude продолжает использовать upstream desktop-id `com.anthropic.Claude`, а ClaudeAlt
|
||||
использует `com.anthropic.ClaudeAlt`.
|
||||
|
||||
## Сетевая изоляция
|
||||
|
||||
Claude и ClaudeAlt имеют разные Chromium-профили, single-instance sockets,
|
||||
cookies, browser storage, Crashpad-каталоги и Cowork VM sockets. Временные OAuth
|
||||
callback-серверы по умолчанию получают свободный loopback-порт от ОС.
|
||||
|
||||
Приложения не являются сетевыми песочницами: оба выходят в Интернет с
|
||||
одного хоста и публичного IP-адреса. Общий `claude://` URL handler намеренно
|
||||
остаётся за основным Claude. Если в обоих приложениях вручную задать
|
||||
один и тот же фиксированный OAuth callback-порт и запустить авторизацию
|
||||
одновременно, второе приложение получит `EADDRINUSE`.
|
||||
@@ -0,0 +1,57 @@
|
||||
# Codex
|
||||
|
||||
Пакет устанавливает неофициальную Linux-перепаковку Codex Desktop и
|
||||
предусмотренную Linux-реализацию Computer Use из проектов
|
||||
[`codex-desktop-linux`](https://github.com/ilysenko/codex-desktop-linux) и
|
||||
[`computer-use-linux`](https://github.com/agent-sh/computer-use-linux).
|
||||
|
||||
В пакет входят:
|
||||
|
||||
- приложение `codex-app`;
|
||||
- bundled plugin `computer-use@openai-bundled`;
|
||||
- нативный backend `codex-computer-use-linux`, собранный из исходников для
|
||||
версии glibc текущего дистрибутива;
|
||||
- интеграция с AT-SPI, XDG Desktop Portal и доступными средствами ввода Linux.
|
||||
|
||||
Патчи не включают серверную возможность в обход Codex. Они добавляют Linux в
|
||||
список поддерживаемых локальных платформ и сохраняют проверку feature gate
|
||||
`computer_use`, которую возвращает сервис.
|
||||
|
||||
## Первичная настройка
|
||||
|
||||
После установки полностью перезапустите Codex. Состояние backend проверяется
|
||||
без изменения системы:
|
||||
|
||||
```bash
|
||||
codex-computer-use-linux doctor
|
||||
```
|
||||
|
||||
Рекомендуемую настройку доступности и ввода выполняет upstream-мастер:
|
||||
|
||||
```bash
|
||||
codex-computer-use-linux setup
|
||||
```
|
||||
|
||||
Для получения списка окон в GNOME может понадобиться отдельная настройка
|
||||
расширения:
|
||||
|
||||
```bash
|
||||
codex-computer-use-linux setup-window-targeting
|
||||
```
|
||||
|
||||
Команда `setup` идемпотентно включает AT-SPI в текущем пользовательском сеансе;
|
||||
она изменяет пользовательскую настройку доступности без отдельного запроса.
|
||||
Разрешения на захват экрана и управление вводом выдаются пользователем через
|
||||
системные диалоги портала.
|
||||
|
||||
## Диагностика
|
||||
|
||||
```bash
|
||||
codex-computer-use-linux doctor
|
||||
codex-computer-use-linux apps
|
||||
codex-computer-use-linux windows
|
||||
```
|
||||
|
||||
Если интерфейс всё ещё показывает недоступность, сначала убедитесь, что
|
||||
установлен пакет Nivora с `release=2` или новее, затем закройте все процессы
|
||||
Codex и запустите приложение заново.
|
||||
@@ -0,0 +1,27 @@
|
||||
# GitHub Desktop
|
||||
|
||||
Пакет собирает оригинальный GitHub Desktop для Linux непосредственно из
|
||||
официального репозитория [`desktop/desktop`](https://github.com/desktop/desktop).
|
||||
Готовые артефакты, патчи и исходники `shiftkey/desktop` либо других форков не
|
||||
используются.
|
||||
|
||||
GitHub официально выпускает установщики только для macOS и Windows. Linux-сборка
|
||||
в Nivora поэтому является неофициальным пакетом, но код приложения и закреплённые
|
||||
submodule-исходники берутся только из официальных репозиториев GitHub.
|
||||
|
||||
Тяжёлая сборка выполняется workflow `Сборка GitHub Desktop для Linux` на
|
||||
нативных GitHub-hosted runner’ах `x64` и `arm64`. Workflow публикует
|
||||
детерминированно упакованные tar.gz и `SHA256SUMS` в релизе Nivora, а рецепт
|
||||
скачивает эти готовые артефакты с закреплёнными контрольными суммами.
|
||||
|
||||
Установка:
|
||||
|
||||
```bash
|
||||
sudo stplr install nivora/github-desktop
|
||||
```
|
||||
|
||||
Команда запуска:
|
||||
|
||||
```bash
|
||||
github-desktop
|
||||
```
|
||||
@@ -0,0 +1,43 @@
|
||||
# Nivora Stapler Helper
|
||||
|
||||
`nivora-stplr` добавляет короткие команды для Stapler.
|
||||
|
||||
```bash
|
||||
sudo stplr install nivora/nivora-stplr
|
||||
```
|
||||
|
||||
## Команды
|
||||
|
||||
| Alias | Вызов Stapler |
|
||||
|:--|:--|
|
||||
| `sli` | `sudo stplr install` |
|
||||
| `slr` | `sudo stplr remove` |
|
||||
| `slu` | `sudo stplr up` |
|
||||
| `slf` | `sudo stplr fix` |
|
||||
| `slref` | `sudo stplr refresh` |
|
||||
| `sls` | `stplr search` |
|
||||
| `slii` | `stplr info` |
|
||||
| `sll` | `stplr list` |
|
||||
| `sl` | Диспетчер тех же команд |
|
||||
|
||||
Примеры:
|
||||
|
||||
```bash
|
||||
sli --repo nivora parsec
|
||||
slii nivora/codex
|
||||
slu --clean
|
||||
```
|
||||
|
||||
Короткое имя пакета не привязывается к Nivora по умолчанию. Префикс задаётся явно:
|
||||
|
||||
```bash
|
||||
export NIVORA_STPLR_REPO=nivora
|
||||
```
|
||||
|
||||
| Переменная | Назначение |
|
||||
|:--|:--|
|
||||
| `NIVORA_STPLR_REPO` | Префикс для коротких package names |
|
||||
| `NIVORA_STPLR_SUDO` | Команда повышения привилегий, по умолчанию `sudo` |
|
||||
| `NIVORA_STPLR_QUIET=1` | Не печатать команду перед запуском |
|
||||
|
||||
Helper не передаёт произвольные shell-строки через `sudo`.
|
||||
@@ -0,0 +1,16 @@
|
||||
# OpenCode
|
||||
|
||||
Пакет устанавливает официальный Linux desktop-артефакт OpenCode без изменений его кода и ресурсов.
|
||||
|
||||
```bash
|
||||
sudo stplr install nivora/opencode
|
||||
```
|
||||
|
||||
## Запуск
|
||||
|
||||
- из меню приложений — `OpenCode`;
|
||||
- из терминала — `opencode-desktop`.
|
||||
|
||||
Команда `opencode-desktop` является прямой ссылкой на upstream-бинарник
|
||||
`/opt/OpenCode/ai.opencode.desktop`: wrapper, лимиты памяти, GPU-fallback и другие поведенческие
|
||||
патчи не применяются.
|
||||
@@ -0,0 +1,21 @@
|
||||
# Ventoy
|
||||
|
||||
Пакет устанавливает официальный нативный Linux GUI Ventoy и показывает его в
|
||||
меню приложений под коротким названием **Ventoy**.
|
||||
|
||||
## Запуск
|
||||
|
||||
```bash
|
||||
ventoy
|
||||
```
|
||||
|
||||
При запуске Ventoy запрашивает административные права через `pkexec`, потому
|
||||
что программа размечает накопители и записывает загрузочные структуры напрямую.
|
||||
|
||||
## Важно
|
||||
|
||||
- Перед установкой Ventoy внимательно проверьте выбранное устройство.
|
||||
- Первичная установка стирает данные на выбранном накопителе.
|
||||
- Обновление уже подготовленного Ventoy-накопителя сохраняет раздел с образами,
|
||||
однако резервная копия важных данных всё равно рекомендуется.
|
||||
- Пакет использует официальный архив upstream и поддерживает `amd64` и `arm64`.
|
||||
Reference in New Issue
Block a user