← 返回 Skills 市场
🔌

Ditto

作者 Ditto · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
35
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install ditto
功能描述
Save, search, fetch, and traverse the user's Ditto memory graph. Use whenever the user references "remember", "recall", "what did I", "from my notes", or ask...
使用说明 (SKILL.md)

Ditto

Ditto is a personal-memory assistant. These tools save, search, and traverse the user's long-term memory and topic graph at https://heyditto.ai.

The skill ships a single binary (ditto, from @heyditto/cli). Auth is via API key — stored in ~/.config/heyditto/cli/config.json (preferred) or DITTO_API_KEY env (override).

When to use

Reach for Ditto memory whenever the user:

  • Says "remember…", "save this", "note that…", "for later".
  • Says "what did I…", "recall…", "have I told you about…", "from my notes".
  • Asks a question best answered from their prior context, not general knowledge.
  • References a topic, person, project, or thread that isn't in this conversation but might be in their memory.

Auth — the two paths

Always check ditto status first. It prints api key: set (source: env|config) or MISSING (source: none).

If the key is missing

Tell the user:

Get a key at https://app.heyditto.ai/connect/openclaw (one-page sign-in + copy), then paste it back to me.

When the user pastes a key (looks like ditto_mcp_…), run one command:

ditto login \x3Ckey>

That writes the key to ~/.config/heyditto/cli/config.json (mode 0600) and persists across shells. No env-var editing required. Confirm with ditto status — should now show source: config.

If the user prefers env vars (advanced)

export DITTO_API_KEY=ditto_mcp_…

Env always overrides the saved key. To stop using the env override: unset DITTO_API_KEY.

Logout

ditto logout            # deletes ~/.config/heyditto/cli/config.json

Tools

Memories are pairs (one User turn + one Ditto turn) identified by a pair_id. Subjects are graph nodes for topics, identified by subject_id.

ditto save \x3Ccontent> [--source \x3Cs>] [--source-context \x3Cc>]

Persist a memory pair from an external source. Use for explicit save requests, and proactively for durable preferences, decisions, relationships, or facts. --source defaults to "cli"; pass "openclaw", "document", "note", etc. when relevant. --source-context can hold a file path, URL, or project name.

ditto save "User prefers TypeScript over JavaScript for new projects." --source openclaw

ditto search \x3Cquery>...

Semantic search across memories with learned retrieval weights. Multiple positional args become an array of queries — pass several to broaden recall. Returns lightweight previews ranked by composite score.

ditto search "typescript preferences"
ditto search "typescript" "language choices"

Use ditto fetch afterwards if you need full conversation text.

ditto fetch \x3Cpair-id>...

Fetch the full conversation text (User + Ditto turns) for memory pair ids returned by ditto search.

ditto fetch 3a1084ae-235a-433d-9493-2335a0dfeb57

ditto subjects \x3Cquery> [--top-k \x3Cn>]

Search the subject graph. Returns subject IDs you can feed into ditto memories. Default top-k is 10, max 100.

ditto subjects "memory architecture" --top-k 5

ditto memories \x3Csubject-id>...

Get memory previews scoped to specific subjects. Use after ditto subjects when you want depth on a known topic.

ditto memories 3a1084ae-235a-433d-9493-2335a0dfeb57

ditto network \x3Cpair-id> [--limit \x3Cn>]

Traverse a memory's network — related memories connected via shared subjects. Default limit is 20, max 50.

ditto network 3a1084ae-235a-433d-9493-2335a0dfeb57 --limit 30

Output

All commands emit JSON by default — pipe through jq for shaping. ditto config prints a Claude/Cursor-compatible MCP config snippet.

Authoritative reference

ditto status prints the live tool list straight from the MCP — trust it over this file if anything drifts.

Source + support

安全使用建议
Install Ditto only if you want OpenClaw to use a hosted long-term memory service. Before using it, consider whether you are comfortable with the agent proactively saving personal facts, preferences, decisions, and relationship details. Prefer asking the agent to save only specific items, avoid storing secrets, and make sure you know how to rotate or remove the Ditto API key.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
The save/search/fetch/traverse capabilities match the stated memory-assistant purpose, but the skill also instructs proactive saving of durable preferences, decisions, relationships, and facts to a long-term memory service.
Instruction Scope
The instructions allow the agent to decide when something is worth saving and then confirm after saving, rather than requiring clear user approval before each persistent memory write.
Install Mechanism
Installation uses a disclosed npm CLI package, which is expected for this skill, but the runnable CLI code is external to the submitted skill artifacts and was not statically reviewed here.
Credentials
The skill requires a Ditto API key and talks to Ditto's hosted service; this is proportionate to the purpose, but users should understand that memory queries and saved content go to that service.
Persistence & Privilege
The skill persists both authentication locally and memory content remotely; the artifacts document logout for the local key but do not clearly document per-memory deletion, retention limits, or a required approval workflow before proactive saves.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ditto
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ditto 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
- Updated the key acquisition link in documentation from https://app.heyditto.ai/mcp/newkey to https://app.heyditto.ai/connect/openclaw. - No other functional or documentation changes detected.
v1.0.0
- Initial release of the Ditto skill. - Enables saving, searching, fetching, and traversing personal memory and topic graphs via the Ditto CLI. - Supports authentication using either persisted config or DITTO_API_KEY environment variable. - Provides commands for memory management: save, search, fetch, subjects, memories, and network. - Includes detailed usage, authentication, and support instructions.
元数据
Slug ditto
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Ditto 是什么?

Save, search, fetch, and traverse the user's Ditto memory graph. Use whenever the user references "remember", "recall", "what did I", "from my notes", or ask... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 35 次。

如何安装 Ditto?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ditto」即可一键安装,无需额外配置。

Ditto 是免费的吗?

是的,Ditto 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Ditto 支持哪些平台?

Ditto 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Ditto?

由 Ditto(@ditto)开发并维护,当前版本 v1.0.1。

💬 留言讨论