name: sgme-operations
description: SGME(拾光记忆引擎)操作手册——记忆查询/写入、知识库 wiki、信号、提炼、运维全流程。需要操作 SGME(查记忆、写知识库、管提炼、看健康)时加载本手册按步骤执行。
type: skill
SGME 操作手册
> 拾光记忆引擎(Single-user Agent Memory Engine)——多 agent 共享的记忆/知识/经验中枢。
> 服务:NAS <NAS_IP>(HTTP :9910 / MCP :9913)。密钥走环境变量,不落明文。
一、功能总览
| 域 | 能力 | 入口 |
|---|---|---|
| 记忆 | L1.5 标签化记忆池:写入/检索/注入画像 | HTTP /v1/* + MCP 9913 |
| 知识库 | wiki_pages 知识页面(md 内容,FTS5 检索,category/tags 分类) | /v1/wiki/* |
| 信号 | 关怀信号(待办到期/情绪/过劳/每日) | DSH 桥接 signal_* |
| 提炼 | 会话→记忆 自动提炼管线(L1/L1.5/L2) | refine_* |
| 运维 | 健康/统计/备份/看门狗自愈 | /v1/health /v1/admin/* |
二、接入方式
1. HTTP API(:9910)
- 鉴权头:X-API-Key: <Agent Key>(Agent Key 调非 admin 端点;Admin Key 调 /v1/admin/*)
- 健康检查:GET /v1/health(无需 X-API-Key,Bearer 可选)
- 关键端点:
- POST /v1/append:写入会话(session_key/started_at/content/agent_id/ended_at)→ 触发提炼
- POST /v1/inject:注入画像(mode=daily 等,max_tokens 控制)
- POST /v1/search:统一检索(scopes=[memory, wiki/scenes, wiki_pages])
- GET /v1/wiki/search?q=:知识库检索(FTS5 BM25 + LIKE 兜底)
- GET /v1/wiki/pages?category=:按分类列页面
- GET /v1/wiki/pages/{page_id}:页面详情
- POST /v1/wiki/pages:直接写入页面(title+content,幂等 upsert,可带 description)
- PATCH /v1/wiki/pages/{page_id}:按 id 精确更新/追加(append 默认追加 ADD-only + hash 去重幂等,description 默认不动)
- POST /v1/wiki/ingest:提交提炼任务(text/file/url → refinery → wiki_pages)
- POST /v1/wiki/evolve/trigger:自进化触发(会话→经验→写回手册)
2. MCP(:9913,同进程)
工具集:append / inject / search / memory_get / memory_reject / refine_trigger / refine_batch / refine_status / stats / health / wiki_search / wiki_pages / wiki_page / wiki_page_add / wiki_page_update / wiki_evolve_trigger / config_get / agent_onboarding
3. DSH 桥接(dsh-sgme 插件,会话内工具)
memory_search(L1.5 记忆池检索)/ wiki_search(知识库检索)/ wiki_pages / wiki_page / signal_pull / signal_claim / signal_ack(关怀信号闭环)
三、核心操作步骤
1. 查记忆("之前/以前/还记得"类问题必用)
- 调 memory_search(DSH)或 POST /v1/search scopes=["memory"](HTTP)
- 按维度过滤(identity/projects/status/focus/tasks/goals/ideas)
- 查不到如实说"记忆库未找到",不编造
2. 写知识库 wiki
- 判断归属分类:技能/手册 → category=skill/<domain>;设计方案 → category=design
- 调 wiki_search 确认是否已存在同类页面(避免重复)
- 写入:POST /v1/wiki/pages(title/content/category/tags/description),重复提交幂等
- 验证:wiki_search 能检索到
3. 会话入库与提炼
- DSH 侧 session-sync 自动把 turn 累积成会话 POST /v1/append(幂等)
- 提炼自动跑:L0 → L1 → L1.5 冲突合并 → L2 场景
- 手动触发:MCP refine_trigger(file_id 可选,limit=50,async_mode)
4. 关怀信号(DSH)
- signal_pull 拉取未消费信号
- signal_claim 原子认领(防多 agent 重复关怀)
- 处理完 signal_ack 写回执(claimed/acked/failed)
5. 自进化(经验回写)
- 会话后自动/手动触发:POST /v1/wiki/evolve/trigger 或 MCP wiki_evolve_trigger
- 费用门禁(消息块 ≥ min_rounds)→ LLM 提炼 → 规则闸门 → 写入手册踩坑记录
- 审计:wiki_evolve 表记录每次运行
6. 运维
- 健康:GET /v1/health 或 MCP health
- 统计:MCP stats
- 备份:/v1/admin/backup(每日自动 + 三库口径 memory/session/wiki)
- 重启:SSH NAS 重启容器(看门狗自愈 + 每日备份兜底)
四、配置与密钥
| 变量 | 用途 |
|---|---|
| SGME_BASE_URL | 服务地址(http://<NAS_IP>:9910) |
| SGME_AGENT_KEY | Agent Key(非 admin 端点) |
| SGME_ADMIN_KEY | Admin Key(/v1/admin/*) |
| DEEPSEEK_API_KEY_SGME | 提炼用 LLM 密钥(降级链) |
规则:密钥只读环境变量,代码/配置禁止硬编码;不在对话中贴明文。
五、踩坑记录
(本章节由自进化追加,只增不改。格式:现象 → 原因 → 正确做法,带来源与时间戳)
> 来源: DeepSeek Agent | hash: 7d30b1ab
2026-08-17 工具更新(B77)
DSH 桥接(sgme-bridge 0.2.0)新增 wiki_page_add 工具:创建知识库页面(POST /v1/wiki/pages,title/content 必填,category/tags(逗号分隔)/description/author 可选,幂等 upsert,同 title+content 命中同一 page_id 更新)。至此 DSH 侧 wiki 读写工具齐全:wiki_search / wiki_pages / wiki_page / wiki_page_update / wiki_page_add。L1 skill sgme-operations 描述已补「写wiki/建知识库页面/记录经验」触发词,建页任务可直接触发加载本手册。
> 来源: dsh-agent | hash: 0f4cbc07
模型配置(2026-08-29 更新:agnes 主链,zhipu 移出)
密钥表(现状):
| 变量 | 用途 |
|---|---|
| AGNESAI_API_KEY | 提炼主链 agnes-2.5-flash(免费,$0/1M token;key 缺失时 health 的 model_config.missing_keys 会提示) |
| SILICONFLOW_API_KEY | 提炼备用 THUDM/GLM-4-9B-0414(免费档;V4-Flash 转付费已移出 B144)+ 向量检索硅基流动 BAAI/bge-m3(1024 维,免费;实名认证后零费用) |
提炼降级链(2026-08-22 agnes 主位;2026-08-29 zhipu 免费 Key 失效移出链 B121;2026-09-01 DeepSeek-V4-Flash 转付费移出链 B144):agnes(agnes-2.5-flash, 免费主) → siliconflow(THUDM/GLM-4-9B-0414, 免费档备) → rule drop_batch。
向量健康检查:health 的 vector.connectivity 显示模型连通性(provider/model/latency_ms);失效时写日志 + 发 anomaly_warn 信号(source=vector),/search 自动降级纯 BM25。
免费 Key 申请:Agnes https://agnes-ai.cn(邮箱注册,agnes-2.5-flash 免费)→ AGNESAI_API_KEY;硅基流动 https://cloud.siliconflow.cn(注册 + 实名认证解锁免费模型,BAAI/bge-m3 调用零费用)→ SILICONFLOW_API_KEY。完整流程见 AI-INSTALL/免费模型Key申请指南.md。
> 来源: dsh-agent | hash: e1d4200d
踩坑:生产 WebUI 角色管理页无内置角色模板(2026-08-18)
> 来源: DeepSeek Agent | 2026-08-18
- 现象:生产(容器化)WebUI 角色管理页无内置角色(管家/伴侣/朋友/导师)
- 原因:ROLES_DIR = $SGME_HOME/roles(容器 = /data/roles,挂载卷);内置角色在镜像 /app/roles(Dockerfile 有 COPY)。entrypoint 首次启动只物化 sgme.yaml、不物化 roles → 空卷首次启动后角色目录为空(B63 容器化迁移缺陷;本机直跑时角色在项目根天然存在,容器化后丢失)
- 正确做法:entrypoint 首次启动物化 /app/roles/*.json → $SGME_HOME/roles/(T-55/B80 已修);已上线容器手工修复:
docker exec sgme sh -c 'mkdir -p /data/roles && cp /app/roles/*.json /data/roles/' - 经验:容器化迁移时,所有"程序资源默认值"类数据(配置模板/内置角色/内置模板)都要检查是否有首次启动物化机制;SGME_HOME 指向空卷后,镜像内程序资源不会自动出现在用户数据目录