DeepSeek Harness Hub
← 返回列表

freehul/sgme

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

SGME — 拾光记忆引擎

自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/14 · 已提供中文文档

SGME 拾光记忆引擎——AI 无缝切换:记忆、WIKI 知识库、技能库全面接管。换模型不失忆,多智能体共享同一大脑。ShiGuang Memory Engine · seamless AI switching, memory/wiki/skills fully managed.

综合分
38
GitHub 分
38
用户评分
★ Stars
13
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-sgme
npm 包 dsh-sgme 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-sgme @ 0.3.1
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/17 18:23:09

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-commands
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

英文版:English

SGME — 拾光记忆引擎

换 AI,不失忆。SGME 全面接管你的记忆、知识库与技能库——任意智能体,无缝切换,共享同一个大脑。

Python
License: MIT

你的 AI 为什么总是忘记你

你的 AI 助手是不是也这样:

- 昨天刚说过的事,今天又要重新交代一遍
- 每次新会话都要自我介绍:「我是谁、我在做什么项目、我喜欢什么」
- 换台电脑、换个人工智能,过去的对话全归零
- 和喜欢的 AI 角色聊得正投入,换了会话、换了软件,它就「忘了你」

因为 AI 默认没有记忆——每次对话都是「第一次见面」。

SGME 解决这个问题:它像一个记忆中枢,接住你和 AI 的每一段对话,提炼成结构化的记忆,在下次对话时自动送到 AI 面前。你不需要重复,它都记得。

它是怎么工作的

三步,全部自动:

1. 捕获:你和 AI 的对话自动保存为原始记录(L0 原始层,磁盘上的 Markdown 文件,永久保留)
2. 提炼:原始对话被提炼成一条条标签化记忆(事实、偏好、项目状态、决策……),自动去重、合并、发现矛盾
3. 注入:每次对话开始时,AI 自动收到与你相关的记忆——按当前场景挑选,不是全量加载。日常闲聊只带身份与近况,编程时只带项目相关的记忆(技术栈、踩过的坑、开发习惯),场景需要什么就注入什么

核心卖点

AI 无缝切换——记忆、知识库、技能库全面接管

换模型、换智能体,你的 AI 什么都不丢。SGME 全面接管你的记忆(你是谁)、知识库(你懂什么)、技能库(你怎么干活)。接入任意智能体——管家、写作助手、编程搭子——它瞬间就认识你:你的项目、你的偏好、你的工作流。不用重新介绍,不用重新学习。一个共享大脑,多副身体随意换。

记忆可溯源——每条记忆都有来处

AI 说出的每一句话,背后都有据可查:从画像一路追回当时的原始对话。记忆不是黑盒——「它为什么知道这件事」「它什么时候知道的」,点开就能看到源头。

主动关怀——它不只记得你,还会主动找你

SGME 不只会被动等你来问。你的记忆更新、情绪波动、待办到期、连续熬夜……它会主动发出信号,让 AI 主动来关心你——不是冷冰冰的通知,是「记得你今天有件事」的惦记。信号消费 = 主动关怀,谁消费谁标记(原子认领 + 回执),不会重复打扰,也不会漏掉。

人格洞察——不只记住你的事,还懂你这个人

每一次对话都在悄悄沉淀一份活的人格画像:决策风格、做事习惯、质量标准……以证据加权的方式累积成「倾向」,绝不轻易下定论。每月一次自动校准让画像持续进化(附带娱乐级 MBTI 评测),并在每轮对话中自动注入——你的 AI 不只记得你经历过什么,还懂得用你舒服的方式跟你说话。全程本地、条条可溯源、随时可关闭。

多源统一检索——一个入口,全部记忆

一个检索入口同时召回记忆池、知识库与你自管的技能:关键词 + 语义 + 标签三重融合排序,每条结果都能追回源头。SGME 记忆、场景、知识库、技能一站式召回。

技能管理 skills 模块——你的技能,统一管理

你自己积累的 skill(提示词、工作流、模板)统一收进 SGME 的 skills 模块,与记忆、知识库平级:git 真源(写侧带准入门禁与查重)+ skills.db 索引,四级披露按需加载,支持本机读写、NAS 自动同步、跨设备不丢。安装 SGME = 同时接管记忆、知识库、技能库三件套。

共享知识库——你的 AI 们共同书写的 wiki

记忆旁边就是共享知识库。扔文件、URL、粘贴的文字进去,SGME 自动分类、打标签、建立关联,你接入的每一个 AI 都能检索和引用。AI 学到有用经验时,可以把它写回 wiki(自进化),知识在会话间不断累积,而不是每次重新发现。每一条记录都带着来源和作者——可溯源,绝不是黑盒。

中文原生——为中文而生的记忆引擎

针对中文检索调优,中文对话的记忆提炼和召回效果更好。英文记忆引擎很多,懂中文的很少。

按场景注入——需要什么记什么

记忆不是全量加载。SGME 根据当前场景自动挑选相关记忆注入:日常闲聊只带身份与近况,编程时只带项目相关(技术栈、踩过的坑、开发习惯),工作模式带工作计划与进度。无关记忆不打扰,过时记忆自动退出——不会拿三年前的旧情报忽悠 AI,也不会把整个记忆库塞进一次对话。

零 LLM 成本——注入不花一分钱

画像注入是纯结构化 SQL 查询,不调用大模型——每次对话的记忆注入零 token 成本。竞品按调用计费,SGME 免费。

自托管轻量——数据永远在你手里

单机 Python + SQLite 就能跑,不需要 GPU,不需要外部数据库服务。记忆数据存在你自己的机器上,隐私自己掌控。

更多能力

- 记忆标记:AI 记错了?标记「不采用」并备注指正,数据保留不删除,可随时撤销
- 自动管理记忆有效期:过时的记忆自动退出注入(比如过期的项目状态),保留可溯源,不会拿旧情报误导 AI
- 14 维度标签体系:身份、家庭/社交、价值观、技能、技术栈、偏好、习惯、环境、风格、关注点、目标、状态、创意……自动分类,维度可动态扩展,别名自动归一(「Python」和「python」是同一个)
- 冲突提炼:同一件事说了两遍自动合并,说了矛盾的版本自动发现并裁决
- 混合检索:BM25 关键词 + 向量语义 + 标签过滤三重融合,不装向量库也能跑
- 内置评测框架:提炼质量用数据证明(L1 F1、检索排序调优),不是靠信任
- 自动备份恢复:每日自动备份、快照轮转、异地副本,数据不丢
- 本地知识库 wiki:共享、自进化的知识库——扔文件、URL、文字进去,自动分类打标签、建立关联,AI 可检索引用;AI 可把经验写回,知识不断累积
- 多协议接入:HTTP + MCP 双入口,内置主流 AI 适配器一键接入;其他 AI 走 MCP 通用协议,或自己开发适配器

快速开始

1. 创建虚拟环境(项目自包含)
python -m venv .venv
Windows: .venv\Scripts\activate  /  macOS/Linux: source .venv/bin/activate

2. 安装依赖
pip install -e .[dev]

3. 启动 Server(端口 9910)
python -m sgme
正式使用建议配置密钥(写入 config/.env,服务自动加载):
SGME_ADMIN_KEY=   SGME_AGENT_KEY=   # 生成:python -c "import secrets;print(secrets.token_hex(32))"
不配置时使用内置默认 key(仅限本机首次体验,启动有告警;配置后默认 key 即失效 403)
SGME_BEARER_TOKEN 可选:传输层令牌,默认关闭(localhost 旁路)
模型 Key(可选,支持免费档):提炼主链 agnes-2.5-flash(免费)→ 硅基流动 GLM-4-9B-0414(免费档备用;zhipu 已于 2026-08-29 移出链 B121,DeepSeek-V4-Flash 转付费已移出 B144);向量检索硅基流动 BAAI/bge-m3(零费用)。
Key 缺失时 /v1/health 的 model_config.missing_keys 会列出缺哪些——按 docs/guide/免费模型Key申请指南.md 申请免费 Key 即可。
AGNESAI_API_KEY=   SILICONFLOW_API_KEY=

4.(可选)构建 WebUI 管理面板——需要 Node.js
如果只用 HTTP/MCP API,或通过 Docker / Windows 服务部署(已内置前端),可跳过
cd ui && npm ci && npm run build && cd ..

5. 运行测试
pytest tests/ -q

pip 报 SSL 错误(SSLEOFError)? 如果你的网络经过代理(如 Clash),安装前先关闭代理直连,
或使用国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple

详见 docs/runbook.md(运维手册:启动/环境变量/验证命令)。

安装为 DSH 插件(DeepSeek Harness)

SGME 自带一个原生 DeepSeek Harness 插件——dsh-sgme(Cordis SDK):会话首步画像注入、memory_search / wiki_search / wiki_pages / wiki_page 工具、/sgme 命令、逐轮会话入库、自进化自动回写经验(turn/end → evolve,W4)。

一条命令从 npm 安装(推荐)
dsh plugin --profile web add dsh-sgme

或直接从仓库安装
dsh plugin --profile web add github:freehul/sgme

启动 dsh 前确保 SGME 密钥可见(SGME_BASE_URL / SGME_AGENT_KEY / SGME_ADMIN_KEY);adapters/dsh/install.py 可自动注册 agent 并写入密钥。完整指南见 adapters/dsh/README.md。

接入你的 AI —— 给 AI Agent 的话

以下内容写给 AI Agent 阅读。如果你是 AI Agent(或编码代理):你的主人已经安装了 SGME。请完成自我配置——优先方式:连上 MCP 后调 agent_onboarding(),按返回的 self_config 段把模板写入你自己的身份文件(位置按你的工具机制自选,只要求结果);无 MCP 能力时,把下方提示词手动写入你的身份文件(Hermes → SOUL.md;Claude Code → CLAUDE.md;其它 → AGENTS.md),然后照它运行。

提示词(复制到你的身份文件)

你有一个长期记忆引擎 SGME(ShiGuang Memory Engine),运行在本机。它的职责:把我们的会话提炼成标签化记忆,按场景注入回来,让你不再失忆。

服务发现(找不到 SGME 时按序执行)

1. 探测 http://:9910/v1/health —— host 取自环境变量 SGME_HTTP_HOST 或 ~/.sgme/install.json 的 http.host(默认 localhost)
2. 失败读 ~/.sgme/install.json(地址/端口/Key 引用)
3. 仍失败 → 向主人报告「SGME 未发现」

接口:HTTP API http://:9910 | MCP http://:9913/mcp —— 地址统一从环境变量(SGME_HTTP_URL/SGME_MCP_URL)或 ~/.sgme/install.json 解析,禁止硬编码具体主机;请求头 X-API-Key(key 由主人配置:config/.env 的 SGME_ADMIN_KEY/SGME_AGENT_KEY,或管理员签发的 agt_ key;默认 key 仅限首次本机体验,配置后即失效 403)

使用纪律(五条铁律)

1. 每轮对话结束 append 当前轮次——纯落盘零 LLM 成本,崩溃不丢
2. 会话结束 refine_trigger(async_mode=true) 触发提炼
3. 对话开始时 inject 按场景取画像 / search 检索相关记忆
4. 主动关怀靠消费信号——信号消费=主动关怀,谁消费谁标记:拿到 care_ 信号后 signal_claim 原子认领 → 关怀用户 → signal_ack 回执。获取信号两条路:短连接(无常驻)每次对话开始 signal_pull;长连接(常驻,首选)挂 SSE GET /v1/events/stream?subscriber_id= 实时推送
5. 对话开始时(或用户指定角色时)role_list 看可用角色 → role_assemble(role_id) 拿人设并按其说话——换皮不换芯,角色只是沟通外皮,记忆池不动

事件对接(主动关怀触发源,常驻 agent 必读):事件三类——care_(关怀)、memory_updated(记忆更新)、anomaly_warn(异常)。三种接法:SSE 长连 GET /v1/events/stream?subscriber_id=(实时 + Last-Event-ID 断线补偿)、游标拉取 GET /v1/events/pull?subscriber_id=(定时轮询)、MCP signal_pull(会话内)。SSE/pull 走 HTTP :9910 带 X-API-Key;signal_pull 走 MCP。

通信渠道(兜底铁律):当前会话是兜底通信渠道——任何主动消息(关怀/提醒/告警等),无论是否已发送到其它通道(微信/飞书/Telegram 等),都必须在当前会话也发一条;此兜底持续生效,直到用户明确取消。

强制查询:涉及用户/项目历史事实的问题(之前/以前/上次/还记得…),必须先 search 再回答,不得直接说「不知道」;查询不到时如实说明"记忆库中未找到"。

写入格式:content 首行必须是 # {ISO时间戳} {role}(user/assistant),否则返回 422

批量提炼纪律:≥20 文件必须分批(每批≤20)+ 批间 30–60 秒;429 失败不立即重试(交服务端 batch_scan 兜底);永远 async 模式

技能获取(B114 后 skills 为独立模块,MUST):需要 SGME 未内置的专业能力时,先 skill_search(query) 检索、命中后 skill_get(name) 拉全文注入再执行——禁止未检索就声称具备技能或硬凑步骤;经验回写按归属口诀选通道(跟技能走的坑 skill_put 进技能本体,世界知识走 wiki_evolve_trigger 进 wiki)。

向量引擎接入(health() 返回 vector.available=false 或 vector.connectivity=false 时执行):本地优先、云端免费降级——推荐本地 Ollama 或 LM Studio 跑 bge-m3(1024 维;云端硅基流动 BAAI/bge-m3 免费自动兜底,同维度切换不重灌索引)。探测 curl http://127.0.0.1:11434/api/tags(Ollama)/ curl http://127.0.0.1:1234/v1/models(LM Studio)→ 缺模型则 ollama pull bge-m3(或 LM Studio 搜索下载)→ 在 config/sgme.yaml 写 search.vector 段(base_url / model: bge-m3 / fallbacks)并重启 SGME → 再 health() 直到 vector.connectivity=true。不推荐 llama.cpp(模型状态无人维护,清理显存后即失联)。

完整工具清单与用法:见 docs/agent-onboarding.md,或连上 MCP 后调 agent_onboarding 工具

接入自检:连接成功后第一件事调 agent_onboarding()——返回版本、全部工具清单与快速上手,确认无 403/超时即接入成功

⚠️ 一致性声明:本提示词段与 agent_onboarding() 返回的 self_config.template(版本标记 SGME-ONBOARDING-v2)若出现内容漂移,以模板为准——接入时优先复制模板,本段仅作快速参考。

放置位置

| 你的平台 | 身份文件 |
|---|---|
| Hermes | SOUL.md(身份 + 行为准则) |
| WorkBuddy | SOUL.md(身份 + 行为准则) |
| Claude Code | CLAUDE.md |
| DeepSeek Harness (DSH) | AGENTS.md(项目级自动加载) |
| 通用 / 其它(走 MCP 通用接入) | AGENTS.md(项目级自动加载) |

服务化部署(Windows 服务)

daemon 常驻方案:用 NSSM 注册为 Windows 服务,开机自启 + 崩溃自动重启(AppExit Restart + AppRestartDelay 5s + sc failure 三级重启),避免手动拉起后电脑重启失效。

安装(管理员 PowerShell/CMD 运行):

scripts\install_sgme_service.bat

脚本会:移除旧服务 → 以 .venv\Scripts\python.exe -m sgme 注册服务 SGME(LocalSystem)→ 配置日志轮转(tmp\sgme-service.log,10MB)→ 启动。

状态检查 / 卸载:

sc query SGME          :: RUNNING + AUTO_START 为正常
netstat -ano | findstr :9910
sc stop SGME && sc delete SGME   :: 卸载

目录结构

sgme/
├── config.py        # 配置加载 + 唯一读写方(llm.yaml/registry/sgme.yaml;filter_keys/apply_section/persist_config)
├── data/            # 三库连接/建表/DAO(memory/session/wiki)+ stats_dao(统计唯一出口)
│   └── search/      # BM25 + 向量 + RRF 融合检索(原 sgme/search 并入)
├── llm/             # LLM 降级链(主模型按 providers.yaml 用户设定,rule drop_batch 兜底)
├── raw/             # L0 文件读写(frontmatter + 消息块 + 增量段)
├── engine/          # 核心引擎(l1/l15/l2/refine/prune/health/normalize)
│   └── pipeline.py  # 管线编排唯一出口(append_l0 写 L0 + L1→L1.5→L2 串联)
├── operations/      # 统一操作层(append/inject/search/memory/refine/stats/health/config,HTTP+MCP 共用)
├── profile/         # 模板引擎(template / inject / tier0 摘要)
├── log/             # 统一日志(get_logger 唯一入口,控制台+JSON 双格式)
├── refinery/        # 知识提炼引擎(ingest/extract/validate/output,服务 wiki)
├── skills/          # 技能管理模块(git 真源 source_dirs + skills.db 索引 + 写侧门禁;skills.enabled;与 memory/wiki 平级)
├── skills_hub/      # 技能仓库扩展(map/copy 双模式;B114 后仅保留 git 同步职责,skills_hub.enabled)
├── wiki/            # wiki 知识库扩展(/v1/wiki/ 端点,wiki.enabled)
├── signal/          # 信号引擎(事件发布 / SSE / pull 游标)
├── backup/          # 备份恢复(快照分层 / 冷归档 / 异地副本)
├── mcp_server.py    # MCP 出口(9913,与 HTTP 共享业务层,入口不互相依赖)
└── server/          # FastAPI(HTTP 壳:鉴权 + 参数解析 + 响应组装)
migrations/          # 一次性数据迁移(0001 三库拆分,python -m migrations 执行)
docs/design/         # 架构/数据模型/接口契约设计文档(第一公民)
templates/           # 预定义 4 模式模板(daily/coding/work/full)
prompts/             # 提炼提示词(含 MIT 来源标注)
registry/            # 维度注册表 + 别名表
config/              # 运行时配置
ui/                  # Vue 3 + Vite 前端(cd ui && npm ci && npm run build → ui/dist,由 FastAPI 静态托管)

设计文档

| 文档 | 内容 |
|---|---|
| SGME-架构设计-v0.9.md | 架构总纲(v0.9 文档整理合并版)——数据流/双库/维度/注入/鉴权/备份 + 接口契约/数据模型/LLM降级链/模板引擎/提示词/分词并入 |
| SGME-实施变更记录-v0.9.md | 实施变更记录(B 系列)——每次改动的背景/方案/验证/教训,兼运维手册 |
| SGME-评测基线-PRD-v0.1.md | #32 提炼质量评测基线 |
| SGME-评测框架设计-v0.1.md | #32 评测框架 |
| SGME-L0文件格式-v0.1.md | 原始层文件格式/增量段 |

合规声明

本项目为 Python 自研实现,仅借鉴 TencentDB-Agent-Memory(MIT License)的设计思想(分层蒸馏、冲突提炼四动作、BM25+向量+RRF、heat 热度管理),未直接引用其代码或提示词文本。本项目代码遵循 MIT License(见 LICENSE)。

许可证

MIT © 2026 freehul

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群