npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

devmine

v1.4.32

Published

Autonomous desktop AI agent — 22 tools, multi-provider LLM, self-learning skills, sub-agent parallelism, mistake memory. Runs locally with OpenAI, Anthropic, DeepSeek, Ollama or any OpenAI-compatible API.

Readme

DevMine Desktop

Универсальный AI-агент для десктопа и сервера — работает с кодом, данными, физикой, математикой и любыми задачами.

Встроенная поддержка Telegram, 28+ инструментов, автономные skills, суб-агенты, Pattern DNA, Shadow Compilation и Digital Mine UI.


Возможности

Ядро агента

  • Универсальная экспертиза — не только код: физика, математика, game design, data analysis, архитектура
  • 28+ встроенных инструментов — bash, file read/write/edit, grep, glob, web search/fetch, memory, diagnose, LSP, agent (суб-агенты), remote SSH, computer use, worktree и др.
  • Автономные Skills — автоматический подбор и создание навыков через skill_list / skill_execute / skill_create
  • Суб-агенты — параллельное выполнение независимых задач через agent tool с Promise.allSettled()
  • Pattern DNA — автоматическое извлечение стиля кода проекта (naming, imports, error handling, frameworks) и инъекция в system prompt
  • Error Memory Bank — самообучающаяся память ошибок модели с Jaccard similarity fingerprinting и 7-дневным half-life decay
  • Shadow Compilation v2 — фоновая компиляция с авто-исправлением (semicolons, unused vars, missing .js extensions, implicit any) до 3 итераций без участия модели
  • Context Phoenix — 5-уровневая tier-based компакция контекста (none → trim → compact → aggressive → nuclear) с авто-восстановлением при overflow
  • God Mode — каскадный эскалационный движок с 3 уровнями (Unchained → Sovereign → Apex)

Telegram Gateway

  • Полноценный бот — polling (dev) и webhook (production) через Bot API
  • Mining Dashboard — живой дашборд в Telegram с фазами (analyzing → thinking → tooling → writing → done), progress bar ▓▓▓▓░░, tool timeline, token counter
  • Dual-message система — dashboard message (редактируется каждые 2с) + streaming response message
  • Auto-Continue — автоматическое продолжение длительных задач (до 24 циклов по 60 мин = 24 часа)
  • Команды: /start, /help, /reset, /status, /stop
  • Авторизация — по Telegram user ID, поддержка каналов и групп с configurable requireMention
  • Безопасность — webhook secret verification, rate limiting (2 concurrent per user), 1MB body limit, SSRF защита
  • Session persistence — JSON file persistence с debounced save, TTL-based cleanup, per-channel-peer scope

UI режимы

Desktop (Tauri v2)

  • Нативное десктопное приложение с React UI
  • Setup wizard с выбором провайдера и вводом API ключа
  • Мультимодальный ввод: изображения, PDF, DOCX, XLSX, PPTX, TXT, CSV, JSON
  • Tool Call Display с mining-иконками, живым таймером, badge результатов
  • Thinking indicator с анимированными точками

TUI (Ink/React Terminal UI)

  • Digital Mine тема — золотая/медная палитра (#D4A847, #CD7F32, #50C878)
  • Activity Bar — горизонтальная полоса с фазами работы агента
  • Tool Timeline — последние 3 инструмента с иконками статуса
  • Markdown rendering (headers, bullets, bold, code fences, separators)
  • SpinnerStore (external store) — анимация без лишних re-рендеров
  • InkErrorBoundary + graceful shutdown (SIGINT/SIGTERM)

REPL (Readline)

  • Multiline input (\ в конце строки)
  • Slash-команды: /help, /clear, /model, /status, /resume, /sessions
  • Digital Mine ANSI formatting (gold/amber/copper)
  • Double Ctrl+C для exit

Провайдеры моделей

  • OpenAI (GPT-4o, o1, o3 и др.)
  • Anthropic (Claude 4 Sonnet, Opus)
  • Google Gemini (2.5 Flash/Pro)
  • GLM (ChatGLM)
  • Ollama (локальные модели)
  • OpenRouter (aggregator — доступ к 200+ моделям)
  • MCP (Model Context Protocol) — подключение внешних tools через stdio/SSE

Безопасность

  • Plan Mode — режим планирования без выполнения изменений
  • Verification Gate — предварительная проверка до записи файлов
  • Rate Limiting — ограничение частоты вызовов инструментов
  • SSRF Protection — блокировка private IPs в web_fetch
  • File Validation — проверка path/content в file_write
  • Tool Metadata — risk levels (low/medium/high) для каждого инструмента

Архитектура

┌─────────────────────────────────────────────────────────┐
│                    DevMine Desktop                       │
├─────────┬──────────┬──────────┬────────────────────────┤
│ Desktop │   TUI    │   REPL   │   Telegram Gateway     │
│ (Tauri) │  (Ink)   │(readline)│   (HTTP + Bot API)     │
├─────────┴──────────┴──────────┴────────────────────────┤
│                    Agent Core                            │
│  ┌────────────┬──────────────┬───────────────────────┐  │
│  │ Agent Loop │ Query Engine │ Streaming Tool Exec   │  │
│  └────────────┴──────────────┴───────────────────────┘  │
├─────────────────────────────────────────────────────────┤
│  ┌──────────┬──────────┬──────────┬──────────────────┐  │
│  │ 28 Tools │ Services │ Prompts  │ Connect Adapters  │  │
│  └──────────┴──────────┴──────────┴──────────────────┘  │
├─────────────────────────────────────────────────────────┤
│  ┌──────────┬──────────┬──────────┬──────────────────┐  │
│  │ Pattern  │  Error   │ Shadow   │ Context Phoenix   │  │
│  │   DNA    │  Memory  │Compiler  │ (Compaction)      │  │
│  └──────────┴──────────┴──────────┴──────────────────┘  │
├─────────────────────────────────────────────────────────┤
│              MCP Protocol │ Memory │ Skills             │
└─────────────────────────────────────────────────────────┘

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

Установка (Desktop)

# Скачать последнюю версию с GitHub Releases
# Windows: DevMine-Setup-1.2.0.exe
# macOS:   DevMine-1.2.0.dmg
# Linux:   devmine_1.2.0_amd64.deb

Установка (CLI / Server)

npm install -g devmine-desktop

# или из исходников
git clone https://github.com/cliskill/devmine-desktop.git
cd devmine-desktop
npm install
npm run build

Запуск

# Desktop (Tauri)
npm run tauri:dev

# CLI — автоматически выберет лучший UI
devmine

# CLI — форсированный TUI
devmine --tui

# CLI — форсированный REPL
devmine --repl

# Server — Telegram Gateway
devmine serve --config ./devmine-server.json

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

Desktop / CLI (.devminerc.json)

{
  "activeProvider": "openai",
  "providers": {
    "openai": {
      "apiKey": "sk-...",
      "model": "gpt-4o",
      "baseUrl": "https://api.openai.com/v1",
      "maxTokens": 16384,
      "temperature": 0.7
    },
    "anthropic": {
      "apiKey": "sk-ant-...",
      "model": "claude-sonnet-4-20250514",
      "maxTokens": 16384
    },
    "ollama": {
      "baseUrl": "http://localhost:11434",
      "model": "llama3"
    }
  },
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    }
  }
}

Telegram Gateway (devmine-server.json)

{
  "server": {
    "port": 8787,
    "host": "0.0.0.0"
  },
  "telegram": {
    "botToken": "123456:ABC-...",
    "polling": false,                // true = polling (dev), false = webhook (prod)
    "webhookUrl": "https://your.domain",
    "webhookSecret": "your-secret",  // verification secret
    "allowAll": false,               // restrict access
    "allowFrom": [123456789],        // authorized Telegram user IDs
    "channels": [
      {
        "id": "-1001234567890",
        "requireMention": false      // bot responds to all messages in group
      }
    ],
    "streaming": {
      "mode": "partial",
      "textChunkLimit": 4000
    }
  },
  "agent": {
    "model": "anthropic/claude-sonnet-4-20250514",
    "maxTokens": 16384,
    "maxTurns": 50,
    "maxContextTokens": 256000,
    "systemPrompt": "You are a helpful assistant.",
    "workspacePath": "/path/to/workspace"  // IDENTITY.md, SOUL.md, AGENTS.md, TOOLS.md
  },
  "providers": [
    {
      "name": "main",
      "format": "anthropic",         // openai-compatible | anthropic | glm
      "apiKey": "sk-ant-...",
      "model": "claude-sonnet-4-20250514",
      "baseUrl": "https://api.anthropic.com"
    }
  ],
  "session": {
    "ttlMinutes": 1440,              // 24 часа
    "maxHistory": 200,
    "scope": "per-channel-peer"      // изоляция сессий
  }
}

28+ инструментов

| # | Инструмент | Категория | Risk | Описание | |---|-----------|-----------|------|----------| | 1 | bash | system | medium | Выполнение shell команд | | 2 | file_read | file | low | Чтение файлов с line ranges | | 3 | file_edit | file | medium | Точечное редактирование файлов | | 4 | file_write | file | high | Создание/перезапись файлов | | 5 | glob | search | low | Поиск файлов по паттерну | | 6 | grep | search | low | Поиск по содержимому файлов | | 7 | search_symbol | search | low | Поиск определений (functions, classes, types) | | 8 | web_search | network | low | Поиск в интернете | | 9 | web_fetch | network | medium | Чтение URL | | 10 | memory | memory | low | Персистентная память между сессиями | | 11 | diagnose | system | low | Диагностика ошибок и project health | | 12 | agent | agent | medium | Суб-агенты для параллельного выполнения | | 13 | skill_list | skill | low | Список доступных навыков | | 14 | skill_execute | skill | medium | Выполнение навыка | | 15 | skill_create | skill | medium | Создание нового навыка | | 16 | todo_write | ui | low | Управление задачами | | 17 | lsp | search | low | Language Server Protocol (go_to_definition, find_references, hover) | | 18 | computer_use | system | high | Взаимодействие с экраном через accessibility | | 19 | remote | system | high | SSH сессии и удалённое выполнение | | 20 | worktree | system | medium | Git worktree управление | | 21 | background_bash | system | medium | Фоновые shell процессы | | 22 | task_list | system | low | Список фоновых задач | | 23 | task_output | system | low | Результат фоновой задачи | | 24 | task_stop | system | medium | Остановка фоновой задачи | | 25 | tool_search | search | low | Поиск по инструментам | | 26 | enter_plan_mode | system | low | Переход в режим планирования | | 27 | exit_plan_mode | system | low | Выход из режима планирования | | 28 | file_outline | file | low | Структура файла (outline) |


Сервисы

Pattern DNA (src/services/pattern-dna.ts)

Автоматическое извлечение стиля кода проекта:

  • Naming conventions (camelCase, snake_case, PascalCase)
  • Import patterns (relative, barrel, deep)
  • Error handling (try/catch, Result, throws)
  • Test patterns (describe/it, test())
  • Export style (named, default, barrel)
  • Frameworks detection (React, Express, Tauri)
  • Styling approach (CSS modules, Tailwind, styled)
  • Генерация компактного DNA prompt (~300 tokens)

Error Memory Bank (src/services/error-memory.ts)

Самообучающаяся память ошибок:

  • Jaccard similarity fingerprinting для дедупликации
  • 7-дневный half-life decay — старые ошибки забываются
  • Max 500 entries с auto-eviction
  • JSON persistence
  • Генерация warning prompt для system prompt

Shadow Compilation v2 (src/services/shadow-compiler.ts)

Фоновая компиляция с авто-исправлением:

  • Silent compilation loop — пользователь не видит промежуточных ошибок
  • Auto-fixes: semicolons, unused vars, missing .js extensions, implicit any
  • До 3 fix итераций без round-trip к модели
  • Запись failures в Error Memory Bank

Context Phoenix (src/ui/lib/agent-compaction.ts)

5-уровневая tier-based компакция:

| Tier | Trigger | Действие | |------|---------|----------| | 0 (none) | < 75% контекста | Нет компакции | | 1 (trim) | 75–85% | Strip media + summarize tool results | | 2 (compact) | 85–95% | Strip + summarize + compact messages | | 3 (aggressive) | 95–100% | Keep only 6 exchanges | | 4 (nuclear) | > 100% | Keep only 3 exchanges |


Skills System

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

21 встроенный skill:

| Категория | Skills | |-----------|--------| | Code | Code Review, Smart Refactor, Test Generator, Explain Code | | Security | Security Audit (OWASP) | | Docs | Doc Generator | | Performance | Performance Analyzer | | Mode | God Mode (3-tier escalation) | | Design | Animated Video, Interactive Prototype, Make a Deck, Make Tweakable, Frontend Design, Wireframe | | Export | Export PPTX (Editable), Export PPTX (Screenshots), Save as PDF, Save as Standalone HTML, Send to Canva | | Workflow | Create Design System, Handoff to Code |

Автоматическое поведение:

  1. Анализ задачи → findMatchingSkills() (keyword + fuzzy Levenshtein)
  2. Scoring: name (0.4) + tag (0.2) + category (0.15) + desc keyword (0.1)
  3. Если нет подходящего skill → skill_create автоматически
  4. Если задача сложная → делегирование суб-агентам через agent tool

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

devmine-desktop/
├── src/                          # TypeScript source (297 .ts + 44 .tsx = 341 files, 50 522 lines)
│   ├── bootstrap/                # CLI entry point (1 file)
│   ├── config/                   # Конфигурация и Zod-схемы (6 files)
│   ├── connect/                  # Provider adapters (14 files)
│   │   ├── anthropic-adapter.ts  # Anthropic Claude
│   │   ├── generic-adapter.ts    # OpenAI-compatible
│   │   ├── glm-adapter.ts        # ChatGLM
│   │   ├── ollama-adapter.ts     # Ollama local
│   │   └── types.ts              # ContentBlock types
│   ├── core/                     # Agent core (7 files)
│   │   ├── loop.ts               # Agent loop engine
│   │   └── query-engine.ts       # Query execution
│   ├── extensions/               # Расширения (10 files)
│   │   └── skill-registry.ts     # Skill matching engine
│   ├── hooks/                    # React hooks (5 files)
│   ├── infra/                    # Infrastructure (4 files)
│   ├── mcp/                      # MCP Protocol (6 files)
│   │   └── mcp-tool-adapter.ts   # MCP → Tool bridge
│   ├── memory/                   # Memory system (9 files)
│   ├── prompts/                  # System prompts (4 files)
│   ├── remote/                   # SSH remote (2 files)
│   ├── safety/                   # Safety & permissions (5 files)
│   ├── server/                   # Telegram Gateway (6 files)
│   │   ├── gateway.ts            # HTTP server + Telegram pipeline
│   │   ├── telegram-bot.ts       # Bot API integration
│   │   ├── session-store.ts      # Session management
│   │   ├── server-config.ts      # Zod config schema
│   │   ├── mining-dashboard.ts   # Live progress dashboard
│   │   └── entry.ts              # CLI: devmine serve
│   ├── services/                 # Core services (64 files)
│   │   ├── pattern-dna.ts        # Code style extraction
│   │   ├── error-memory.ts       # Error memory bank
│   │   ├── shadow-compiler.ts    # Shadow compilation
│   │   ├── god-mode.ts           # God Mode engine
│   │   ├── orchestrator.ts       # Unified orchestrator
│   │   ├── plan-mode.ts          # Plan mode state machine
│   │   ├── adaptive-strategy.ts  # Adaptive strategy selector
│   │   ├── streaming-tool-executor.ts  # Parallel tool execution
│   │   ├── tool-pool.ts          # Tool pooling
│   │   ├── cost-tracker.ts       # Token cost tracking
│   │   └── ...                   # +53 more services
│   ├── swarm/                    # Swarm coordination (4 files)
│   ├── tasks/                    # Task management (5 files)
│   ├── tools/                    # Tool system (37 files)
│   │   ├── builtins/             # 28 built-in tools
│   │   │   ├── agent-tool.ts     # Sub-agent system
│   │   │   ├── bash-tool.ts      # Shell execution
│   │   │   ├── file-*.ts         # File operations
│   │   │   ├── grep-tool.ts      # Content search
│   │   │   ├── web-*.ts          # Web tools
│   │   │   ├── memory-tool.ts    # Persistent memory
│   │   │   ├── lsp-tool.ts       # Language Server
│   │   │   └── ...               # +20 more tools
│   │   ├── tool-schemas.ts       # Zod schemas
│   │   └── tauri-tools.ts        # Desktop re-exports
│   ├── ui/                       # User interfaces (148 files)
│   │   ├── components/           # React components
│   │   │   ├── ChatPanel.tsx     # Chat interface
│   │   │   ├── ToolCallDisplay.tsx # Tool visualization
│   │   │   └── MessageBubble.tsx  # Message rendering
│   │   ├── hooks/                # React hooks
│   │   │   └── useAgent.ts       # Agent hook with Phoenix recovery
│   │   ├── lib/                  # UI logic
│   │   │   ├── agent-loop-impl.ts # UI agent loop
│   │   │   ├── agent-compaction.ts # Context Phoenix
│   │   │   └── context-manager.ts  # Context management
│   │   ├── stores/               # Zustand stores
│   │   ├── styles/               # CSS styles
│   │   ├── ink-app.tsx           # TUI (582 lines, Ink/React)
│   │   ├── repl.ts              # REPL (628 lines, readline)
│   │   ├── App.tsx               # Desktop React app
│   │   └── main.tsx              # Entry point
│   └── utils/                    # Utilities (5 files)
├── src-tauri/                    # Rust/Tauri backend (14 files, 3 983 lines)
│   └── src/
│       ├── main.rs               # Tauri app entry
│       └── lib.rs                # Native commands
├── package.json                  # v1.2.0, Apache-2.0
├── tsup.config.ts                # 3 entry points
├── Cargo.toml                    # Tauri v2
└── vite.config.ts                # Vite bundler

Статистика

| Метрика | Значение | |---------|----------| | TypeScript файлов | 297 | | TSX файлов | 44 | | Rust файлов | 14 | | Всего исходников | 355 файлов | | Строк TypeScript | 50 522 | | Строк Rust | 3 983 | | Встроенных инструментов | 28+ | | Встроенных skills | 21 | | Provider адаптеров | 6 (OpenAI, Anthropic, Gemini, GLM, Ollama, OpenRouter) | | UI режимов | 3 (Desktop, TUI, REPL) | | Серверных модулей | 6 | | Сервисов | 64 файла | | TypeScript компиляция | 0 ошибок | | Rust компиляция | 0 ошибок, 0 warnings |


Tech Stack

| Слой | Технология | |------|-----------| | Desktop | Tauri v2 (Rust + WebView) | | Frontend | React 19 + TypeScript 5.8 | | CLI/TUI | Ink (React in Terminal) + readline | | State | Zustand | | Validation | Zod | | Build | Vite + tsup (3 entry points) | | Server | Node.js HTTP + Telegram Bot API | | LSP | vscode-languageclient | | MCP | Model Context Protocol (stdio/SSE) | | Package Manager | npm |


Entry Points

{
  "bin": {
    "devmine": "dist/bootstrap/cli.js",
    "devmine-serve": "dist/server/entry.js"
  }
}

| Команда | Режим | Описание | |---------|-------|----------| | devmine | Auto (TUI > REPL) | Автоматический выбор лучшего UI | | devmine --tui | TUI (Ink) | Форсированный terminal UI | | devmine --repl | REPL (readline) | Форсированный REPL | | devmine serve | Server | Telegram Gateway сервер | | devmine --verbose | Debug | Вывод timing каждой фазы |


License

Apache-2.0