dsh-mem
Agent 与会话 活跃维护

dsh-mem

Paloma966/dsh-mem

内置SQLite存储,提供记忆检索、存储、上下文获取三类工具,支持AI应用快速集成记忆能力,无需额外配置数据库,轻量易集成开箱即用。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
Go
主要语言
MIT
开源协议
52 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Paloma966/dsh-mem
git clone https://github.com/Paloma966/dsh-mem.git
git clone git@github.com:Paloma966/dsh-mem.git
README.md main

mem —— Local AI Memory Engine

mem 是一个本地 AI 长期记忆引擎。

将你的文件自动转换为结构化事实,通过 CLI 和 MCP Server 提供给 Claude Code 等 AI Agent 使用。

DeepSeek Harness 插件

dsh-memory-bundle/ 是本项目的 DeepSeek Harness
(DSH)原生插件:自包含 bundle,内置 SQLite 存储,提供 memory_search /
memory_remember / memory_context 三个工具。安装:

dsh plugin --profile <name> add dsh-memory-bundle

发布步骤见 dsh-memory-bundle/PUBLISHING.md

安装

git clone https://github.com/chun/mem.git
cd mem
go build -o mem ./cmd/mem
mv mem ~/.local/bin/  # 或任何在 PATH 中的位置

快速开始

1. 初始化

mem init

创建 ~/.mem/,包含 SQLite 数据库和默认配置。

2. 设置 API Key

export ANTHROPIC_API_KEY="your-api-key"

3. 导入文件

echo '# 项目 Alpha

## 技术栈
- 语言: Go
- 数据库: SQLite
- 负责人: 张三

## 里程碑
- 2026-08-01 上线' > /tmp/design.md

mem import /tmp/design.md -y

输出:

解析: /tmp/design.md (markdown, 0.1KB, 9行)
抽取中...

识别到的事实:

  [design]
    project.language                  = Go            [置信度: 0.95]
    project.database                  = SQLite        [置信度: 0.95]
    project.owner                     = 张三           [置信度: 0.94]
    project.deadline                  = 2026-08-01    [置信度: 0.91]

✓ 保存 4 条, 跳过 0 条 (未变化)

4. 查询

# 查看某个命名空间
mem show alpha.*

# 搜索
mem find Go

# 查看来源
mem source alpha.project.owner

5. Claude Code 集成

~/.claude/settings.json 中添加:

{
  "mcpServers": {
    "mem": {
      "command": "mem",
      "args": ["serve"]
    }
  }
}

重启 Claude Code 后,就可以在对话中使用 MCP 工具:

  • memory_search — 搜索记忆
  • memory_context — 获取命名空间上下文
  • memory_remember — 手动添加记忆

命令参考

命令 说明
mem init 初始化 ~/.mem
mem import <file> [-y] [--ns name] 导入文件,AI 抽取事实
mem show <pattern> 按 key 模式查看
mem find <keyword> [--ns name] 关键词搜索
mem query <keywords> 增强搜索
mem source <key> 查看来源和历史
mem list [namespace] 列出命名空间或 keys
mem serve 启动 MCP stdio server

架构

文件 (MD/TXT/...) → Parser → Extractor (Claude API) → Memory Core (SQLite)
                                                          │
                                          ┌───────────────┴───────────────┐
                                          │                               │
                                       CLI                          MCP Server
                                   (mem import/show/...)            (stdio, Claude Code)

Key 格式

三段式:namespace.entity.attribute

alpha.project.language  = Go
alpha.project.owner     = 张三
preference.editor       = vim

配置

~/.mem/config.yaml:

llm:
  provider: claude
  model: claude-sonnet-5
  api_key: ${ANTHROPIC_API_KEY}

import:
  default_confidence: 0.80
  auto_save: false

mcp:
  transport: stdio

技术栈

  • Go 1.26+
  • SQLite (modernc.org/sqlite, 纯 Go, 无 CGO)
  • Claude API (Anthropic Messages API)
  • cobra + viper (CLI)
  • MCP JSON-RPC 2.0 over stdio

License

MIT