Skip to main content
Glama

Cérebro 2.0

Сервер оптимизации контекста для OpenCode. Сжимает промпты LLM через LLMLingua-2, внедряет протоколы задач и предоставляет граф знаний 2nd Brain.

Архитектура

┌─────────────────────────────────────────────────┐
│                  OpenCode                        │
│  ┌──────────────┐  ┌──────────────────────────┐ │
│  │ Plugin       │  │ MCP Client               │ │
│  │ (hooks)      │  │ (tools)                  │ │
│  └──────┬───────┘  └────────────┬─────────────┘ │
│         │                       │                │
└─────────┼───────────────────────┼────────────────┘
          │                       │
    ┌─────▼─────┐          ┌──────▼──────┐
    │ Compressor │          │ MCP Server  │
    │ LLMLingua-2│          │ + HTTP API  │
    └─────┬─────┘          └──────┬──────┘
          │                       │
    ┌─────▼───────────────────────▼──────┐
    │           @cerebro/core             │
    │  compressor · task-injector · brain │
    └────────────────────────────────────┘

Пакеты

Package

Description

@cerebro/core

Движок сжатия, инжектор задач, механизм мозга, метрики

@cerebro/mcp-server

MCP stdio-сервер + HTTP API для дашборда

@cerebro/plugin

Плагин OpenCode (сжатие сообщений и инжекция задач)

@cerebro/dashboard

UI дашборда на Vite + React + Tailwind

Related MCP server: repocontext

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

# Install dependencies
pnpm install

# Approve native builds (onnxruntime-node)
pnpm approve-builds

# Run tests
pnpm test

# Build all packages
pnpm -r build

# Start MCP server (stdio for OpenCode)
node packages/mcp-server/dist/index.js

# Start dashboard dev server
pnpm --filter @cerebro/dashboard dev

Конфигурация

Переменные окружения (задаются в opencode.json в разделе environment):

Variable

Default

Description

COMPRESSION_RATE

0.4

Коэффициент сжатия (0.05–1.0, меньше = сильнее сжатие)

BRAIN_PATH

.context-brain

Путь к базе знаний 2nd Brain

DASHBOARD_PORT

4321

Порт HTTP API для дашборда

ENABLE_TASK_INJECTION

true

Включить внедрение протокола задач

PROTECTED_PATTERNS

code,json,errors,system

Шаблоны защищённых блоков через запятую

Интеграция с OpenCode

Добавьте в opencode.json в корне вашего проекта:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cerebro": {
      "type": "local",
      "command": ["node", "caminho/para/cerebro/packages/mcp-server/dist/index.js"],
      "environment": {
        "COMPRESSION_RATE": "0.4",
        "BRAIN_PATH": ".context-brain",
        "DASHBOARD_PORT": "4321",
        "ENABLE_TASK_INJECTION": "true"
      },
      "enabled": true
    }
  }
}

MCP-инструменты

compress_prompt

Сжимает текст с помощью LLMLingua-2 ONNX.

{ "text": "Your long prompt...", "rate": 0.4 }

brain_resolve

Запрашивает у 2nd Brain информацию об экране и его зависимостях, связанных wiki-ссылками.

{ "screen": "dashboard-vendas", "depth": 1 }

brain_index

Индексирует или обновляет экран в графе знаний.

{
  "id": "dashboard-vendas",
  "content": "---\ntitle: Dashboard Vendas\n---\n\n# Dashboard Vendas\n\nMetrics for the sales dashboard."
}

brain_screens

Выводит список всех индексированных экранов. Без параметров.

cerebro_metrics

Возвращает метрики сжатия и экономию токенов. Без параметров.

cerebro_config

Получить или изменить конфигурацию во время выполнения.

{ "key": "compressionRate", "value": 0.3 }

Дашборд

Дашборд работает на порту 4321 и предоставляет:

  • Métricas: статистика сжатия, экономия токенов, последние события

  • 2º Cérebro: просмотр индексированных экранов и их wiki-ссылок

  • Config: просмотр и изменение конфигурации во время выполнения

pnpm --filter @cerebro/dashboard dev
# Open http://localhost:4321

Хуки плагина

Плагин OpenCode предоставляет три хука:

Hook

Description

experimental.chat.messages.transform

Сжимает старые сообщения перед отправкой в LLM

experimental.chat.system.transform

Внедряет протокол задач и самопроверку в системный промпт

tool.execute.after

Логирует выполнение инструментов для отображения в дашборде

Разработка

# Type check all packages
pnpm -r typecheck

# Run tests
pnpm test

# Watch mode
npx vitest

# Build dashboard
pnpm --filter @cerebro/dashboard build

Тестирование

66 тестов в 6 наборах:

packages/core/src/          task-injector.test.ts (18) · metrics.test.ts (5)
packages/mcp-server/src/    errors.test.ts (9) · rate-limiter.test.ts (7) · e2e.test.ts (10)
packages/plugin/src/        plugin.test.ts (8)

Запуск: pnpm test или npx vitest run

Лицензия

MIT

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides intelligent code context and analysis through semantic compression, AST parsing, and multi-language support. Offers 60-80% token reduction while enabling AI assistants to understand codebases through local analysis, OpenAI-enhanced insights, and GitHub repository integration.
    6
    14 npm
    3
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables AI coding agents and local LLMs to store and recall project memory, compact verbose logs, look up code symbols, create and rewind workspace snapshots, detect risky commands and loops, pack context optimally, and draft tokens through MCP tools.
    10
    2
    Apache 2.0