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

openvibe

v1.0.0

Published

OpenVibe - AI Coding Assistant CLI

Readme

OpenVibe

中文文档 | English

Discord

OpenVibe is a professional AI coding assistant that provides intelligent code editing, file management, and project collaboration features for developers.

Installation

npm install -g openvibe

Quick Start

Initial Configuration

After running OpenVibe, the system will guide you through the initial setup:

openvibe

You will need to provide:

  • API URL: Your AI service endpoint address
  • API Key: The key to access the AI service
  • Model Name: The AI model name to use

Basic Usage

# Start an interactive session
openvibe

# Execute a command directly
openvibe "Analyze the code structure of the current project"

# Process files
openvibe -f src/main.ts "Optimize this code"

Core Features

Built-in Tools

OpenVibe includes the following built-in tools:

| Tool | Description | |------|-------------| | read | Read file contents (supports text and images) | | write | Write content to files (creates or overwrites) | | edit | Edit files with precise text replacement | | bash | Execute shell commands | | grep | Search file contents with regex support | | find | Find files by name pattern | | ls | List directory contents | | truncate | Truncate large outputs |

Slash Commands

OpenVibe provides powerful slash commands for session management:

| Command | Description | |---------|-------------| | /settings | Open settings menu | | /export | Export session to HTML file | | /share | Share session as a secret GitHub gist | | /copy | Copy last agent message to clipboard | | /name | Set session display name | | /session | Show session info and stats | | /changelog | Show changelog entries | | /hotkeys | Show all keyboard shortcuts | | /fork | Create a new fork from a previous message | | /tree | Navigate session tree (switch branches) | | /new | Start a new session | | /compact | Manually compact the session context | | /resume | Resume a different session | | /reload | Reload extensions, skills, prompts, and themes | | /skills | Browse and invoke available skills | | /think | Set thinking level (off/minimal/low/medium/high/xhigh) | | /quit | Quit OpenVibe |

Session Management

  • Auto-save: Sessions are automatically saved in JSONL format
  • Resume: Continue previous conversations anytime
  • Fork: Create branches from any point in the conversation
  • Tree Navigation: Navigate and switch between conversation branches
  • History: View and manage all historical sessions

Context Compaction

Automatically compresses conversation history to save tokens:

  • Auto-compaction: Triggers when context overflows
  • Manual compaction: Use /compact command
  • Smart summarization: Preserves important information
  • Token budget management: Configurable reserve and keep tokens

Skills System

Skills are specialized knowledge files that provide expert guidance:

  • Load domain-specific expertise
  • Support for user, project, and path-scoped skills
  • Markdown format with frontmatter
  • Compatible with Claude skills directory

Supported Skill Directories:

| Location | Type | Priority | |----------|------|----------| | ~/.openvibe/skills/ | Global | High | | ~/.agents/skills/ | Global (Agent Skills standard) | Medium | | ~/.claude/skills/ | Global (Claude compatible) | Medium | | ~/.codex/skills/ | Global (Codex compatible) | Medium | | .openvibe/skills/ | Project | High | | .agents/skills/ | Project | Medium | | .claude/skills/ | Project | Medium |

Usage:

# List and select skills interactively
/skills

# Invoke a specific skill directly
/skill:code-review

Prompt Templates

Create reusable prompt templates:

  • User and project-scoped templates
  • Argument substitution support ($1, $2, $ARGUMENTS)
  • Markdown format with description frontmatter
  • Quick access via /template-name syntax

Extension System

Build powerful TypeScript extensions:

import { defineExtension } from 'openvibe';

export default defineExtension({
  name: 'my-extension',
  setup({ onMessage, registerTool, registerCommand }) {
    // Subscribe to messages
    onMessage((message) => {
      console.log('Received:', message);
    });
    
    // Register custom tools
    registerTool({
      name: 'myTool',
      description: 'A custom tool',
      parameters: { ... },
      handler: async (args) => { ... }
    });
    
    // Register commands
    registerCommand({
      name: 'myCommand',
      description: 'A custom command',
      handler: async (args) => { ... }
    });
  }
});

Extension capabilities:

  • Register LLM-callable tools
  • Register slash commands and keyboard shortcuts
  • Create custom UI components
  • Subscribe to agent lifecycle events
  • Access session and model information

Hybrid Cloud (OpenVibe Companion)

OpenVibe includes a built-in Companion service for enhanced local execution capabilities:

Features:

  • Local Code Execution: Run Python, JavaScript, Rust, and Bash locally
  • Resource Offloading: Heavy computations run on your local CPU/GPU
  • Real-time Monitoring: View local resource status (CPU, GPU, Memory, Disk)
  • Secure Sandboxing: Command whitelisting and path restrictions

Configuration:

{
  "companion": {
    "enabled": true,
    "autoStart": true,
    "port": 50051,
    "host": "127.0.0.1"
  }
}

Commands: | Command | Description | |---------|-------------| | /local-status | Show local resource status | | /local-execute | Execute command on local machine |

Tools:

  • local_execute - Execute code locally
  • local_resource_status - Get local resource information

Supported Languages:

  • Python (python3)
  • JavaScript (node)
  • TypeScript (tsx)
  • Rust (cargo)
  • Bash

Theme System

Customize the appearance:

  • Built-in dark and light themes
  • Custom theme support via JSON files
  • Export colors for HTML generation
  • Dynamic theme switching

Keyboard Shortcuts

| Shortcut | Action | |----------|--------| | Esc | Interrupt current operation | | Ctrl+C | Clear input / Cancel | | Ctrl+D | Exit | | Ctrl+Z | Suspend | | Shift+Tab | Cycle thinking level | | Ctrl+P | Cycle model forward | | Ctrl+L | Model selector | | Ctrl+O | Expand/collapse tools | | Ctrl+T | Toggle thinking block | | Ctrl+G | Open external editor | | Alt+Enter | Queue follow-up message | | Ctrl+V | Paste image from clipboard |

HTML Export

Export sessions to standalone HTML files:

  • Full conversation history with syntax highlighting
  • Tool execution details
  • Customizable themes
  • Share via GitHub Gist

Additional Features

  • 1M Context Window: Full support for 1 million token context window via provider configuration
  • Multi-GPU Support: Distribute workloads across GPUs
  • Auto Retry: Automatic retry on API failures with configurable delays
  • Image Support: Paste and process images from clipboard
  • Git Integration: Display current branch in status bar
  • RPC Mode: Remote procedure call support for integration
  • Onboarding Wizard: Guided initial setup
  • Response Acceleration: Streaming optimizations for faster responses

Configuration

Configuration file located at ~/.openvibe/config.json:

{
  "apiUrl": "https://api.example.com/v1/chat/completions",
  "apiKey": "your-api-key",
  "model": "your-model-name"
}

Settings

Global and project-level settings in ~/.openvibe/settings.json:

{
  "theme": "dark",
  "defaultThinkingLevel": "medium",
  "compaction": {
    "enabled": true,
    "reserveTokens": 16384,
    "keepRecentTokens": 20000
  },
  "retry": {
    "enabled": true,
    "maxRetries": 3
  },
  "enableSkillCommands": true
}

1M Context Window Configuration

OpenVibe supports models with 1 million token context window through an independent Context Architecture:

// Using the Context Architecture API
import { 
  getContextProviderRegistry, 
  enhanceModelContext,
  LargeContextProvider 
} from 'openvibe';

// Enhance any model with large context
const enhancedModel = enhanceModelContext(model);

// Or register a custom model with 1M context
const provider = new LargeContextProvider();
provider.registerCustomModel('my-custom-model', {
  contextWindow: 1000000,
  maxTokens: 65536,
  supportsVision: true
});

Supported Models with 1M Context:

  • Google Gemini 1.5 Pro/Flash
  • Google Gemini 2.0 Flash/Pro
  • Alibaba Qwen-Max
  • Moonshot Kimi (128K)

Architecture Components:

  • IContextProvider - Interface for custom context providers
  • LargeContextProvider - Built-in provider with 50+ model definitions
  • ContextProviderRegistry - Central registry for managing providers
  • ContextManager - Configuration-based alternative API

## Command Line Options

Usage: openvibe [options] [prompt]

Options: -f, --file Include file path -c, --context Add context file/directory --no-onboarding Skip onboarding configuration -h, --help Display help information -v, --version Display version number


## Documentation

- [Extension Development Guide](docs/extensions.md)
- [SDK Documentation](docs/sdk.md)
- [Theme Customization](docs/themes.md)
- [Keybinding Configuration](docs/keybindings.md)
- [Skills System](docs/skills.md)
- [Prompt Templates](docs/prompt-templates.md)
- [Session Management](docs/session.md)
- [Context Compaction](docs/compaction.md)
- [Custom Providers](docs/custom-provider.md)
- [TUI Components](docs/tui.md)
- [RPC Integration](docs/rpc.md)

## System Requirements

- Node.js >= 18.0.0
- npm >= 9.0.0

## License

MIT

## Links

- [npm Package](https://www.npmjs.com/package/openvibe)
- [Issue Tracker](https://github.com/boxiaolanya2008/openvibe/issues)