memory-quest
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMemory Quest
Memory Quest
Memory Quest's last mission checks that this assistant is set up to use Basic Memory as a natural starting point for work. You complete it by saving one note — the user's Memory Master note — through Basic Memory, carrying a one-time code from the Basic Memory web app. The cloud recognizes that write and awards the mission.
The note write is the verification. There is no other endpoint to call and nothing to report afterwards.
Memory Quest 的最后一项任务会检查此 assistant 是否已配置为将 Basic Memory 作为工作的自然起点。你需要通过 Basic Memory 保存一条 note——用户的 Memory Master note——并携带 Basic Memory web app 提供的一次性 code,才能完成任务。云端识别此次写入后,会授予任务完成状态。
此次 note 写入本身就是验证过程。无需调用其他 endpoint,之后也没有任何需要上报的内容。
Project scope
项目范围
Discover projects in step 1, then use the cloud project selected in step 5.
Pass a nonempty on every note, folder, context and schema call, even
with one project or a qualified URL. Use the chosen project's name,
, or external ID; below is a placeholder for it.
Recent activity also requires . Search accepts for one
project, for selected projects, or explicitly.
Discovery and bundled manuals need no project. Keep the same scope when following
returned paths, paginating, or recovering from a refusal.
projectmemory://workspace/project<project>projectprojectprojectsall_projects=True在步骤 1 中发现 projects,然后在步骤 5 中使用选定的云 project。
每次调用 note、folder、context 和 schema 时,都要传入非空的 ,即使只有一个 project 或使用了带限定符的 URL。使用所选 project 的 name、 或 external ID;下文中的 是其占位符。
Recent activity 同样需要 。Search 使用 表示单个 project,使用 表示选定的 projects,或者显式使用 。Discovery 和 bundled manuals 不需要 project。沿返回的 paths 进行操作、分页或从 refusal 中恢复时,保持相同的 scope。
projectmemory://workspace/project<project>projectprojectprojectsall_projects=TrueWhen to Use
使用时机
- The user runs (or
/memory-quest, or picks it from a skill menu)$memory-quest - The user asks to verify their assistant, finish Mission 8, or become a Memory Master
- Memory Quest in the web app pointed them here
When you tell the user to run Memory Quest again, use their host's form: in Claude Code, in Codex, or just asking for it in a chat app.
/memory-quest$memory-questTake no task context from the invocation. This skill checks setup; it does not need to find memory relevant to a task.
- 用户运行 (或
/memory-quest,或从 skill 菜单中选择它)$memory-quest - 用户要求验证其 assistant、完成 Mission 8 或成为 Memory Master
- web app 中的 Memory Quest 将用户引导到了这里
当你让用户再次运行 Memory Quest 时,使用其 host 的调用形式:Claude Code 中为 ,Codex 中为 ,或在 chat app 中直接要求运行它。
/memory-quest$memory-quest不要从此次调用中获取任何 task context。此 skill 用于检查 setup;无需查找与某项 task 相关的 memory。
Steps
步骤
Work through these in order. Stop at the first step that fails, explain what's missing, and say how to fix it. Never skip ahead to the note write.
请按顺序执行以下步骤。在第一个失败的步骤处停止,说明缺少什么以及如何修复。绝不能跳过前面的步骤直接执行 note write。
1. Confirm a cloud connection
1. 确认 cloud 连接
Call and inspect the projects grouped by workspace.
bm_project(command="list", output_format="json")- If it fails, Basic Memory isn't connected to this assistant. Tell the user to connect it and run Memory Quest again.
- If no project has or
source: cloud, this assistant has not demonstrated a cloud connection. Memory Quest lives in Basic Memory Cloud: tell the user to connect their cloud account (source: local+cloudfor the CLI, or the Basic Memory connector in a chat app) and try again.bm cloud login - Otherwise the connection works. You may show the user one line about what you can see, such as the workspace names. That is a courtesy, not evidence.
调用 ,并检查按 workspace 分组排列的 projects。
bm_project(command="list", output_format="json")- 如果调用失败,说明 Basic Memory 尚未连接到此 assistant。请让用户完成连接,然后再次运行 Memory Quest。
- 如果没有任何 project 的 为
source或cloud,则此 assistant 尚未证明自己具备 cloud 连接能力。Memory Quest 位于 Basic Memory Cloud 中:请让用户连接其 cloud account(CLI 使用local+cloud,或使用 chat app 中的 Basic Memory connector),然后重试。bm cloud login - 否则连接正常。你可以向用户展示一行你能看到的信息,例如 workspace names。这只是礼貌提示,并不能作为证据。
2. Confirm the guidance is active
2. 确认 guidance 已生效
Mission 8 is about Basic Memory being this assistant's starting point, so check that the guidance which makes that happen is actually loaded. It is active when either is true:
- Your context contains the Basic Memory session briefing — a section headed , injected at session start by the Basic Memory plugin for Claude Code or Codex.
# Basic Memory — session context - Your persistent instructions (custom instructions, project instructions, or an agent context file) tell you to use Basic Memory at the start of tasks to find relevant context.
If neither is true, stop. Tell the user to install the Basic Memory plugin for their assistant, or to save the memory routine from the Memory Quest panel in their assistant's instructions, then start a fresh conversation and run Memory Quest again. Do not report the guidance as active when it isn't: that report is the one part of this check the server cannot see for itself.
Mission 8 旨在确认 Basic Memory 是此 assistant 的工作起点,因此需要检查使其生效的 guidance 是否确实已加载。满足以下任一条件时,它即为 active:
- 你的 context 中包含 Basic Memory session briefing——一个标题为 的章节;该章节会在 Claude Code 或 Codex 的 session 开始时由 Basic Memory plugin 注入。
# Basic Memory — session context - 你的 persistent instructions(custom instructions、project instructions 或 agent context file)指示你在开始 tasks 时使用 Basic Memory 查找相关 context。
如果两者都不成立,请停止。请让用户为其 assistant 安装 Basic Memory plugin,或将 Memory Quest 面板中的 memory routine 保存到其 assistant 的 instructions 中,然后开始一段新的 conversation 并再次运行 Memory Quest。guidance 未生效时不要报告为 active:这是服务器无法自行查看的唯一一项检查结果。
3. Ask for the verification code
3. 询问验证码
Ask the user to open https://app.basicmemory.com/memory-quest and paste the code it shows. Codes look like and last 30 minutes.
MQ-7HX2-K9QD-4TRMAccept the code as the user gives it; case and separators don't matter. If what they paste is clearly not a code (wrong prefix, too short), ask again rather than guessing.
请让用户打开 https://app.basicmemory.com/memory-quest 并粘贴其中显示的 code。code 形如 ,有效期为 30 分钟。
MQ-7HX2-K9QD-4TRM按用户提供的形式接受 code;大小写和分隔符无关紧要。如果用户粘贴的内容明显不是 code(前缀错误或太短),请再次询问,不要猜测。
4. Ask before saving
4. 保存前征求批准
Say plainly what you are about to do: save a note titled "Memory Master" to their Basic Memory, and that saving it is what completes Mission 8. Ask for approval.
If they decline, stop. Say that the mission stays incomplete and they can run Memory Quest again any time.
直截了当地说明你接下来要做什么:将一条标题为 “Memory Master” 的 note 保存到用户的 Basic Memory 中,而保存该 note 正是完成 Mission 8 的方式。请求用户批准。
如果用户拒绝,请停止。告知用户任务仍未完成,并且他们随时可以再次运行 Memory Quest。
5. Save the Memory Master note
5. 保存 Memory Master note
First choose a project that exists only in Basic Memory Cloud. Call with and pick a project whose is exactly : the default project if it qualifies, otherwise ask the user which to use. New cloud accounts usually have one, Getting Started. Write to it by its .
bm_project(command="list")output_format: "json"sourcecloudexternal_idDon't use a project listed as or . When this machine has a local project with the same name as a cloud one, which is common because every local install creates , a local Basic Memory server writes the note to the local copy however you address it, by name, workspace-qualified name, or ID. The write reports success, but the cloud never sees it, so the mission stays incomplete. If no project is listed as , stop and tell the user to create one in Basic Memory Cloud (or connect their cloud account), then run Memory Quest again.
locallocal+cloudmaincloudWith approval, call once:
bm_write- :
titleMemory Master - :
directorymemory-quest - :
note_typememory_master - : the chosen project's
projectexternal_id - :
metadata{"memory_quest_code": "<the code exactly as the user gave it>", "memory_quest_guidance": "active"} - : the template below, unchanged except where it says to fill in
content - :
overwrite. Always pass it: when it's omitted,falsefollows the user'sbm_writesetting and could silently replace an existing note.write_note_overwrite_default
Pass the code and guidance in , never inside . They must arrive as frontmatter fields for the cloud to recognize the write.
metadatacontentIf reports that the note already exists, read it with , using the exact path from the refusal and the same , and . The frontmatter is where an earlier attempt's markers live, and the JSON includes the note's . Only an earlier Memory Quest attempt — a note whose frontmatter has and a field — may be replaced. Say so, then call again using the read result's as instead of + , , and set to that checksum. If the note changed after you read it, the write fails instead of discarding the newer version. Read it again and repeat the check. If the existing note is anything else, don't overwrite it: tell the user what's there, and either save under a different title, such as , or let them choose.
bm_writebm_readprojectoutput_format: "json"include_frontmatter: truechecksumtype: memory_mastermemory_quest_codebm_writefile_pathidentifiertitledirectoryoverwrite: trueexpected_checksumMemory Master (Memory Quest)首先,选择一个仅存在于 Basic Memory Cloud 的 project。调用 ,并设置 ,然后选取 恰好为 的 project:如果默认 project 符合条件,就选默认项;否则询问用户使用哪一个。新建 cloud account 通常有一个名为 Getting Started 的 project。写入时使用它的 。
bm_project(command="list")output_format: "json"sourcecloudexternal_id不要使用被列为 或 的 project。如果此机器上存在与某个 cloud project 同名的 local project,这很常见,因为每次 local install 都会创建 :无论使用 name、workspace-qualified name 还是 ID 来寻址,local Basic Memory server 都会将 note 写入 local 副本。写入会报告成功,但 cloud 永远看不到它,因此任务仍无法完成。如果没有任何 project 被列为 ,请停止并告诉用户在 Basic Memory Cloud 中创建一个(或连接其 cloud account),然后再次运行 Memory Quest。
locallocal+cloudmaincloud获得批准后,调用一次 :
bm_write- :
titleMemory Master - :
directorymemory-quest - :
note_typememory_master - : 所选 project 的
projectexternal_id - :
metadata{"memory_quest_code": "<the code exactly as the user gave it>", "memory_quest_guidance": "active"} - : 下方的模板,除要求填写之处外保持不变
content - :
overwrite。始终传入此参数:省略它时,false会遵循用户的bm_write设置,并可能静默替换已有 note。write_note_overwrite_default
将 code 和 guidance 放入 ,绝不要放入 。它们必须以 frontmatter fields 的形式传入,云端才能识别此次写入。
metadatacontent如果 报告 note 已存在,使用 refusal 中给出的精确 path 以及相同的 、 和 调用 来读取它。frontmatter 中存放着先前尝试留下的 markers,JSON 还包含 note 的 。只有先前一次 Memory Quest 尝试所创建的 note——即 frontmatter 中包含 和 字段的 note——才可被替换。先向用户说明这一点,然后再次调用 ,使用读取结果中的 作为 ,而不是 + ,并设置 和 为该 checksum。如果读取后 note 发生更改,写入将失败,而不会丢弃较新的版本。重新读取并重复检查。如果已有 note 是其他内容,不要覆盖它:告知用户其中有什么,并可选择以其他标题保存,例如 ,或让用户自行选择。
bm_writeprojectoutput_format: "json"include_frontmatter: truebm_readchecksumtype: memory_mastermemory_quest_codebm_writefile_pathidentifiertitledirectoryoverwrite: trueexpected_checksumMemory Master (Memory Quest)6. Tell the user what happens next
6. 告知用户后续操作
Tell them the note is saved and to open Memory Quest in the web app, where Mission 8 shows complete once the cloud has processed it. You cannot see the award yourself, so don't claim it happened. If Memory Quest still shows Mission 8 as current after a minute, the usual cause is an expired or replaced code: get a new code and run Memory Quest again.
告知用户 note 已保存,并让其在 web app 中打开 Memory Quest;cloud 处理完成后,Mission 8 会显示为已完成。你无法自行看到奖励结果,因此不要声称已经获得。如果一分钟后 Memory Quest 仍显示 Mission 8 为当前任务,常见原因是 code 已过期或被替换:获取新的 code,然后再次运行 Memory Quest。
Memory Master template
Memory Master 模板
Use this as the note's . Replace with today's date; leave everything else as written. The blocks are live views the Basic Memory web app renders from the user's own knowledge base each time the note is opened.
<!-- Maintainers: basic-memory-cloud parses a copy of this template
(packages/comark-harness/src/memory-master.md) against the Comark profile.
Update both together. -->
content<today's date>::bm-*markdown
Memory Master since <today's date>. Every Memory Quest mission is complete.将此内容用作 note 的 。将 替换为今天的日期;其余内容保持原样。 blocks 是实时视图,Basic Memory web app 每次打开该 note 时,都会根据用户自己的 knowledge base 渲染这些视图。
<!-- 维护者:basic-memory-cloud 会将此模板的副本
(packages/comark-harness/src/memory-master.md)
与 Comark profile 进行比对。
请同步更新两者。 -->
content<today's date>::bm-*markdown
Memory Master since <today's date>. Every Memory Quest mission is complete.The quest
The quest
::bm-check{title="Memory Quest"}
- Capture your first memory
- Create a relationship
- Build and explore the knowledge graph
- Master advanced search
- Structure knowledge with schemas
- Share a note safely
- Bring in knowledge you already have
- Make Memory a Habit ::
::bm-check{title="Memory Quest"}
- Capture your first memory
- Create a relationship
- Build and explore the knowledge graph
- Master advanced search
- Structure knowledge with schemas
- Share a note safely
- Bring in knowledge you already have
- Make Memory a Habit ::
Your knowledge today
Your knowledge today
::bm-stat{operation="bm.search.metadata" aggregate="count" label="Notes in this project"}
::
::bm-kpi{operation="bm.activity.recent" metric="notes-updated" window="30d" title="Notes updated in the last 30 days"}
::
::bm-spark{operation="bm.activity.recent" metric="notes-updated" window="30d" interval="day" title="Updates per day"}
::
::bm-rank{operation="bm.search.metadata" aggregate="count" group-by="type" limit="5" title="Your most-used note types"}
::
::bm-stat{operation="bm.search.metadata" aggregate="count" label="Notes in this project"}
::
::bm-kpi{operation="bm.activity.recent" metric="notes-updated" window="30d" title="Notes updated in the last 30 days"}
::
::bm-spark{operation="bm.activity.recent" metric="notes-updated" window="30d" interval="day" title="Updates per day"}
::
::bm-rank{operation="bm.search.metadata" aggregate="count" group-by="type" limit="5" title="Your most-used note types"}
::
What changes now
What changes now
Your assistant now starts from what you already know: it checks Basic Memory for relevant context when it begins work, and offers to save what's worth keeping when it's done.
undefinedYour assistant now starts from what you already know: it checks Basic Memory for relevant context when it begins work, and offers to save what's worth keeping when it's done.
undefinedGuidelines
准则
- One write, with approval. Never write the note before step 4, and never write a second note to retry. Overwrite the same one.
- Report guidance honestly. Only send after step 2 passes.
memory_quest_guidance: "active" - Don't invent outcomes. You can't observe the award. Point the user to Memory Quest instead of announcing success.
- Keep the code in metadata. A code in the note body verifies nothing.
- Stay on task. This skill doesn't search for memory relevant to a task, and doesn't change the user's other notes or settings.
- 一次写入,并事先获得批准。 绝不能在步骤 4 之前写入 note,也绝不能通过写入第二条 note 来重试。应覆盖同一条 note。
- 如实报告 guidance。 只有步骤 2 通过后,才能发送 。
memory_quest_guidance: "active" - 不要虚构结果。 你无法观察奖励。请将用户引导至 Memory Quest,而不是宣布成功。
- 将 code 保存在 metadata 中。 note 正文中的 code 无法验证任何内容。
- 专注当前任务。 此 skill 不会搜索与 task 相关的 memory,也不会更改用户的其他 notes 或 settings。