
Nooscope-检查我的BrainTree的工具
黑曜石保险库的sidecar MCP(模型上下文协议)服务器。维护标记笔记的本地SQLite矢量索引,并向Claude Code和Claude Desktop公开语义搜索、导航和捕获工具。
关于这个项目的详细讨论和理由已发布到我的 博客 2026年3月29日。
先决条件
- Python 3.11+
- 奥拉玛 在本地运行
nomic-embed-text拉 - 黑曜石拱顶
ollama pull nomic-embed-text安装
git clone
cd nooscope
# Create venv and install
python -m venv .venv
source .venv/bin/activate
pip install -e .
# Install globally via pipx (required for Claude Desktop — see below)
pip install pipx
pipx install .配置
复制vault的示例配置并进行编辑:
cp nooscope.yaml.example nooscope.yaml最低配置要求:
vaults:
- name: MyVault
path: /path/to/your/obsidian/vault
db_path: /path/to/your/obsidian/vault/nooscope.db
embeddings:
semantic:
backend: ollama
model: nomic-embed-text
dimensions: 768
chunking:
max_tokens: 512
strategy: headings
mcp:
transport: stdio
capture:
flush_method: inbox # uri | inbox | rest
obsidian_vault_name: MyVault # must match Obsidian's vault display name exactly
inbox_folder: _inbox
daily_notes_folder: Daily
daily_notes_format: "%Y-%m-%d"
log_section: Notes
daily_notes_template: "" # optional: path to Templater template within vault通过环境变量设置配置路径(添加到shell配置文件中):
export NOOSCOPE_CONFIG=/path/to/nooscope.yaml构建索引
nooscope rebuild # initial full index (~30-60 min for large vaults)
nooscope watch # start incremental watcher (run in background or as a service)在Claude Code CLI中注册
claude mcp add --scope user \
-e NOOSCOPE_CONFIG=/path/to/nooscope.yaml \
-- nooscope /Users//.local/bin/nooscope serve验证:
claude mcp list在Claude Desktop注册
Claude Desktop在macOS沙盒中运行,无法访问外部卷上的文件。使用pipx安装的二进制文件(位于 ~/.local/bin/,始终可访问):
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nooscope": {
"command": "/Users//.local/bin/nooscope",
"args": ["serve"],
"env": {
"NOOSCOPE_CONFIG": "/path/to/nooscope.yaml"
}
}
}
}重新启动克劳德桌面。检查设置→ 服务器状态的开发人员。
更新Noscope代码后,同步pipx副本:
pipx install --force /path/to/nooscopeCLI参考
nooscope rebuild # Full vault reindex
nooscope watch # Incremental file watcher
nooscope serve # Start MCP server (stdio)
nooscope log "text" --refs "Note,Person" # Append logger:: to today's daily note
nooscope log "text" --date 2026-04-01 # Log to a specific date
nooscope capture "text" --title "..." --tags "t1,t2" # Queue a structured note
nooscope queue # List pending captures
nooscope flush # Flush queued captures to Obsidian inbox
nooscope flush-logs # Retry pending log entriesMCP工具
| 工具 | 说明 |
|---|---|
search | 语义向量搜索。退货 file_path, folder, title, similarity, content, source |
cross_space_search | 比较两种嵌入类型的相似性得分 |
read_note | 完整笔记内容+正面内容+反向链接 |
list_notes | 按文件夹、标签或最近度浏览 |
get_backlinks | 链接到给定笔记的所有笔记 |
vault_stats | 索引计数和状态 |
capture_thought | 将结构化笔记排队以进行刷新 _inbox/ |
log_thought | 附录 logger:: 进入今天的每日笔记 |
rebuild | 触发完整保险库重新索引 |
捕获模式
结构化捕获 (capture_thought / nooscope capture):在SQLite中排队,刷新为新 .md 文件到 _inbox/ 通过 nooscope flush.
日志条目 (log_thought / nooscope log):附加a logger:: 子弹到 ## Notes 今天日报的一部分。如果注释不存在,则从Templater模板中写入(保留 `` 黑曜石在首次打开时处理的标签)。条目总是先排队,永远不会丢失,当观察者看到创建的注释时,会自动重试。
发展
source .venv/bin/activate
pytest # run all tests
pytest tests/test_capture.py # run a single filenooscope.yaml 和 nooscope.db 是gitignored——永远不要提交特定于vault的配置或索引。
