Octocode

io.github.Muvon由 GitHub 帳號 Muvon 發布v0.29.2更新於 Nov 8, 2026

AI驅動的程式碼索引工具,具備語義搜尋和知識圖譜功能

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

AI-powered code indexer with semantic search and knowledge graphs

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

Octocode 的本機 MCP 服務;無需登入;STDIO。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Octocode,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Octocode is a Rust CLI and MCP server for exploring codebases. It combines semantic search, structural search, and a live graph of symbols and dependencies. Connect it to Claude Code, Codex, Cursor, Windsurf, or another MCP client, or search directly from your terminal.

  • Find code by intent with hybrid vector and keyword search, plus configurable reranking.
  • Locate definitions and usages with structural search over the current source.
  • Trace relationships between files and symbols: imports, calls, inheritance, and implementations.
  • Read signatures without loading entire files; add a language server for definitions, references, and hover information.
  • Run locally with the default embedding and reranking models, or configure remote providers.

Quick start

1. Install

Use the installer on Linux or macOS, or in a Unix-compatible shell on Windows:

bash
curl -fsSL https://raw.githubusercontent.com/Muvon/octocode/master/install.sh | sh

Alternatively, on macOS:

bash
brew install muvon/tap/octocode
Other installation methods

Download a binary from GitHub Releases, or install the published crate:

bash
cargo install octocode

Building from source requires Rust 1.95 or later and protoc. See the installation guide for platform requirements, build features, and manual installation.

Verify the installation:

bash
octocode --version

2. Index and search

Run these commands in your project's Git repository:

bash
cd /path/to/your/projectoctocode indexoctocode search "authentication middleware"

The default configuration uses local FastEmbed models for embeddings and reranking. No API key is required; model files download on first use. For a directory without Git, use octocode index --no-git.

bash
# Combine related queriesoctocode search "auth" "middleware" "session"
# Filter code results by languageoctocode search "database connection pool" --language rust
# Search documentationoctocode search "deployment configuration" --mode docs

3. Connect your AI assistant

Choose your client in MCP integration. Structural search, signatures, and the live dependency graph read the current source directly and work without an index. Semantic search uses the index created above.

MCP integration

Install Octocode where your client can find it on PATH, and replace /path/to/your/project with your project's absolute directory path.

Claude Code

bash
claude mcp add --transport stdio octocode -- octocode mcp --path /path/to/your/projectclaude mcp list

See the Claude Code MCP documentation for configuration scopes and connection details.

Codex CLI

bash
codex mcp add octocode -- octocode mcp --path /path/to/your/projectcodex mcp list

See the Codex MCP documentation for CLI and configuration-file options.

Claude Desktop, Cursor, and Windsurf

Add an Octocode entry to your client's MCP configuration:

json
{  "mcpServers": {    "octocode": {      "command": "octocode",      "args": ["mcp", "--path", "/path/to/your/project"]    }  }}

Restart the client after saving. The MCP client setup guide covers configuration locations and other clients.

Octomind

Octomind is a companion AI agent runtime. Its developer:general agent includes Octocode and OctoFS capabilities. After installing Octomind, start it in your project:

bash
cd /path/to/your/projectoctomind run developer:general

The first run may install required tools and ask for model credentials. See the Octomind quick start for installation and model access.

Available tools

ToolUse it forRequires an index
semantic_searchFind code, documentation, and indexed history by meaningYes
structural_searchFind definitions, usages, and AST patterns in current sourceNo
view_signaturesRead function signatures, declarations, and importsNo
graphragExplore live file and symbol relationships and dependency pathsNo
lsp_*Definitions, references, hover information, symbols, and completionNo; requires a language server

To enable LSP tools, install a language server and add --with-lsp to the server command, for example:

bash
octocode mcp --path /path/to/your/project --with-lsp rust-analyzer

By default, the MCP server uses the existing semantic index without updating it. Rerun octocode index after changes, or run octocode watch separately in the project directory. In-process indexing is available through index.mcp_index = true.

See the MCP integration guide for tool parameters, HTTP transport, and serving multiple repositories, and the LSP guide for language server setup.

Use Octocode with OctoFS

OctoFS adds file reading and atomic editing tools to your assistant. Run both MCP servers against the same project directory.

Octocode's structural_search returns source lines as N:hh|content, with the same line IDs used by OctoFS view. An agent can use these IDs directly in OctoFS batch_edit, without reading the same lines again to obtain edit targets. Exact-name lookups include complete definitions up to 32 lines; larger results identify omitted ranges for a targeted read.

Each ID hashes the original line, including indentation. OctoFS checks IDs before applying edits and reports stale targets when the content no longer matches. Group known edits to a file into one atomic batch, then use the fresh IDs returned by the edit for follow-up changes. The N:hh| prefix is metadata, not part of the source code.

After installing OctoFS, add it alongside the Octocode server configured above. Choose your client:

Claude Code:

bash
claude mcp add --transport stdio octofs -- octofs mcp --path /path/to/your/project

Codex CLI:

bash
codex mcp add octofs -- octofs mcp --path /path/to/your/project

Use the same absolute project path for both servers. OctoFS is optional; Octocode's search and navigation tools work independently.

How it works

text
Current source → Language parsers → Live file and symbol graph → MCP toolsIndexed code   → Embeddings + BM25 → Hybrid search + reranking → CLI / MCP

The live graph uses Tree-sitter to extract symbols and relationships from current source, without embeddings or an LLM. It remains available through MCP when [graphrag].enabled = false.

Enabling indexed GraphRAG adds persisted file-level enrichment, including semantic file discovery and optional LLM descriptions and architectural relationships. The octocode graphrag CLI uses this persisted layer:

bash
octocode config --graphrag-enabled trueoctocode indexoctocode graphrag overview

See the architecture guide for module boundaries and storage details.

Supported languages

LanguageExtensions
Rust.rs
Python.py
TypeScript / JavaScript.ts, .tsx, .js, .jsx
Go.go
PHP.php
C / C++.c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hxx, .cppm, .ixx, .mxx, .ccm, .cxxm
Ruby.rb
Elixir.ex, .exs
Java.java
Swift.swift
Svelte.svelte
Lua.lua
CSS.css, .scss, .sass
JSON.json
Bash.sh, .bash
Markdown.md, .markdown

Retrieval benchmark

The repository includes ground truth, scoring scripts, and reproduction instructions. The published local matrix used 127 code-search queries, corpus commit b1771ba, Octocode 0.17.1, and fastembed:jinaai/jina-embeddings-v2-base-code, with reranking disabled for the variants below.

ConfigurationHit@5Hit@10MRRNDCG@10Recall@10
Dense vector only0.5980.7170.4850.5280.671
Hybrid, vector/keyword weights 0.7/0.30.5980.7170.4850.5280.671
Hybrid, vector/keyword weights 0.3/0.70.7320.8350.5720.6200.807

These are historical results from June 21, 2026; they do not measure the current release or its default configuration. See the full variant matrix for settings and reranker comparisons.

Privacy and configuration

  • Local models by default. Embedding and reranking run locally after model downloads. Remote embedding, reranking, and LLM providers are optional; when enabled, they receive the queries and source content needed for those features.
  • Local storage. Indexes live outside your repository in Octocode's per-project data directory.
  • File exclusions. Indexing respects .gitignore and .noindex. Configure exclusions for files you do not want indexed.
  • Client access. The default MCP transport is stdio. The model used by your AI client may receive source content returned by tools, even when Octocode uses local models.
  • Provider credentials. API keys can be supplied through environment variables. See the API key guide before enabling remote providers.

The configuration guide explains model selection and indexing options. The embedded default template contains the current defaults.

Documentation

Contributing

Bug reports, documentation improvements, and code contributions are welcome. Read the contributing guide for development setup and the engineering standards before changing code.

Use GitHub Issues for bugs and feature requests, Discussions for questions, or contact [email protected].

License

Apache License 2.0. Maintained by Muvon.

來源:README.md,提交 65266c4

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

11
  1. v0.29.1Nov 3, 2026
  2. v0.29.0Oct 29, 2026
  3. v0.28.1Oct 25, 2026
  4. v0.28.0Oct 24, 2026
  5. v0.27.0Oct 21, 2026
  6. v0.26.7Oct 11, 2026
  7. v0.26.6Oct 9, 2026
  8. v0.26.4Sep 30, 2026
  9. v0.26.3Sep 27, 2026
  10. v0.26.2Sep 19, 2026
  11. v0.26.1Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分