一键导入
papyrus-query
Atomic — search memories by filter (lexical or semantic), return ranked list
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Atomic — search memories by filter (lexical or semantic), return ranked list
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Atomic — regenerate .papyrus/index.json and (optionally) semantic vectors for a workspace
Atomic — mark a memory deprecated, optionally with supersedes link
Atomic — list memories whose review_after has passed
Atomic — fetch a single memory in full by id
Atomic — bidirectional graph walk from a starting need
Atomic — create a Papyrus workspace at a given path
| name | papyrus-query |
| description | Atomic — search memories by filter (lexical or semantic), return ranked list |
Filter memories across the workspace chain and return a compact list. Lockless.
Two modes:
--semantic): vector similarity over titles/bodies/tags. Requires papyrus[semantic] extra and a prior papyrus-rebuild-index to populate vectors..papyrus/vectors.npyinput:
tags: list[str] (AND semantics)
type: NeedType enum value or None
query: substring against title/body (lexical) OR query string (semantic)
format: brief|compact|full (default brief)
semantic: bool (default False) — switch to vector-similarity search
top_k: int (default 10) — max hits in semantic mode
show_scores: bool (default False) — prepend cosine score per line (dev aid)
output:
stdout: rendered needs (format-dependent); in semantic mode ordered by similarity
exit: 0 on success; non-zero if --semantic without -q, or extra not installed
in multi-workspace chain: [from: <scope>] annotation per need
Lexical: with a known corpus fixture, result matches expected id set for a given filter. E.g. given 3 needs with tags [topic:x], [topic:y], [topic:x, topic:y], query --tag topic:x --tag topic:y returns exactly 1.
Semantic: a query expressing a concept returns needs that relate by meaning even when they share no surface tokens. E.g. -q temperature ranks needs mentioning "celsius", "hot", "fahrenheit" above unrelated ones.
Lexical:
papyrus recall --tag topic:<domain> --type dec --format brief
Semantic:
papyrus recall --semantic -q "temperature" --top-k 5
papyrus recall --semantic -q "auth" --top-k 5 --show-scores # dev: inspect cosine scores
Tag/type filters compose with --semantic (they narrow the candidate pool before cosine rerank).
MCP tool memory_recall:
{"tags": ["topic:x"], "type": "dec", "format": "brief"}
{"semantic": true, "query": "temperature", "top_k": 5}
Peek-then-drill (composition with papyrus-drill):
papyrus-query --format brief — scanpapyrus-drill <id> — full contentTrigger-based recall (composition with shared/when-to-recall.md):
papyrus-query with narrow filterpapyrus-drill — composition partnerpapyrus-rebuild-index — must run first before --semantic to populate vectorsshared/when-to-recall.md — judgment pattern for invocation triggers