Skip to content

Repository files navigation

OpenCode Chat

A conversational coding assistant plugin for OpenCode with semantic code search.

This project is not led by Opencode Developers. If you encounter any problems, file an issue here.

What It Does

Chatifier transforms OpenCode into a more conversational experience with two specialized agents and local semantic search.

opencode-chat

Chat Agents

Agent Purpose
Just Chat Quick questions, web research, semantic search, memory
Tool Chat Full toolkit with files, semantic search, and memory

Features

  • Semantic Search - Ask "where is auth handled?" and find code by meaning, not keywords
  • Memory - Tell it to remember preferences and they persist across sessions
  • Task Tracking - Built-in todo list for multi-step work
  • Skills - Load project-specific guidance from .opencode/skill/
  • Streamlined Prompts - Concise, direct responses without filler

Installation

Add to your opencode.json:

{
  "plugin": ["@howaboua/opencode-chat@latest"]
}

OpenCode automatically installs the plugin on next launch.

Pin a version (optional)

{
  "plugin": ["@howaboua/opencode-chat@0.1.10"]
}

Setup

New or Small Projects

For new projects or directories with fewer than 100 files, just launch OpenCode. The plugin automatically:

  1. Downloads the embedding model (~90MB, cached in .opencode/chat/models/)
  2. Indexes your codebase for semantic search

Existing Large Projects (IMPORTANT)

For directories with 100+ files (Obsidian vaults, large codebases, etc.), you MUST run setup manually before launching OpenCode. Otherwise, the plugin will skip indexing to avoid blocking startup.

cd your-project

# Download the embedding model first (requires Bun)
bunx --bun opencode-chat-download-model@npm:@howaboua/opencode-chat

# Index your files (may take several minutes for large directories)
bunx --bun opencode-chat-semantic-index@npm:@howaboua/opencode-chat --mode full

After this one-time setup, OpenCode will launch normally and only re-index changed files.

Usage

Switch Agents

Use the agent selector in OpenCode to switch between:

  • Just Chat - Conversational, minimal tools, web access
  • Tool Chat - Full toolkit including semantic search

Semantic Search

Ask natural language questions:

  • "Where is the database connection configured?"
  • "Find error handling for API requests"
  • "Show me the authentication flow"

The assistant searches by meaning using local embeddings - no API calls, fully private.

Memory

Tell the assistant to remember things:

  • "Remember that I prefer TypeScript over JavaScript"
  • "Remember this project uses React 19"

Memories persist in AGENTS.md and apply to future sessions.

Task Tracking

For multi-step tasks, the assistant creates and tracks a todo list automatically. The list persists in todo.md and is removed when all tasks complete.

Requirements

  • OpenCode v1.0.201+
  • Bun runtime (for semantic indexing)

How It Works

  • Embeddings: Uses fastembed with the AllMiniLML6V2 model
  • Storage: SQLite database in .opencode/chat/semantic.sqlite
  • Indexing: Incremental - only re-indexes changed files

License

MIT

About

A plugin that transforms Opencode from a software engineering tool into a chat client. Follow the Readme to install & setup.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages