🧠 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 通过 快速嵌入 (首次使用时自动下载)。
🏗️ 技术栈
- 运行时间: 包子 /Node.js
- 矢量数据库: LanceDB (嵌入式)
- 嵌入: 快速嵌入 (ONNX运行时)
- MCP-SDK: @模型上下文协议/sdk
- 数据库: SQLite(通过Bun)
📄 许可证
MIT© 夜曲实验室
______________________________________________________________________
Made with 🖤 for the Opencode ecosystem
