一键导入
yopedia
Save research and reflections into (and recall from) your personal knowledge vault (yopedia) — your second brain
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Save research and reflections into (and recall from) your personal knowledge vault (yopedia) — your second brain
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Interact with the community through GitHub Discussions — reply, share, learn
Evaluate readiness and publish to crates.io
Safely modify your own source code, test changes, and manage your evolution
Analyze your own source code and capabilities to find bugs, gaps, and improvement opportunities
Read X (Twitter) via xurl — search posts, fetch threads, read profiles, and read long-form articles
Search and read the web (via the web_search tool) when stuck or learning something new
| name | yopedia |
| description | Save research and reflections into (and recall from) your personal knowledge vault (yopedia) — your second brain |
| tools | ["bash"] |
| core | false |
| origin | creator |
| keywords | ["yopedia","ingest","recall","second brain","knowledge vault","bearer token"] |
Yopedia (https://yopedia.yolog.dev) is your personal, persistent knowledge vault. Use it to save what you learn (so it doesn't evaporate after a session) and to recall what you already know (so you build on yourself instead of re-treading the same ground).
BASE=https://yopedia.yolog.dev
AGENT_ID="${YOPEDIA_AGENT_TOKEN%%.*}" # the token text before the dot, e.g. alice--yoyo
VAULT="$YOPEDIA_VAULT_ID" # which vault to file into — passed on every ingest
If $YOPEDIA_AGENT_TOKEN or $YOPEDIA_VAULT_ID is unset, your second brain isn't wired up
yet — skip ingestion/recall silently and carry on. A yopedia call must never
fail your actual work.
Before researching a topic, check what you already know and build on it. Lead with keyword search — it's your workhorse and needs no auth header (it still uses your agent-id, so the Setup skip-guard applies). Recall is agent-scoped, so it spans all your vaults (an evolve session recalls your dream-research notes too).
# 1. Keyword search (no auth) — YOUR MAIN RECALL.
# Matches your term against note titles + bodies (stemmed word-family, NOT semantic),
# so search the REAL terms of your topic — names, features, concepts — and try a
# couple of phrasings if the first comes back empty:
curl -sS "$BASE/api/wiki/search?q=<keyword>&scope=agent:$AGENT_ID"
# 2. Whole index (no auth) — scan every note title you have, to see what's there at all:
curl -sS "$BASE/api/agents/$AGENT_ID/context"
# 3. Natural-language question (NEEDS your agent token) — a synthesized answer, not a list.
# /api/query is authenticated; send the same token you ingest with. (Unconfirmed that the
# Bearer token fully satisfies its gate — it rejected an unauthenticated call. If #3 errors,
# just fall back to #1/#2.) Use when you want a digested answer rather than raw matches:
curl -sS -X POST "$BASE/api/query" \
-H "Authorization: Bearer $YOPEDIA_AGENT_TOKEN" -H "Content-Type: application/json" \
-d "{\"question\":\"What have I learned about <topic>?\",\"scope\":\"agent:$AGENT_ID\"}"
Ingest is fire-and-forget: the POST is queued and processed in the background, so it returns almost immediately. Don't wait for or parse a slug — just fire it and move on. (A non-2xx response means it failed; log it and skip.)
From a URL (no quoting worries — inline is fine):
curl -sS -X POST "$BASE/api/agents/$AGENT_ID/ingest" \
-H "Authorization: Bearer $YOPEDIA_AGENT_TOKEN" -H "Content-Type: application/json" \
-d "{\"url\":\"https://example.com/paper\",\"vaultId\":\"$VAULT\"}"
# → {queued: true, jobId} (queued; processed in the background — no slug to wait on)
From your own notes — build the JSON with python3 (text has quotes/newlines; hand-concatenated JSON breaks → 400):
python3 -c "import json,os,datetime; print(json.dumps({
'title': 'Proprioception in software systems — ' + datetime.date.today().isoformat(),
'text': 'What it said, why it matters, and the source URL(s).',
'vaultId': os.environ['YOPEDIA_VAULT_ID']}))" \
| curl -sS -X POST "$BASE/api/agents/$AGENT_ID/ingest" \
-H "Authorization: Bearer $YOPEDIA_AGENT_TOKEN" -H "Content-Type: application/json" --data @-
Same python3→curl pattern, with a dated report title:
python3 -c "import json,os,datetime; print(json.dumps({
'title': 'Research — <topic> (' + datetime.date.today().isoformat() + ')',
'text': '<what I explored / key findings / open questions / sources>',
'vaultId': os.environ['YOPEDIA_VAULT_ID']}))" \
| curl -sS -X POST "$BASE/api/agents/$AGENT_ID/ingest" \
-H "Authorization: Bearer $YOPEDIA_AGENT_TOKEN" -H "Content-Type: application/json" --data @-
python3 -c (quotes/newlines break naive strings).