picocode

by jondot (community) · GPT, Claude, Gemini, DeepSeek, Ollama, локальные модели через Rig, Windows, macOS, Linux

Assistant AI Assistants Open Source v0.6.0 · 30.01.2026 активный

Минималистичный coding-агент на Rust, ориентированный на CI-воркфлоу и небольшие codemod'ы — аналог Claude Code.

v0.6.0
30.01.2026 current

Установка
# 1. Установка
curl -sSfL https://raw.githubusercontent.com/jondot/picocode/main/install.sh | sh

# 2. Задайте API-ключ (выберите провайдера)
export ANTHROPIC_API_KEY=ваш_ключ # Для Claude
# или
export OPENAI_API_KEY=ваш_ключ    # Для GPT-4o
# или
export GOOGLE_API_KEY=ваш_ключ    # Для Gemini
# или
export DEEPSEEK_API_KEY=ваш_ключ  # Для DeepSeek

# 3. Начните программировать
picocode "Проанализируй этот проект и предложи улучшения"
показать оригинал переведено ИИ



⚡️ picocode

Крошечный coding-агент, говорящий на языке любой LLM.


picocode — минималистичный высокопроизводительный coding-агент на Rust. Компактный надёжный инструмент для разработчиков, которым нужен лёгкий ассистент — простой в понимании, безопасный и легко модифицируемый.

🚀 Быстрый старт

Запуск за секунды:

# 1. Установка
curl -sSfL https://raw.githubusercontent.com/jondot/picocode/main/install.sh | sh

# 2. Задайте API-ключ (выберите провайдера)
export ANTHROPIC_API_KEY=ваш_ключ # Для Claude
# или
export OPENAI_API_KEY=ваш_ключ    # Для GPT-4o
# или
export GOOGLE_API_KEY=ваш_ключ    # Для Gemini
# или
export DEEPSEEK_API_KEY=ваш_ключ  # Для DeepSeek

# 3. Начните программировать
picocode "Проанализируй этот проект и предложи улучшения"

Или скачайте напрямую со страницы релизов


🦀 Почему picocode?

  • Крошечный и быстрый: единый компактный бинарник на Rust. Без тяжёлых зависимостей и раздутости.
  • Мульти-LLM суверенитет: работает с Anthropic, OpenAI, DeepSeek, Google (Gemini), Ollama и многими другими через Rig.
  • Интерактивный и скриптуемый: используйте как интерактивный CLI, пробрасывайте в скрипты или запускайте автоматизированные рецепты (Recipes).
  • Управляемый персонами: переключайтесь между разными экспертными личностями (архитектор, безопасник, дзен-мастер и т.д.), меняя стиль мышления и речи агента.
  • Безопасность прежде всего: деструктивные действия (удаление файлов, запуск shell-команд) по умолчанию требуют ручного подтверждения.
  • Расширяемость: используйте как CLI-инструмент или интегрируйте как Rust-библиотеку в собственные проекты.

🎭 Галерея персон

Picocode — не просто инструмент, у него есть характер. Флаг --persona меняет экспертизу и «настроение» агента:

Персона Описание «Голос»
architect Архитектор ПО высокого уровня. «Этой абстракции не хватает Cowbell. Рефакторим.»
strict Инженер с точностью швейцарских часов. «Ноль терпимости к воде. Применяю оптимальную логику.»
security Фанат Брюса Шнайера, параноидальный аналитик. «Ищу уязвимости... не доверяю ничему.»
zen Минималист, сфокусирован на простоте. «Код — форма медитации. Найдём путь.»
hacker Хаотично-добрый, мечтает об ассемблере. «Нашёл оптимизацию на 2мс. Применяю.»
guru Провидец-разрушитель из Кремниевой долины. «Сдвинем стрелку и масштабируем это до бесконечности.»
sysadmin Ворчливая легенда старой школы серверов. «В моё время нам не нужны были эти модные LLM...»
academic Формальный профессор, теория прежде всего. «Согласно статье Кнута 1974 года, это неоптимально.»
hustler Стартапер, выживший ради MVP. «Отгружаем! Долг починим после раунда А.»
craftsman Пурист доступности и семантического HTML. «Семантический HTML — основа здорового веба.»
sre Ниндзя надёжности и наблюдаемости. «Но как мы будем мониторить это в проде?»
maintainer Терпеливый OSS-святой, любит документацию. «Не могли бы вы добавить тест-кейс и обновить README?»
tester Искатель деструктивных edge-кейсов. «Попробую передать сюда null и посмотрю, как всё горит.»

[!TIP] Можно добавить локальный файл AGENTS.md, чтобы дать агенту кастомные инструкции по конкретной кодовой базе!

⚙️ Рецепты и автоматизация

Picocode поддерживает именованные рецепты (Recipes) в файле picocode.yaml для неинтерактивного выполнения (CI/CD, автоматизация).

# picocode.yaml
recipes:
  review-security:
    prompt: "Review the codebase for security issues."
    persona: "security"
    model: "claude-3-5-sonnet-latest"

  review-from-file:
    prompt_file: "prompts/security_review.txt"
    persona: "security"

Запуск:

picocode recipe review-security

⚙️ Режимы CLI и флаги

Picocode гибок — подходит и для быстрого вопроса, и для сложной задачи автоматизации.

Основные команды

  • Интерактивный чат: picocode или picocode chat (по умолчанию)
  • Одиночный промпт: picocode "ваш промпт" или picocode input "ваш промпт"
  • Рецепты: picocode recipe <name> (запускает предопределённую задачу из picocode.yaml)

Основные флаги

  • -p, --provider <PROVIDER>: переопределить провайдера LLM по умолчанию (openai, anthropic, ollama и т.д.).
  • -m, --model <MODEL>: указать конкретную модель (claude-3-5-sonnet-latest, gpt-4o и т.д.).
  • --yolo: отключить все запросы подтверждения. Использовать с осторожностью.
  • -q, --quiet: минимальный вывод, полезно при пробросе в другие инструменты.
  • --persona <NAME>: запуск с конкретной экспертной персоной.
  • --tool-call-limit <N>: максимум вызовов инструментов за один ход (по умолчанию: 50).

🛠 Доступные инструменты

Picocode даёт AI полный набор инструментов для взаимодействия с окружением:

  • Файловая система: read_file, write_file, edit_file (атомарный search-replace), list_dir, make_dir, remove, move_file, copy_file.
  • Поиск: grep_text (regex-поиск), glob_files (поиск файлов по паттерну).
  • Система: bash (запуск любой shell-команды).
  • Веб: agent_browser (полная автоматизация браузера через agent-browser, если установлен).

🛠 Разработка picocode

Picocode построен на Rust и библиотеке Rig. Спроектирован для максимально простого расширения.

Требования

  • Rust (последняя стабильная версия)
  • API-ключи для предпочитаемого провайдера (например, ANTHROPIC_API_KEY)

Локальная установка

# 1. Клонируем репозиторий
git clone https://github.com/jondot/picocode.git
cd picocode

# 2. Собираем и запускаем
cargo run -- "Analyze src/main.rs"

Добавление нового инструмента

  1. Откройте src/tools.rs.
  2. Используйте макрос #[rig_tool] для определения функции.
  3. Зарегистрируйте инструмент в src/agent.rs внутри функции build_rig_agent.

Структура проекта

  • src/main.rs: точка входа CLI и разбор аргументов.
  • src/agent.rs: создание агента и логика системного промпта.
  • src/tools.rs: реализация всех доступных AI инструментов.
  • src/output.rs: терминальный UI и индикаторы прогресса.

📚 Использование как библиотеки

Picocode структурирован как библиотека (lib.rs) и бинарник (main.rs).

Пример использования:

use picocode::{create_agent, AgentConfig, ConsoleOutput};
use std::sync::Arc;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let output = Arc::new(ConsoleOutput::new());

    let agent = create_agent(AgentConfig {
        provider: "anthropic".into(),
        model: "claude-3-5-sonnet-latest".into(),
        output,
        yolo: false,
        tool_call_limit: 50,
        system_message_extension: None,
        persona_prompt: None,
        persona_name: None,
        bash_auto_allow: None,
        agent_prompt: None,
    }).await?;

    let response = agent.run_once("Analyze the current project".into()).await?;
    println!("Response: {}", response);
    Ok(())
}

Создан ради скорости, безопасности и простоты. Лицензия MIT.

Войдите, чтобы оставить комментарий