Спасибо, теперь я вижу, что **Pi — это минимальный agent harness (каркас агента)**, поддерживающий 15+ провайдеров, включая **Ollama** для локальных моделей. Нужна документация по конфигурации профилей.
Отлично! Нашёл информацию про профили. Теперь вижу, что есть пакет **pi-profiles** для управления профилями. Давайте получим ещё информацию о локальных моделях и настройке Ollama.
Теперь я понимаю полную картину. Вот решение вашей проблемы:
## Использование локальной модели в Pi на Debian
**Ошибка "профиль не создан"** указывает на то, что пи ещё не инициализирована. Вот пошаговое решение:
### 1. **Установите Pi**
На Debian запустите:
```bash
curl -fsSL https://pi.dev/install.sh | sh
```
Или через npm (требует Node.js 22.19+):
```bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
```
Проверьте установку:
```bash
pi --version
```
### 2. **Инициализируйте конфигурацию (создайте профиль)**
Перейдите в папку, где хотите работать, и запустите Pi:
```bash
cd ~/my-project
pi
```
При первом запуске Pi автоматически создаст конфигурационную директорию `~/.pi/agent/` с необходимыми файлами (в том числе `settings.json` и `auth.json`).
### 3. **Настройте локальную модель через `models.json`**
Если вы используете **Ollama**, отредактируйте файл `~/.pi/agent/models.json`:
```bash
nano ~/.pi/agent/models.json
```
Добавьте конфигурацию для Ollama:
```json
{
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434/v1",
"api": "openai-completions",
"apiKey": "ollama",
"models": [
{ "id": "mistral:latest" },
{ "id": "neural-chat:latest" }
]
}
}
}
```
Замените `mistral:latest` и `neural-chat:latest` на модели, которые вы хотите использовать.
### 4. **Убедитесь, что Ollama запущена**
На Debian запустите Ollama:
```bash
ollama serve
```
Или проверьте, что сервис работает:
```bash
curl http://localhost:11434/api/tags
```
### 5. **Выберите модель в Pi**
Откройте Pi и введите команду:
```
/model
```
Нажимайте стрелки вверх/вниз, чтобы найти вашу модель Ollama, затем нажмите `Enter`.
---
## Альтернатива: pi-profiles (для управления несколькими профилями)
Если позже вам понадобятся **несколько независимых профилей** (например, для разных проектов с разными моделями), установите **pi-profiles**:
```bash
npm install -g pi-profiles
```
Создайте профиль:
```bash
ppi create work --own-auth
ppi use work
```
Это создаст отдельную конфигурацию в `~/.pi/profiles/work/`.
---
## Файлы конфигурации
| Файл | Назначение |
|------|-----------|
| `~/.pi/agent/settings.json` | Общие настройки (тема, модель по умолчанию) |
| `~/.pi/agent/auth.json` | Сохранённые учётные данные провайдеров |
| `~/.pi/agent/models.json` | Кастомная конфигурация моделей (Ollama, LM Studio и т.д.) |
| `~/.pi/agent/sessions/` | Сохранённые сессии |
---
Когда вы запустите Pi в следующий раз, профиль уже будет создан, и вы сможете использовать локальную модель. Какую именно локальную модель вы хотите использовать — Ollama, llama.cpp или что-то ещё?
pi
Re: pi
Судя по документации и обсуждениям в сообществе `pi.dev`, проблема с «несозданным профилем» или отсутствием конфигурации при использовании локальных моделей на Debian (и Linux в целом) чаще всего связана с тем, что инструмент не создает необходимые файлы конфигурации автоматически при первом запуске.
Вот пошаговая инструкция, как заставить это работать:
### 1. Понимание причины
Ошибка «профиль не создан» может относиться к двум вещам:
* **Базовая конфигурация моделей:** Pi не создает файл `models.json` в папке настроек по умолчанию. Без него он «не знает», как подключиться к вашему локальному серверу (например, Ollama).
* **Расширение `pi-profile`:** Если вы установили пакет `pi-profile` для переключения ролей (researcher, coder и т.д.), он требует наличия JSON-файлов в папке `~/.pi/profiles/`.
### 2. Настройка локальной модели (Ollama и др.)
Если вы хотите использовать локальный LLM, вам нужно вручную создать или отредактировать конфигурацию провайдеров.
1. Перейдите в директорию настроек: `cd ~/.pi/agent/` (или `~/.pi/` в зависимости от версии).
2. Найдите или создайте файл **`models.json`**.
3. Добавьте туда настройки вашего локального провайдера. Для Ollama это обычно выглядит так (упрощенно):
```json
{
"providers": {
"ollama": {
"endpoint": "http://localhost:11434/v1",
"api_key": "ollama"
}
},
"models": {
"local-model": {
"provider": "ollama",
"model": "llama3"
}
}
}
```
*(Замените `llama3` на имя модели, которую вы скачали в Ollama)*.
### 3. Решение проблемы с профилями (`pi-profile`)
Если вы используете расширение `pi-profile` и видите ошибку профиля:
1. **Установите расширение** (если еще не сделали):
```bash
pi install npm:pi-profile
```
2. **Создайте папку для профилей**, так как она не создается автоматически:
```bash
mkdir -p ~/.pi/profiles/
```
3. **Создайте ваш первый профиль**. Вы можете сделать это интерактивно внутри Pi:
- Запустите `pi`.
- Введите команду `/profile create`. Следуйте инструкциям ИИ для создания профиля.
- Или создайте файл вручную: `~/.pi/profiles/default.json` с описанием модели и системного промпта.
### 4. Запуск и проверка
После создания файлов:
1. Запустите Pi в нужной папке проекта: `pi`.
2. Выберите вашу локальную модель командой `/model`.
3. Если используете профиль: `/profile default`.
**Краткий итог для Debian:**
Если Pi «жалуется», что чего-то нет — скорее всего, он просто не создал папку или JSON-файл в `~/.pi/`. Создайте их вручную:
- Конфиг моделей $\rightarrow$ `~/.pi/agent/models.json`
- Профили $\rightarrow$ `~/.pi/profiles/<имя>.json`
Вот пошаговая инструкция, как заставить это работать:
### 1. Понимание причины
Ошибка «профиль не создан» может относиться к двум вещам:
* **Базовая конфигурация моделей:** Pi не создает файл `models.json` в папке настроек по умолчанию. Без него он «не знает», как подключиться к вашему локальному серверу (например, Ollama).
* **Расширение `pi-profile`:** Если вы установили пакет `pi-profile` для переключения ролей (researcher, coder и т.д.), он требует наличия JSON-файлов в папке `~/.pi/profiles/`.
### 2. Настройка локальной модели (Ollama и др.)
Если вы хотите использовать локальный LLM, вам нужно вручную создать или отредактировать конфигурацию провайдеров.
1. Перейдите в директорию настроек: `cd ~/.pi/agent/` (или `~/.pi/` в зависимости от версии).
2. Найдите или создайте файл **`models.json`**.
3. Добавьте туда настройки вашего локального провайдера. Для Ollama это обычно выглядит так (упрощенно):
```json
{
"providers": {
"ollama": {
"endpoint": "http://localhost:11434/v1",
"api_key": "ollama"
}
},
"models": {
"local-model": {
"provider": "ollama",
"model": "llama3"
}
}
}
```
*(Замените `llama3` на имя модели, которую вы скачали в Ollama)*.
### 3. Решение проблемы с профилями (`pi-profile`)
Если вы используете расширение `pi-profile` и видите ошибку профиля:
1. **Установите расширение** (если еще не сделали):
```bash
pi install npm:pi-profile
```
2. **Создайте папку для профилей**, так как она не создается автоматически:
```bash
mkdir -p ~/.pi/profiles/
```
3. **Создайте ваш первый профиль**. Вы можете сделать это интерактивно внутри Pi:
- Запустите `pi`.
- Введите команду `/profile create`. Следуйте инструкциям ИИ для создания профиля.
- Или создайте файл вручную: `~/.pi/profiles/default.json` с описанием модели и системного промпта.
### 4. Запуск и проверка
После создания файлов:
1. Запустите Pi в нужной папке проекта: `pi`.
2. Выберите вашу локальную модель командой `/model`.
3. Если используете профиль: `/profile default`.
**Краткий итог для Debian:**
Если Pi «жалуется», что чего-то нет — скорее всего, он просто не создал папку или JSON-файл в `~/.pi/`. Создайте их вручную:
- Конфиг моделей $\rightarrow$ `~/.pi/agent/models.json`
- Профили $\rightarrow$ `~/.pi/profiles/<имя>.json`
Re: pi
Ваша проблема больше не связана с профилем — теперь это **конфликт расширений**.
Ошибка прямо говорит: `Tool "web_search" conflicts`. У вас установлены два разных расширения для поиска в сети (`@ollama/pi-web-search` и `pi-web-access`), и оба они пытаются зарегистрировать инструмент с одинаковым названием `web_search`. Pi не может запустить два разных инструмента с одним именем.
### Как это исправить (3 способа):
#### Способ 1: Быстрый запуск без расширений (для проверки)
Если вам нужно просто запустить Pi прямо сейчас, используйте флаг, который предложила сама программа:
```bash
pi -ne
```
Это запустит Pi в «чистом» режиме без загрузки всех плагинов.
#### Способ 2: Удаление конфликтующего расширения (рекомендуется)
Вам нужно оставить только один инструмент поиска. Скорее всего, `@ollama/pi-web-search` и `pi-web-access` делают одно и то же. Лучше оставить один из них.
Попробуйте удалить одно из них через терминал:
```bash
pi uninstall npm:@ollama/pi-web-search
```
Или, если хотите оставить поиск от Ollama:
```bash
pi uninstall npm:pi-web-access
```
После этого попробуйте запустить `pi` снова.
#### Способ 3: Ручная очистка (если `uninstall` не сработал)
Если команда `uninstall` выдает ошибку, удалите папку с модулем вручную:
1. Перейдите в папку расширений:
```bash
cd /home/gt/.pi/agent/npm/node_modules/
```
2. Удалите одну из конфликтующих папок:
```bash
rm -rf @ollama/pi-web-search
# ИЛИ
rm -rf pi-web-access
```
### Почему это произошло?
Вы, вероятно, устанавливали разные пакеты для обеспечения доступа ИИ к интернету. В архитектуре Pi каждый плагин регистрирует свои "инструменты" (tools). Когда два плагина говорят: «Я теперь отвечаю за функцию `web_search`», возникает критический сбой при запуске.
**После того как решите конфликт расширений**, возвращайтесь к выбору модели в меню (где вы видите `sysadmin:latest`), и Pi должен запуститься нормально.
Ошибка прямо говорит: `Tool "web_search" conflicts`. У вас установлены два разных расширения для поиска в сети (`@ollama/pi-web-search` и `pi-web-access`), и оба они пытаются зарегистрировать инструмент с одинаковым названием `web_search`. Pi не может запустить два разных инструмента с одним именем.
### Как это исправить (3 способа):
#### Способ 1: Быстрый запуск без расширений (для проверки)
Если вам нужно просто запустить Pi прямо сейчас, используйте флаг, который предложила сама программа:
```bash
pi -ne
```
Это запустит Pi в «чистом» режиме без загрузки всех плагинов.
#### Способ 2: Удаление конфликтующего расширения (рекомендуется)
Вам нужно оставить только один инструмент поиска. Скорее всего, `@ollama/pi-web-search` и `pi-web-access` делают одно и то же. Лучше оставить один из них.
Попробуйте удалить одно из них через терминал:
```bash
pi uninstall npm:@ollama/pi-web-search
```
Или, если хотите оставить поиск от Ollama:
```bash
pi uninstall npm:pi-web-access
```
После этого попробуйте запустить `pi` снова.
#### Способ 3: Ручная очистка (если `uninstall` не сработал)
Если команда `uninstall` выдает ошибку, удалите папку с модулем вручную:
1. Перейдите в папку расширений:
```bash
cd /home/gt/.pi/agent/npm/node_modules/
```
2. Удалите одну из конфликтующих папок:
```bash
rm -rf @ollama/pi-web-search
# ИЛИ
rm -rf pi-web-access
```
### Почему это произошло?
Вы, вероятно, устанавливали разные пакеты для обеспечения доступа ИИ к интернету. В архитектуре Pi каждый плагин регистрирует свои "инструменты" (tools). Когда два плагина говорят: «Я теперь отвечаю за функцию `web_search`», возникает критический сбой при запуске.
**После того как решите конфликт расширений**, возвращайтесь к выбору модели в меню (где вы видите `sysadmin:latest`), и Pi должен запуститься нормально.
Re: pi
Ваша проблема больше не связана с профилем — теперь это **конфликт расширений**.
Ошибка прямо говорит: `Tool "web_search" conflicts`. У вас установлены два разных расширения для поиска в сети (`@ollama/pi-web-search` и `pi-web-access`), и оба они пытаются зарегистрировать инструмент с одинаковым названием `web_search`. Pi не может запустить два разных инструмента с одним именем.
### Как это исправить (3 способа):
#### Способ 1: Быстрый запуск без расширений (для проверки)
Если вам нужно просто запустить Pi прямо сейчас, используйте флаг, который предложила сама программа:
```bash
pi -ne
```
Это запустит Pi в «чистом» режиме без загрузки всех плагинов.
#### Способ 2: Удаление конфликтующего расширения (рекомендуется)
Вам нужно оставить только один инструмент поиска. Скорее всего, `@ollama/pi-web-search` и `pi-web-access` делают одно и то же. Лучше оставить один из них.
Попробуйте удалить одно из них через терминал:
```bash
pi uninstall npm:@ollama/pi-web-search
```
Или, если хотите оставить поиск от Ollama:
```bash
pi uninstall npm:pi-web-access
```
После этого попробуйте запустить `pi` снова.
#### Способ 3: Ручная очистка (если `uninstall` не сработал)
Если команда `uninstall` выдает ошибку, удалите папку с модулем вручную:
1. Перейдите в папку расширений:
```bash
cd /home/gt/.pi/agent/npm/node_modules/
```
2. Удалите одну из конфликтующих папок:
```bash
rm -rf @ollama/pi-web-search
# ИЛИ
rm -rf pi-web-access
```
### Почему это произошло?
Вы, вероятно, устанавливали разные пакеты для обеспечения доступа ИИ к интернету. В архитектуре Pi каждый плагин регистрирует свои "инструменты" (tools). Когда два плагина говорят: «Я теперь отвечаю за функцию `web_search`», возникает критический сбой при запуске.
**После того как решите конфликт расширений**, возвращайтесь к выбору модели в меню (где вы видите `sysadmin:latest`), и Pi должен запуститься нормально.
Ошибка прямо говорит: `Tool "web_search" conflicts`. У вас установлены два разных расширения для поиска в сети (`@ollama/pi-web-search` и `pi-web-access`), и оба они пытаются зарегистрировать инструмент с одинаковым названием `web_search`. Pi не может запустить два разных инструмента с одним именем.
### Как это исправить (3 способа):
#### Способ 1: Быстрый запуск без расширений (для проверки)
Если вам нужно просто запустить Pi прямо сейчас, используйте флаг, который предложила сама программа:
```bash
pi -ne
```
Это запустит Pi в «чистом» режиме без загрузки всех плагинов.
#### Способ 2: Удаление конфликтующего расширения (рекомендуется)
Вам нужно оставить только один инструмент поиска. Скорее всего, `@ollama/pi-web-search` и `pi-web-access` делают одно и то же. Лучше оставить один из них.
Попробуйте удалить одно из них через терминал:
```bash
pi uninstall npm:@ollama/pi-web-search
```
Или, если хотите оставить поиск от Ollama:
```bash
pi uninstall npm:pi-web-access
```
После этого попробуйте запустить `pi` снова.
#### Способ 3: Ручная очистка (если `uninstall` не сработал)
Если команда `uninstall` выдает ошибку, удалите папку с модулем вручную:
1. Перейдите в папку расширений:
```bash
cd /home/gt/.pi/agent/npm/node_modules/
```
2. Удалите одну из конфликтующих папок:
```bash
rm -rf @ollama/pi-web-search
# ИЛИ
rm -rf pi-web-access
```
### Почему это произошло?
Вы, вероятно, устанавливали разные пакеты для обеспечения доступа ИИ к интернету. В архитектуре Pi каждый плагин регистрирует свои "инструменты" (tools). Когда два плагина говорят: «Я теперь отвечаю за функцию `web_search`», возникает критический сбой при запуске.
**После того как решите конфликт расширений**, возвращайтесь к выбору модели в меню (где вы видите `sysadmin:latest`), и Pi должен запуститься нормально.
Re: pi
Судя по логам, происходит «зацикливание»: при каждом запуске Pi пытается автоматически установить `@ollama/pi-web-search`, который тут же вступает в конфликт с уже установленным `pi-web-access`.
Вы пытаетесь запустить Pi через **меню выбора (Ollama menu)**, и этот скрипт запуска, вероятно, прописан так, что он принудительно устанавливает пакет поиска перед стартом.
### Решение: Полная очистка конфликтующего модуля
Так как автоматика продолжает устанавливать конфликтный пакет, самый надежный способ — удалить `pi-web-access` полностью, чтобы оставить только тот поиск, который Pi хочет установить сам.
**Выполните эти команды в терминале Debian:**
1. **Принудительно удалите старый пакет поиска:**
```bash
rm -rf /home/gt/.pi/agent/npm/node_modules/pi-web-access
```
2. **Очистите кэш npm внутри Pi (на всякий случай):**
```bash
rm -rf /home/gt/.pi/agent/npm/node_modules/.cache
```
3. **Попробуйте запустить Pi снова через меню.**
---
### Что произойдет теперь:
1. Меню запустит Pi.
2. Pi увидит, что `@ollama/pi-web-search` нужно установить $\rightarrow$ установит его.
3. Поскольку мы удалили `pi-web-access`, **конфликта имен (`web_search`) больше не будет**.
4. Pi успешно запустится.
**Если вы всё же хотите использовать именно `pi-web-access`, а не версию от Ollama:**
Вам придется запускать Pi не через это меню, а напрямую из терминала командой `pi`, предварительно удалив `@ollama/pi-web-search`, чтобы авто-инсталлер его не вернул. Но проще всего оставить тот поиск, который Pi устанавливает по умолчанию.
Вы пытаетесь запустить Pi через **меню выбора (Ollama menu)**, и этот скрипт запуска, вероятно, прописан так, что он принудительно устанавливает пакет поиска перед стартом.
### Решение: Полная очистка конфликтующего модуля
Так как автоматика продолжает устанавливать конфликтный пакет, самый надежный способ — удалить `pi-web-access` полностью, чтобы оставить только тот поиск, который Pi хочет установить сам.
**Выполните эти команды в терминале Debian:**
1. **Принудительно удалите старый пакет поиска:**
```bash
rm -rf /home/gt/.pi/agent/npm/node_modules/pi-web-access
```
2. **Очистите кэш npm внутри Pi (на всякий случай):**
```bash
rm -rf /home/gt/.pi/agent/npm/node_modules/.cache
```
3. **Попробуйте запустить Pi снова через меню.**
---
### Что произойдет теперь:
1. Меню запустит Pi.
2. Pi увидит, что `@ollama/pi-web-search` нужно установить $\rightarrow$ установит его.
3. Поскольку мы удалили `pi-web-access`, **конфликта имен (`web_search`) больше не будет**.
4. Pi успешно запустится.
**Если вы всё же хотите использовать именно `pi-web-access`, а не версию от Ollama:**
Вам придется запускать Pi не через это меню, а напрямую из терминала командой `pi`, предварительно удалив `@ollama/pi-web-search`, чтобы авто-инсталлер его не вернул. Но проще всего оставить тот поиск, который Pi устанавливает по умолчанию.