trove

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

trove

trove

The hosted memory substrate. The Obsidian vault is a projection; this graph is the queryable truth for agents.
Trove (repo
~/dev/trove
, hosted at
https://mytrove.in
, MCP server
trove
) holds the knowledge base as an evidence graph: typed nodes, typed edges with bitemporal lifecycle, full source documents, and an append-only audit log. Every write is attributed; every semantic statement can cite its evidence span.
托管式记忆底层载体。Obsidian 库是其投影;该图谱是Agent可查询的真实数据源。
Trove(代码库路径
~/dev/trove
,托管于
https://mytrove.in
,MCP服务器
trove
)将知识库存储为证据图谱:包含类型化节点、带双时态生命周期的类型化边、完整源文档,以及仅追加的审计日志。每一次写入都有归属;每一条语义陈述都可引用其证据片段。

The tool surface (one verb each, no overlaps)

工具界面(每个工具对应单一动词,无功能重叠)

ToolUse when
grep
First for exact strings — ticket id, error text, config key. Regex over notes + sources.
read
Full note by name/id, or raw source. After grep/recall when the brief is thin.
recall
Open questions only ("how do we handle refunds?"). Budgeted brief (default 8000), not a full dump.
remember
Saving a fact/decision/gotcha, new or changed. One write door: revises on exact title/slug match, else creates. Check the returned
similar
list — retarget with
slug
if the dedupe missed.
connect
Relating two memories. Pass
supersedesEdgeId
to replace a belief on the record.
forget
Retiring beliefs. Query mode previews (dryRun) first; explicit edgeIds apply immediately.
ingest
Storing long-form raw material (transcript, page, file) as evidence. Then
remember
the distilled facts citing it.
annotate
Attaching meaning to evidence without minting a belief.
neighborhood
/
project
/
views
Subgraphs, renders, saved views (curator flows).
events
/
jobs
/
lint
/
export_obsidian
Operator plumbing (admin credentials only).
Retrieval routing (match Scribe): exact string →
grep
→ optional
read
· known slug →
read
· open question →
recall
read
if the top atom is right but incomplete.
remember vs ingest:
remember
writes a belief — a small distilled atom that recall ranks.
ingest
stores evidence — a whole document split into citable text units that never competes as a belief. Pipeline: ingest the transcript → remember the few facts worth believing → connect them.
Session loop (not end-of-day only): boot with load → work →
remember
mid-session when a decision/fact/gotcha crystallises →
connect
hubs → supersede corrections → close with 3–8 small linked atoms. Never one mega "session summary" node.
MCP-only clients: the same doctrine ships as MCP server
instructions
, resource
trove://doctrine
, prompts
trove-recall
/
trove-remember
/
trove-session
, and tool descriptions — skills are optional sugar for Claude Code.
工具使用场景
grep
优先用于精确字符串检索——如工单ID、错误文本、配置键。对笔记及源文件执行正则匹配。
read
通过名称/ID读取完整笔记,或读取原始源文件。当grep/recall返回的摘要信息不足时使用。
recall
仅用于开放式问题(如"我们如何处理退款?")。返回内容有长度限制(默认8000字符),不会返回完整数据。
remember
保存事实/决策/注意事项,无论是新增还是更新。仅通过单一入口写入:若标题/slug完全匹配则更新,否则创建新条目。检查返回的
similar
列表——如果去重未命中目标,可通过指定
slug
重新调用。
connect
关联两个记忆节点。传入
supersedesEdgeId
可替换记录中的原有关联关系。
forget
停用旧的关联信念。查询模式会先预览(dryRun);指定明确的edgeIds会立即生效。
ingest
将长格式原始素材(转录文本、网页、文件)存储为证据。之后可使用
remember
提炼其中的事实并引用该证据。
annotate
为证据添加语义标注,无需生成新的关联信念。
neighborhood
/
project
/
views
子图谱、渲染视图、已保存视图(管理员流程)。
events
/
jobs
/
lint
/
export_obsidian
运维工具(仅管理员权限可用)。
检索路由(匹配Scribe): 精确字符串→
grep
→可选
read
· 已知slug→
read
· 开放式问题→
recall
→若顶部原子信息正确但不完整则调用
read
remember vs ingest:
remember
写入的是关联信念——经过提炼的小型原子单元,会被recall排序。
ingest
存储的是证据——完整文档会被拆分为可引用的文本单元,不会作为关联信念参与排序。流程:导入转录文本→记录值得留存的少量事实→关联相关节点。
会话循环(不仅限于会话结束时): 启动时加载记忆→开展工作→当决策/事实/注意事项明确时,在会话中途调用
remember
→关联核心节点→替换修正内容→结束时生成3–8个小型关联原子节点。切勿创建单个巨型"会话总结"节点。
仅MCP客户端: 相同的规则以MCP服务器
instructions
、资源
trove://doctrine
、提示词
trove-recall
/
trove-remember
/
trove-session
及工具描述的形式提供;技能仅为Claude Code的可选扩展。

Routing

路由规则

SituationSkill
Question about prior work, systems, preferences, decisions
trove-recall
Session produced decisions/facts worth keeping, or a known fact changed
trove-remember
A specific source (URL, file, paste) should be indexed
trove-ingest
Health check / housekeeping
trove-lint
场景技能
涉及过往工作、系统、偏好、决策的问题
trove-recall
会话产生了值得留存的决策/事实,或已知事实发生变更
trove-remember
需要索引特定源(URL、文件、粘贴内容)
trove-ingest
健康检查/运维整理
trove-lint

Invariants (all skills)

通用规则(所有技能)

  • Recall before re-deriving; grep before recall when the query is an exact string; read for full runbooks when you know the slug.
  • Beliefs change by supersession, never deletion.
    connect({supersedesEdgeId})
    replaces;
    forget
    retires. History stays queryable (
    neighborhood
    with
    asOf
    /
    includeExpired
    ).
  • No memory without provenance. Cite
    sourceId
    /
    textUnitId
    evidence, or state agent-inference explicitly in the summary.
  • Trust remember's dedupe, verify its choice. It only merges on exact title/slug; review
    similar
    in the response and re-call with
    slug
    when it should have merged.
  • Two surfaces, one memory. Human-readable syntheses also go to the Scribe vault (
    /scribe-*
    plugin commands edit the vault directly); the vault importer reconciles vault → graph. Don't fork the two.
  • 先调取记忆再重新推导;当查询为精确字符串时,先使用grep再调用recall;当已知slug时,使用read获取完整操作手册。
  • 关联信念通过替换而非删除进行变更。 使用
    connect({supersedesEdgeId})
    替换;使用
    forget
    停用。历史记录仍可查询(通过
    neighborhood
    并指定
    asOf
    /
    includeExpired
    参数)。
  • 无来源不记记忆。 需引用
    sourceId
    /
    textUnitId
    证据,或在摘要中明确说明是Agent推导的内容。
  • 信任remember的去重功能,但需验证其选择。 仅在标题/slug完全匹配时才会合并;查看返回结果中的
    similar
    列表,若应合并却未合并,可指定
    slug
    重新调用。
  • 两个界面,同一记忆源。 人类可读的合成内容同时同步至Scribe库(
    /scribe-*
    插件命令可直接编辑该库);库导入工具会同步库与图谱内容。请勿将两者分开维护。

Operations

运维操作

Hosted MCP:
https://mytrove.in/mcp
with a
trove_*
API key or service token. Local dev:
cd ~/dev/trove && docker compose up -d postgres && npm start
; tokens in
.env
(
TROVE_SERVICE_TOKENS
); health
curl localhost:8787/health
. Vault import (
npm run import:vault
) targets
DATABASE_URL
— local by default; set it explicitly for production.
托管MCP:访问
https://mytrove.in/mcp
,需使用
trove_*
API密钥或服务令牌。本地开发:执行
cd ~/dev/trove && docker compose up -d postgres && npm start
;令牌存储在
.env
文件的
TROVE_SERVICE_TOKENS
字段中;健康检查执行
curl localhost:8787/health
。库导入(
npm run import:vault
)目标为
DATABASE_URL
——默认指向本地数据库;如需导入生产环境,需显式指定该参数。