个人知识向量数据库服务

一个为Opencode生态系统设计的个人知识管理服务器,支持语义搜索和本地向量数据库存储。

  • by NocturnLabs
  • TypeScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 NocturnLabs/opencode-personal-knowledge

使用说明

🧠 opencode-personal-knowledge

A personal knowledge MCP server with vector database for the Opencode ecosystem


使用语义搜索存储和检索知识,由本地嵌入提供支持。不需要外部API密钥。

✨ 特性

  • 🔍 语义搜索 --使用向量嵌入查找知识(BGE-small-en-v1.5)
  • 📝 文本搜索 --基于关键字的搜索回退
  • 🏷️ 标签组织 --使用标签对条目进行分类
  • 🔌 即插即用 --无需外部服务(嵌入100%在本地运行)
  • 💾 永久存储 --数据存储在 ~/.local/share/opencode-personal-knowledge/
  • 🔄 自动索引 --条目在创建时被矢量化

🚀 快速开始

开放代码集成(推荐)

增添 ~/.config/opencode/opencode.jsonc:

{
  "mcp": {
    "personal-knowledge": {
      "type": "local",
      "command": ["bunx", "opencode-personal-knowledge"],
      "enabled": true
    }
  }
}

重新启动Opencode——MCP工具将立即可用。

源安装(开发)

git clone https://github.com/NocturnLabs/opencode-personal-knowledge.git
cd opencode-personal-knowledge
bun install
bun run mcp  # Start MCP server

🛠️ MCP工具

知识工具

工具 说明
store_knowledge 使用可选标签存储新的知识条目
search_knowledge 语义相似度搜索
search_knowledge_text 基于关键字的文本搜索
get_knowledge 按ID检索条目
update_knowledge 更新现有条目
delete_knowledge 删除条目
list_knowledge 列出带有过滤器的条目
get_knowledge_stats 数据库统计

会话内存工具

记录并搜索整个OpenCode会话。

工具 说明
start_logging_session 开始记录会话
log_message 将用户/代理消息记录到会话中
search_session 会话内的语义搜索
search_all_sessions 在所有已记录的会话中搜索
list_sessions 列出所有会话
get_session 获取会话详细信息和消息
end_session 以可选摘要结束会话

📖 示例用法

存储知识

用户: “存储有关Opencode功能的知识条目”

代理人: 研究和商店入口:

✅ Stored knowledge entry #2: "Opencode Features"
📊 Indexed for semantic search

搜索知识

用户: “@search_knowledge for opencode”

代理人: 返回语义匹配:

Found 1 similar entry:

### 1. Opencode Features (85% similar)
Opencode is an open source AI coding agent...

会话存储器

用户: 开始记录此会话,称之为“身份验证调试”

代理人: 启动会话并记录所有交换:

✅ Started session #1: "auth debugging"

用户: “在此会话中搜索JWT”

代理人: 从会话中返回语义匹配:

Found 2 matches in session #1:

### 1. [user] (92% match)
The JWT token expires too fast...

### 2. [agent] (88% match)
The TTL is set to 60 instead of 3600...

⚙️ 配置

数据位置

默认情况下,数据存储在:

~/.local/share/opencode-personal-knowledge/
├── knowledge.db      # SQLite database
└── vectors/          # LanceDB vector store

用环境变量覆盖:

export OPENCODE_PK_DATA_DIR=/custom/path

嵌入模型

用途 BGE-small-en-v1.5 通过 快速嵌入 (首次使用时自动下载)。

🏗️ 技术栈

📄 许可证

MIT© 夜曲实验室


Made with 🖤 for the Opencode ecosystem