memory

v2026.09.25

从 mixlab 检索记忆(按 tag 表达式、生成关键词/tagExpr)或向 mixlab 记录/提交记忆(整理 source/category/content/tags 并 POST)。需 MEMORY_API_KEY、MEMORY_API_BASE_URL。触发:从 mixlab 查记忆、mixlab 检索记忆、记到 mixlab、向 mixlab 提交记忆、memory、mixlab 记忆。

GitHub
安装命令
npx skhub add shadowcz007/memory
Markdown
SKILL.md

Memory(记忆)

从 mixlab 检索记忆(类似 grep,按 tag 查)或向 mixlab 记录/提交记忆(整理字段后 POST)。所有读写均针对 mixlab Memory API,Base URL 与鉴权从环境变量读取。

脚本

脚本作用
scripts/query.js按 tagExpr 检索:入参为 tag 表达式与可选 --limit,输出 JSON。
scripts/submit.js提交一条记忆:--source/--category/--content/--tags,或 --stdin 读一行 JSON。

环境变量

变量说明
MEMORY_API_KEY必填。Bearer token(如 mix_xxx)。
MEMORY_API_BASE_URL必填。如 https://www.mixlab.top。

从 mixlab 检索记忆(GET)

根据用户意图生成可能的关键词/tag,再组合成 tagExpr 调用 mixlab API。

tagExpr 规则(类 SQL)

  • 单 tag:tagExpr=work
  • 多 tag 且:tagExpr=work+AND+important 或 work%20AND%20important
  • 或 + 且:tagExpr=(work+OR+personal)+AND+important
  • URL 中空格用 %20 或 + 编码

检索流程

  1. 理解意图:从用户问题里提取「要查什么」——主题、项目名、类型(工作/生活/笔记等)。
  2. 生成候选 tag:列出 2~5 个可能用到的 tag(如:work、important、会议、项目A),优先用用户原词或近义。
  3. 构建 tagExpr:
    • 只用一个 tag 时:tagExpr=<tag>
    • 要同时满足多 tag:tagExpr=tag1+AND+tag2
    • 有「或」与「且」:用括号,如 (tag1+OR+tag2)+AND+important
  4. 请求:GET {MEMORY_API_BASE_URL}/api/agent/v1/memories?tagExpr=<编码后的表达式>&limit=10,Header:Authorization: Bearer {MEMORY_API_KEY},Content-Type: application/json。
  5. 结果:把返回的记忆列表整理成可读摘要(如标题/摘要 + 来源/时间若有),便于用户快速扫一眼。

检索示例

  • 用户:「查一下和工作且重要的」→ tag 如 work, important → tagExpr=work+AND+important
  • 用户:「找跟项目X或会议有关的」→ tag 如 项目X, 会议 → tagExpr=(项目X+OR+会议)

向 mixlab 提交/记录记忆(POST)

把用户口述或文本整理成规范字段,再向 mixlab POST 记录,避免缺字段或格式混乱。

请求体字段

字段说明整理建议
source来源(谁/哪来的)简短标识:如「用户口述」「Slack」「邮件」;可默认「Agent」
category分类固定若干类更利检索,如:笔记、待办、会议、想法、摘抄、工作、生活
content正文用户原意压缩成一段清晰叙述,可保留关键人名/时间/链接
tags标签数组2~6 个:主题词、项目名、类型等,便于后续用 tagExpr 检索

提交流程

  1. 抓要点:从用户输入里提取「谁/什么事/何时/何地/为什么/结果」等,去掉口水话。
  2. 定 category:在「笔记、待办、会议、想法、摘抄、工作、生活」等中选最贴的一个;必要时新增一致命名。
  3. 写 content:一段话概括,约 50~200 字,保留关键信息(人名、日期、链接、结论)。
  4. 打 tags:从内容里抽 2~6 个 tag,兼顾「主题」和「类型」,如 ["work","项目A","会议"]。
  5. 填 source:若用户未说明来源,用「用户口述」或「Agent」。
  6. 请求:POST {MEMORY_API_BASE_URL}/api/agent/v1/memories,Header:Authorization: Bearer {MEMORY_API_KEY},Content-Type: application/json,Body:{"source":"...","category":"...","content":"...","tags":["..."]}。

提交示例

用户:「刚才会上说下周三前把需求文档给产品,记得提醒我。」

整理后:

{
  "source": "用户口述",
  "category": "待办",
  "content": "下周三前将需求文档交给产品;来源:会议。",
  "tags": ["工作", "会议", "待办", "需求文档"]
}

调用示例(curl)

检索(单 tag):

curl -X GET "${MEMORY_API_BASE_URL}/api/agent/v1/memories?tagExpr=work&limit=10" \
  -H "Authorization: Bearer ${MEMORY_API_KEY}" \
  -H "Content-Type: application/json"

检索(多 tag AND):

curl -X GET "${MEMORY_API_BASE_URL}/api/agent/v1/memories?tagExpr=work%20AND%20important&limit=10" \
  -H "Authorization: Bearer ${MEMORY_API_KEY}" \
  -H "Content-Type: application/json"

提交:

curl -X POST "${MEMORY_API_BASE_URL}/api/agent/v1/memories" \
  -H "Authorization: Bearer ${MEMORY_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"source":"用户口述","category":"笔记","content":"内容摘要","tags":["tag1","tag2"]}'

小结

  • 从 mixlab 检索:意图 → 候选 tag → 构建 tagExpr(AND/OR/括号)→ GET mixlab memories。
  • 向 mixlab 记录:口述/文本 → 整理 source、category、content、tags → POST 到 mixlab。
  • 所有请求均针对 mixlab,使用环境变量 MEMORY_API_KEY 与 MEMORY_API_BASE_URL,不在技能中写死密钥。
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.25

发布时间

Sep 25, 2026

分类

未分类

许可证

MIT

源路径

skills/memory

默认分支

main

最新提交

96f8a01

Tree SHA

b5c51ad