Tendril: Самодействующий агент, создающий и регистрирующий инструменты на лету
Tendril — это самодостаточная агентная песочница, демонстрирующая шаблон Agent Capability: модель автономно находит, создает и использует инструменты в разных сессиях. Построена на основе AWS Strands Agents SDK и Tauri.
Как это работает
Вы просите Tendril что-то сделать. Она проверяет свой реестр возможностей. Если инструмент существует — использует его. Если нет — пишет, регистрирует и выполняет его — все без запросов. В следующий раз, когда понадобится то же самое, инструмент уже будет готов.
Вы: "покажи топ историй с Hacker News"
Tendril: → searchCapabilities("fetch url hacker news") # ничего не найдено
→ registerCapability(fetch_url, code) # создает инструмент
→ execute("fetch_url", {url: "https://..."}) # запускает по имени
→ "Вот топ историй: ..."
Вы: "теперь покажи Lobsters и сравни"
Tendril: → listCapabilities() # найден: fetch_url ✓
→ execute("fetch_url", {url: "https://lobste.rs"}) # запускает — без пересборки
Реестр растет с использованием. Каждая новая сессия умнее предыдущей.
Конфигурация агента
Ядро Tendril — это агент Strands всего с тремя базовыми инструментами:
import { Agent } from '@strands-agents/sdk';
import { BedrockModel } from '@strands-agents/sdk/models/bedrock';
const agent = new Agent({
model: new BedrockModel({ modelId: '...', region: '...' }),
systemPrompt: TENDRIL_SYSTEM_PROMPT(workspacePath),
printer: nullPrinter,
tools: [
listCapabilities(registry),
registerCapability(registry),
executeCode(registry, workspacePath, config),
],
});
Правила системного промпта
Системный промпт обеспечивает автономное поведение:
- Вызывайте
searchCapabilities(query), чтобы проверить, существует ли подходящий инструмент - Если найден: вызывайте
loadTool(name), затемexecute(code, args) - Если НЕ найден: вы ОБЯЗАНЫ создать инструмент самостоятельно
- НИКОГДА не спрашивайте «хотите, я создам инструмент?» — просто создавайте
- Если инструмент не сработал, читайте ошибку, исправляйте код и повторяйте попытку
- НИКОГДА не отвечайте из обучающих данных, если с помощью инструмента можно получить актуальную информацию
Архитектура
┌─────────────────────────────────────────┐ │ Tauri Shell (Rust) │ │ ACP Host ──stdin/stdout──► Agent │ │ (acp.rs) NDJSON (Node.js SEA)│ │ Events ◄── session/update ──┘ │ │ (events.rs) │ │ Tauri Events ──► React Frontend │ │ (TailwindCSS v4) │ └─────────────────────────────────────────┘Agent internals: Strands SDK ── BedrockModel ── Claude │ 4 bootstrap tools ┌────┴────┐ │ Registry │ ←→ index.json + tools/*.ts └─────────┘ ┌────┴────┐ │ Sandbox │ ←→ Deno subprocess (sandboxed)
Агентский цикл выполняется внутри agent.stream() и связывается с протоколом ACP, отправляя фазы think, act и observe в интерфейс.
Решение проблемы «слишком много инструментов»
Большинство агентных фреймворков выдают модели большой набор инструментов и надеются, что она выберет правильный. Tendril переворачивает подход — модель всегда видит ровно три инструмента. Она ищет в реестре, создает то, что нужно, и реестр со временем растет. Поверхность инструментов не меняется; меняются возможности.
📖 Читать полный исходный код: HN AI Agents
👀 Смотрите также

antirez的DS4:在Mac Metal和DGX上运行具有100万上下文窗口的DeepSeek V4 Flash
Создатель Redis Сальваторе Санфилиппо выпустил DS4 — проект для запуска DeepSeek V4 Flash с контекстным окном в 1M токенов на оборудовании Mac Metal и DGX, с конечными точками OpenAI/Anthropic для инструментов агентного кодирования.

Расширение Event Horizon для VS Code добавляет блокировку файлов и координацию планов для нескольких ИИ-агентов.
Event Horizon — это расширение для VS Code, изначально созданное для визуализации Claude Code, теперь включает функции блокировки файлов и координации планов, чтобы предотвратить перезапись работы нескольких ИИ-агентов в одной кодовой базе. Инструмент поддерживает Claude Code, OpenCode и Copilot с настройкой в один клик.

MLJAR Studio: Локальный AI-аналитик данных, создающий воспроизводимые блокноты
MLJAR Studio — это настольное приложение, которое преобразует вопросы на естественном языке в блокноты Python, выполняемые локально, с AutoML для табличных данных и поддержкой локальных LLM через Ollama.

Conduid.com индексирует более 23 000 MCP-серверов в поисковый каталог.
Conduid.com агрегирует MCP-серверы из 11 источников, удаляет дубликаты и предоставляет поиск, категории и оценки доверия на основе активности на GitHub, качества документации и признаков поддержки.