abulafia

Research-first CLI agent built on Pi and alphaXiv

Packages

Package details

extensionskillprompt

Install abulafia from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:abulafia
Package
abulafia
Version
0.2.44
Published
Aug 4, 2026
Downloads
763/mo · 763/wk
Author
enicaster
License
MIT
Types
extension, skill, prompt
Size
136.2 MB
Dependencies
7 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "prompts": [
    "./prompts"
  ],
  "skills": [
    "./skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README


Документация

Установка в два клика на Windows

Полная актуальная инструкция находится в INSTALL_AND_RUN.md.

  1. Скачайте Abulafia-Setup-<версия>-x64.exe со страницы Releases.
  2. Откройте файл двойным щелчком и нажмите Установить.
  3. Запустите Abulafia с рабочего стола или из меню «Пуск».

В установщик уже входят Abulafia, Node.js и все production-зависимости. Git, Node.js, npm и Bun пользователю устанавливать не нужно. Установщик также создаёт ярлыки и добавляет команду abulafia в пользовательский PATH.

abulafia --version
abulafia doctor

Теперь интерфейс запускается из каталога любого исследовательского проекта:

cd C:\work\my-research
abulafia

Первичная настройка 302.AI:

abulafia model login 302ai
abulafia model set 302ai/gpt-5.4

API key сохраняется в пользовательском состоянии Abulafia, поэтому передавать его при каждом запуске не нужно. Доступные модели:

abulafia model list
abulafia model set 302ai/gpt-5.4
abulafia model set 302ai/gpt-5.4-nano

Установка из исходников нужна только разработчикам:

git clone https://github.com/Enicast/Abulafia.git
cd .\Abulafia
npm install
npm run cli:install

Skills, workflows и story-сценарии

В Abulafia SKILL.md обычно не запускается напрямую. Навык либо подключает агенту инструкцию, либо указывает на workflow из prompts/*.md. Workflow можно вызвать двумя способами. В интерактивной консоли ведущий / необязателен для известных workflow: deepresearch ... и /deepresearch ... эквивалентны.

Интерактивно:

npm run dev

Затем внутри REPL:

/deepresearch <topic>
/lit <topic>
/review <artifact>
/draft <task>
/compare <source-a> <source-b>
/story A01 <input>
/story S01 <input> <task>
/evaluate-stories all ./outputs/my-story-run

Сразу из консоли:

abulafia deepresearch "AI agents in legal education"
abulafia lit "AI governance in universities"
abulafia review .\papers\article.md
abulafia draft "Напиши черновик статьи про AI в юридическом образовании"
abulafia compare .\docs\abulafia.md .\docs\claude-code.md
abulafia story A01 .\articles\article.md
abulafia story S01 .\article.md "Нужно понять, в какие журналы это можно подать и какие доработки нужны"
abulafia evaluate-stories all .\outputs\my-story-run

Основное соответствие skills и workflow-команд:

Skill Команда
skills/deep-research /deepresearch
skills/literature-review /lit
skills/peer-review /review
skills/paper-writing /draft
skills/source-comparison /compare
skills/paper-code-audit /audit
skills/replication /replicate
skills/autoresearch /autoresearch
skills/watch /watch
skills/jobs /jobs
skills/session-log /log
skills/story-* /story
skills/story-evaluation /evaluate-stories

Запуск A01-A10 и S01-S11

Сценарии A01-A10 и S01-S11 теперь оформлены как отдельные story-агенты. У каждого story ID есть собственный agent definition в .abulafia/agents/ и paired skill в skills/.

Интерактивная команда /story и прямой CLI-вызов abulafia story запускают агентный сценарий через модель и доступные инструменты. Локальный детерминированный runner без обращения к модели доступен только под явным именем story-local; он нужен для smoke-теста структуры, а не для анализа. evaluate-stories валидирует уже созданный артефакт.

Пример: проанализировать статью через A01 Briefer:

abulafia story A01 .\articles\article.md

Пример: быстро проверить S01 локальным runner-ом без расходов 302AI:

abulafia story-local S01 .\article.md "Нужно проверить только структуру выходных файлов"

Готовая демонстрация Journal-Yuga из консоли лежит в:

demo/journal-yuga-console/

Посмотреть команды без запуска модели:

.\demo\journal-yuga-console\run-demo.ps1

Запустить демонстрацию S01:

.\demo\journal-yuga-console\run-demo.ps1 -Run

Запустить цепочку исследовательских MegaAgent stories:

abulafia story chain A01-A10 .\articles\article.md

Запустить цепочку Journal-Yuga stories:

abulafia story chain S01-S11 .\articles\article.md

Запустить несколько конкретных stories:

abulafia story A01,A02,A03 .\articles\article.md

Проверить созданный результат по методике:

abulafia evaluate-stories A01 .\outputs\<slug>\A01-briefer-brief.md

Проверить все 21 story-артефакта из мокового запуска:

abulafia evaluate-stories all .\outputs\my-story-run

Внутренняя схема запуска:

/story A01 input
-> prompts/story.md
-> direct story contract: .abulafia/agents/story-a01-briefer.md
-> skill contract: skills/story-a01-briefer/SKILL.md
-> outputs/<slug>/A01-briefer-brief.md
-> outputs/<slug>/story-run-report.md

Для Journal-Yuga stories (S01-S11) добавляется общий слой journal-yuga-common:

/story S01 input
-> prompts/story.md
-> direct story contract: .abulafia/agents/story-s01-journal-pool.md
-> skill contracts: skills/journal-yuga-common/SKILL.md + skills/story-s01-journal-pool/SKILL.md
-> outputs/journal-yuga-runs/<slug>/state.yaml
-> outputs/journal-yuga-runs/<slug>/S01-journal-pool.md
-> outputs/journal-yuga-runs/<slug>/story-run-report.md

Important runtime detail: story-* names are Abulafia story specifications, not guaranteed subagent runtime modes. If Pi's subagent tool does not explicitly list a story-* name, /story executes the story contract directly and may use built-in subagents only for narrow supporting work.

Ход работы вместо working

Abulafia подключает расширение live-status, которое заменяет стандартное сообщение ожидания на продуктовый статус вида Ход работы: .... В interactive UI он показывает:

  • текущий workflow или story;
  • активный инструмент и целевой файл/запрос;
  • модель;
  • последний результат инструмента;
  • содержимое live-status файла, если workflow его ведет.

Для длинных workflow агент обновляет:

outputs/.status/abulafia-live-status.md

Туда записывается публичный операционный статус: этап, задействованные contracts/skills, источники и досье, рабочая гипотеза, последние предложения и следующий шаг. Это не raw chain-of-thought модели; скрытые рассуждения не выводятся и не подменяются выдуманным текстом.

Journal-Yuga агент сначала собирает критерии приемки. Если данных недостаточно, он пишет состояние запуска и задает только блокирующие вопросы. Чтобы остановить уточнения и заставить агента работать с тем, что есть, используйте ключевую фразу:

хватит вопросов

Каждый Journal-Yuga run хранит состояние в:

outputs/journal-yuga-runs/<slug>/
  state.yaml
  intake.md
  acceptance-criteria.md
  decision-log.md
  journal-search-log.md

Локальная память по журналам находится здесь:

knowledge/journals/
  index.yaml
  _template.md
  *.md

Порядок поиска для Journal-Yuga:

  1. основная база knowledge/journals/journal_yuga_venue_database.md;
  2. досье журналов knowledge/journals/*.md;
  3. курированный список knowledge/journals/index.yaml;
  4. web search только если локальных данных недостаточно.

Если агент извлек полезное наблюдение по журналу в ходе задачи, он автоматически дописывает его в соответствующее досье, не удаляя старые наблюдения.

Только навыки

Если вам нужны только исследовательские навыки без полного терминального приложения:

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/Enicast/Abulafia/main/scripts/install/install-skills.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/Enicast/Abulafia/main/scripts/install/install-skills.ps1 | iex

Это установит библиотеку навыков в ~/.codex/skills/abulafia.

Если нужна установка локально в репозиторий:

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/Enicast/Abulafia/main/scripts/install/install-skills.sh | bash -s -- --repo

Windows (PowerShell):

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/Enicast/Abulafia/main/scripts/install/install-skills.ps1))) -Scope Repo

Это установит навыки в .agents/skills/abulafia внутри текущего репозитория.

Эти установщики скачивают встроенные деревья skills/ и prompts/, а также repo-level guidance файлы, на которые ссылаются эти навыки. Они не устанавливают терминал Abulafia, встроенный runtime Node, хранилище авторизации или Pi-пакеты.


Что вы вводите → что происходит

$ abulafia "what do we know about scaling laws"
→ Ищет по статьям и вебу, готовит исследовательскую справку с цитатами

$ abulafia deepresearch "mechanistic interpretability"
→ Многоагентное исследование с параллельными исследователями, синтезом и проверкой

$ abulafia lit "RLHF alternatives"
→ Литературный обзор с консенсусом, разногласиями и открытыми вопросами

$ abulafia audit 2401.12345
→ Сравнивает утверждения статьи с публичным кодом

$ abulafia replicate "chain-of-thought improves math"
→ Воспроизводит эксперименты на локальных или облачных GPU

Рабочие сценарии

Можно формулировать запросы естественным языком или использовать slash-команды как сокращения.

Команда Что делает
/deepresearch <topic> Многоагентное исследование с упором на источники
/lit <topic> Литературный обзор по поиску статей и первичным источникам
/review <artifact> Имитация peer review с уровнем серьёзности и планом правок
/audit <item> Аудит расхождений между статьёй и кодовой базой
/replicate <paper> Воспроизведение экспериментов на локальных или облачных GPU
/compare <topic> Матрица сравнения источников
/draft <topic> Черновик в академическом стиле на основе результатов исследования
/autoresearch <idea> Автономный цикл экспериментов
/watch <topic> Регулярный мониторинг темы
/outputs Просмотр всех исследовательских артефактов

Агенты

Четыре встроенных исследовательских агента, которые запускаются автоматически.

  • Researcher — собирает доказательства из статей, веба, репозиториев и документации
  • Reviewer — проводит имитацию peer review с градацией серьёзности замечаний
  • Writer — готовит структурированные черновики на основе исследовательских заметок
  • Verifier — проверяет встроенные цитаты, URL источников и убирает битые ссылки

Навыки и инструменты

  • AlphaXiv — поиск статей, Q&A, чтение кода и аннотации (через CLI alpha)
  • Docker — изолированное выполнение в контейнерах для безопасных экспериментов на вашей машине
  • Web search — Perplexity, Exa или Gemini при наличии доступа; режим auto использует цепочку Brave, DuckDuckGo и Bing как безключевой fallback
  • Session search — индексированный поиск по предыдущим исследовательским сессиям
  • Preview — просмотр в браузере и экспорт артефактов в PDF
  • Modal — serverless GPU-вычисления для всплесковых тренировок и инференса
  • RunPod — постоянные GPU-поды с SSH-доступом для долгих экспериментов

Как это работает

Система построена на базе Pi для agent runtime, alphaXiv для поиска и анализа статей, а также CLI-инструментов для вычислений и исполнения. Возможности поставляются в виде Pi skills — Markdown-инструкций, которые синхронизируются в ~/.abulafia/agent/skills/ при запуске. Каждый результат привязан к источникам — утверждения сопровождаются прямыми ссылками на статьи, документацию или репозитории.


История звёзд


Участие в разработке

Полное руководство для контрибьюторов смотрите в CONTRIBUTING.md.

git clone https://github.com/getcompanion-ai/abulafia.git
cd abulafia
nvm use || nvm install
npm install
npm test
npm run typecheck
npm run build

Документация · Примечания к релизам · Лицензия MIT