Token导航 LogoToken导航TokenDH.com
icm (Rtk AI) logo
AI代理未说明官方级别未说明来源级核验

icm (Rtk AI)

MCP Server

ICM是一个为AI代理提供永久记忆存储的系统,支持事件记忆和知识图谱两种存储模型,适用于多工具集成和长期知识管理。

工具数

31

提示词数

0

GitHub Stars

347

资源数

0
AI代理RustClaude记忆存储ClaudeCursorWindsurfCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rtk-ai

提供方

rtk-ai

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

英语 | 法语 | 西班牙语 | 德语 | 意大利语 | 葡萄牙语 | 荷兰语 | 波兰语 | 俄语 | 日本语 | 中文 | 阿拉伯语 | 韩语

ICM

Permanent memory for AI agents. Single binary, zero dependencies, MCP native.

______________________________________________________________________

ICM为你的AI代理提供了一个真正的记忆——不是一个笔记工具,也不是一个上下文管理器 记忆.

                       ICM (Infinite Context Memory)
            ┌──────────────────────┬─────────────────────────┐
            │   MEMORIES (Topics)  │   MEMOIRS (Knowledge)   │
            │                      │                         │
            │  Episodic, temporal  │  Permanent, structured  │
            │                      │                         │
            │  ┌───┐ ┌───┐ ┌───┐  │    ┌───┐               │
            │  │ m │ │ m │ │ m │  │    │ C │──depends_on──┐ │
            │  └─┬─┘ └─┬─┘ └─┬─┘  │    └───┘              │ │
            │    │decay │     │    │      │ refines      ┌─▼─┐│
            │    ▼      ▼     ▼    │    ┌─▼─┐            │ C ││
            │  weight decreases    │    │ C │──part_of──>└───┘│
            │  over time unless    │    └───┘                 │
            │  accessed/critical   │  Concepts + Relations    │
            ├──────────────────────┴─────────────────────────┤
            │             SQLite + FTS5 + sqlite-vec          │
            │        Hybrid search: BM25 (30%) + cosine (70%) │
            └─────────────────────────────────────────────────┘

两种内存型号:

  • 回忆 --按重要性进行时间衰减的存储/回忆。批判性记忆永不褪色,低重要性的记忆会自然衰退。按主题或关键字筛选。
  • 回忆录 --永久知识图。通过类型化关系链接的概念(depends_on, contradicts, superseded_by, ...).按标签过滤。
  • 反馈 --当人工智能预测错误时记录更正。在做出新的预测之前,先搜索过去的错误。闭环学习。

安装

# Homebrew (macOS / Linux)
brew tap rtk-ai/tap && brew install icm

# Quick install (macOS / Linux) — verifies SHA256 against the release checksums
curl -fsSL https://raw.githubusercontent.com/rtk-ai/icm/main/install.sh | sh

# Quick install (Windows PowerShell)
irm https://raw.githubusercontent.com/rtk-ai/icm/main/install.ps1 | iex

# From source
cargo install --path crates/icm-cli

重新运行install命令以升级到最新版本。要固定版本,请传递 --version icm-vX.Y.Z (sh: sh -s -- --version …).

设置

# Auto-detect and configure all supported tools
icm init

配置 17工具 在一个命令中(完整集成指南):

工具MCP钩子CLI技能
克劳德代码~/.claude.json5个挂钩CLAUDE.md/recall /remember
克劳德桌面JSON------
Gemini CLI~/.gemini/settings.json5个挂钩GEMINI.md
Codex CLI~/.codex/config.toml4个挂钩AGENTS.md
Copilot命令行界面~/.copilot/mcp-config.json4个挂钩.github/copilot-instructions.md
光标~/.cursor/mcp.json.mdc 规则
WindsurfJSON--.windsurfrules
VS代码~/Library/.../Code/User/mcp.json
AmpJSON----/icm-recall /icm-remember
亚马逊QJSON------
ClineVS代码全局存储------
Roo代码VS代码全局存储----.md 规则
千码VS码全局存储------
Zed~/.zed/settings.json
OpenCodeJSONTS插件----
Continue.dev~/.continue/config.yaml
助手----.aider.conventions.md

或手动:

# Claude Code
claude mcp add icm -- icm serve

# Compact mode (shorter responses, saves tokens)
claude mcp add icm -- icm serve --compact

# Any MCP client: command = "icm", args = ["serve"]

技能/规则

icm init --mode skill

为Claude Code安装斜线命令和规则(/recall, /remember),光标(.mdc 规则),Roo代码(.md 规则)和Amp(/icm-recall, /icm-remember).

CLI说明

icm init --mode cli

将ICM指令注入到每个工具的指令文件中:

工具文件
克劳德代码CLAUDE.md
GitHub副本.github/copilot-instructions.md
风帆冲浪.windsurfrules
OpenAI CodexAGENTS.md
双子座~/.gemini/GEMINI.md

挂钩(5个工具)

icm init --mode hook

为所有支持的工具安装自动提取和自动调用挂钩:

工具会话开始预工具后工具压缩提示调用配置
克劳德代码icm hook starticm hook preicm hook posticm hook compacticm hook prompt~/.claude/settings.json
Gemini CLIicm hook starticm hook preicm hook posticm hook compacticm hook prompt~/.gemini/settings.json
Codex CLIicm hook starticm hook preicm hook posticm hook prompt~/.codex/hooks.json
Copilot命令行界面icm hook starticm hook preicm hook posticm hook prompt.github/hooks/icm.json
OpenCode会话开始--工具提取压缩--~/.config/opencode/plugins/icm.ts

每个钩子的作用:

Hook它做什么
icm hook start在会话开始时注入关键/高记忆唤醒包(约500个令牌)
icm hook pre自动允许 icm CLI命令(无权限提示)
icm hook post每N次调用从工具输出中提取事实(自动提取)
icm hook compact在上下文压缩之前从转录中提取记忆
icm hook prompt在每个用户提示的开头注入调用的上下文

CLI与MCP

ICM可以通过CLI使用(icm 命令)或MCP服务器(icm serve).两者都访问同一个数据库。

CLIMCP
延迟~30ms(直接二进制)~50ms(JSON-RPC标准输入)
代币成本0(基于钩子,不可见)~20-50个令牌/调用(工具模式)
设置icm init --mode hookicm init --mode mcp
适用于Claude Code、Gemini、Codex、Copilot、OpenCode(通过钩子)所有17个MCP兼容工具
自动提取是(钩子触发 icm extract)是(MCP工具调用库)
最适合高级用户,节省代币通用兼容性

仪表盘

icm dashboard    # or: icm tui

交互式TUI有5个标签:概述、主题、记忆、健康、回忆录。键盘导航(vim样式:j/k,g/g,Tab,1-5),实时搜索(/),自动刷新。

需要 tui 功能(默认启用)。构建时不包含: cargo install --path crates/icm-cli --no-default-features --features embeddings.

命令行界面

记忆(偶发性,有衰退)

# Store
icm store -t "my-project" -c "Use PostgreSQL for the main DB" -i high -k "db,postgres"

# Recall
icm recall "database choice"
icm recall "auth setup" --topic "my-project" --limit 10
icm recall "architecture" --keyword "postgres"

# Manage
icm forget 
icm consolidate --topic "my-project"
icm topics
icm stats

# Extract facts from text (rule-based, zero LLM cost)
echo "The parser uses Pratt algorithm" | icm extract -p my-project

回忆录(永久知识图)

# Create a memoir
icm memoir create -n "system-architecture" -d "System design decisions"

# Add concepts with labels
icm memoir add-concept -m "system-architecture" -n "auth-service" \
  -d "Handles JWT tokens and OAuth2 flows" -l "domain:auth,type:service"

# Link concepts
icm memoir link -m "system-architecture" --from "api-gateway" --to "auth-service" -r depends-on

# Search with label filter
icm memoir search -m "system-architecture" "authentication"
icm memoir search -m "system-architecture" "service" --label "domain:auth"

# Inspect neighborhood
icm memoir inspect -m "system-architecture" "auth-service" -D 2

# Export graph (formats: json, dot, ascii, ai)
icm memoir export -m "system-architecture" -f ascii   # Box-drawing with confidence bars
icm memoir export -m "system-architecture" -f dot      # Graphviz DOT (color = confidence level)
icm memoir export -m "system-architecture" -f ai       # Markdown optimized for LLM context
icm memoir export -m "system-architecture" -f json     # Structured JSON with all metadata

# Generate SVG visualization
icm memoir export -m "system-architecture" -f dot | dot -Tsvg > graph.svg

记录(逐字回放)

按原样存储与代理交换的每条消息——无摘要,无提取。 稍后使用FTS5(BM25+布尔值+短语+前缀)进行搜索。可用于会话回放, 事后审查、合规审计、培训数据。与精心策划的回忆相辅相成。

# 1. Start a session
SID=$(icm transcript start-session --agent claude-code --project myapp)

# 2. Record every turn verbatim
icm transcript record -s "$SID" -r user      -c "Pourquoi on avait choisi Postgres ?"
icm transcript record -s "$SID" -r assistant -c "JSONB natif, BRIN pour les logs, auto-vacuum tuné."
icm transcript record -s "$SID" -r tool      -c '{"cmd":"psql -c ..."}' -t Bash --tokens 42

# 3. Replay, search, inspect
icm transcript list-sessions --project myapp
icm transcript show "$SID" --limit 200
icm transcript search "postgres JSONB"                    # BM25 ranked
icm transcript search '"auto-vacuum"'                     # phrase match
icm transcript search "postgres OR mysql" --session "$SID" # boolean, scoped
icm transcript stats

# 4. Delete a session (cascade deletes its messages)
icm transcript forget "$SID"

Rust+SQLite+FTS5——0 Python,0 ChromaDB,0外部服务。写入速度比写入速度快约10倍 基于ChromaDB的逐字存储;整个成绩单与您的SQLite文件位于同一个SQLite文件中 回忆和回忆录。

MCP工具(31)

记忆工具

工具说明
icm_memory_store使用自动去重功能存储(相似度>85%→ 更新而不是复制)
icm_memory_recall按查询搜索,按主题/关键字/项目筛选
icm_memory_update就地编辑记忆(内容、重要性、关键字)
icm_memory_forget按ID删除内存
icm_memory_forget_topic删除给定主题中的所有记忆
icm_memory_consolidate将一个主题的所有记忆合并到一个摘要中
icm_memory_extract_patterns检测主题中重复出现的模式,并将其作为概念呈现出来
icm_memory_list_topics列出所有有计数的主题
icm_memory_stats全局内存统计信息
icm_memory_health按主题进行卫生审核(陈旧性、整合需求)
icm_memory_embed_all矢量搜索的回填嵌入

会话工具

工具说明
icm_wake_up为SessionStart风格的上下文注入构建一个项目范围的唤醒包(关键/高内存+偏好)
icm_learn扫描项目目录,并从其代码/文档中为Memoir知识图添加种子

回忆录工具(知识图表)

工具说明
icm_memoir_create创建新的回忆录(知识容器)
icm_memoir_list列出所有回忆录
icm_memoir_show显示回忆录细节和所有概念
icm_memoir_add_concept添加带有标签的概念
icm_memoir_refine更新概念的定义
icm_memoir_search全文搜索,可选择按标签过滤
icm_memoir_search_all搜索所有回忆录
icm_memoir_link在概念之间创建类型化关系
icm_memoir_inspect检查概念和图邻域(BFS)
icm_memoir_export导出具有置信度的图形(json、dot、ascii、ai)

反馈工具(从错误中学习)

工具说明
icm_feedback_record当AI预测错误时记录更正
icm_feedback_search搜索过去的更正,为未来的预测提供信息
icm_feedback_stats反馈统计:总计数、按主题细分、应用最多

转录工具(逐字会话回放)

工具说明
icm_transcript_start_session创建用于逐字消息捕获的会话;回报 session_id
icm_transcript_record附加原始消息(角色、内容、可选工具+令牌+元数据)
icm_transcript_searchFTS5跨消息搜索(BM25、布尔值、短语、前缀)
icm_transcript_show按时间顺序回放会话的完整消息线程
icm_transcript_stats会话、消息、字节,按角色/代理/顶级会话细分

关系类型

part_of · depends_on · related_to · contradicts · refines · alternative_to · caused_by · instance_of · superseded_by

运作原理

双存储器型号

情景记忆(主题) 捕捉决策、错误和偏好。每个记忆都有一个权重,根据重要性随时间衰减:

重要性腐烂修剪行为
critical从未从未忘记,从未修剪
high慢速(0.5倍速率)从不缓慢褪色,从不自动删除
medium正常标准腐烂,当重量\24小时)。

记忆卫生 内置:

  • 自动除尘:存储与同一主题中现有内存相似度>85%的内容会更新它,而不是创建副本
  • 整合提示:当主题超过7个条目时, icm_memory_store 警告调用者进行合并
  • 健康审计: icm_memory_health 报告每个主题的条目计数、平均权重、过时条目和整合需求
  • 无无声数据丢失:关键和高度重要的记忆永远不会被自动修剪

语义记忆(回忆录) 以图形形式捕获结构化知识。概念是永恒的——它们会被提炼,永远不会腐烂。使用 superseded_by 标记过时的事实,而不是删除它们。

混合搜索

启用嵌入后,ICM使用混合搜索:

  • 英尺5 BM25 (30%)--全文关键字匹配
  • 余弦相似度 (70%)——通过sqlite-vec进行语义向量搜索

默认型号: intfloat/multilingual-e5-base (768d,100多种语言)。可在您的 配置文件:

[embeddings]
# enabled = false                          # Disable entirely (no model download)
model = "intfloat/multilingual-e5-base"    # 768d, multilingual (default)
# model = "intfloat/multilingual-e5-small" # 384d, multilingual (lighter)
# model = "intfloat/multilingual-e5-large" # 1024d, multilingual (best accuracy)
# model = "Xenova/bge-small-en-v1.5"      # 384d, English-only (fastest)
# model = "jinaai/jina-embeddings-v2-base-code"  # 768d, code-optimized

要完全跳过嵌入模型下载,请使用以下任何一种方法:

icm --no-embeddings serve          # CLI flag
ICM_NO_EMBEDDINGS=1 icm serve     # Environment variable

或设置 enabled = false 在您的配置文件中。ICM将退回到FTS5关键字搜索(仍然有效,只是没有语义匹配)。

更改模型会自动重新创建向量索引(现有的嵌入将被清除,可以用以下命令重新生成 icm_memory_embed_all).

存储

单个SQLite文件。没有外部服务,没有网络依赖性。

~/Library/Application Support/dev.icm.icm/memories.db                    # macOS
~/.local/share/dev.icm.icm/memories.db                                   # Linux
C:\Users\\AppData\Local\icm\icm\data\memories.db                   # Windows

配置

icm config                    # Show active config

配置文件位置(特定于平台,或 $ICM_CONFIG):

~/Library/Application Support/dev.icm.icm/config.toml                    # macOS
~/.config/icm/config.toml                                                # Linux
C:\Users\\AppData\Roaming\icm\icm\config\config.toml              # Windows

config/default.toml 对于所有选项。

自动提取

ICM通过三层自动提取内存:

  Layer 0: Pattern hooks              Layer 1: PreCompact           Layer 2: UserPromptSubmit
  (zero LLM cost)                     (zero LLM cost)               (zero LLM cost)
  ┌──────────────────┐                ┌──────────────────┐          ┌──────────────────┐
  │ PostToolUse hook  │                │ PreCompact hook   │          │ UserPromptSubmit  │
  │                   │                │                   │          │                   │
  │ • Bash errors     │                │ Context about to  │          │ User sends prompt │
  │ • git commits     │                │ be compressed →   │          │ → icm recall      │
  │ • config changes  │                │ extract memories  │          │ → inject context  │
  │ • decisions       │                │ from transcript   │          │                   │
  │ • preferences     │                │ before they're    │          │ Agent starts with  │
  │ • learnings       │                │ lost forever      │          │ relevant memories  │
  │ • constraints     │                │                   │          │ already loaded     │
  │                   │                │ Same patterns +   │          │                   │
  │ Rule-based, no LLM│                │ --store-raw fallbk│          │                   │
  └──────────────────┘                └──────────────────┘          └──────────────────┘
图层状态LLM成本钩子命令描述
第0层已实现0icm hook post基于规则的工具输出关键字提取
第1层已实现0icm hook compact在上下文压缩之前从转录中提取
第2层已实现0icm hook prompt在每个用户提示下注入回忆

所有3层均由自动安装 icm init --mode hook.

基准测试

存储性能

ICM Benchmark (1000 memories, 384d embeddings)
──────────────────────────────────────────────────────────
Store (no embeddings)      1000 ops      34.2 ms      34.2 µs/op
Store (with embeddings)    1000 ops      51.6 ms      51.6 µs/op
FTS5 search                 100 ops       4.7 ms      46.6 µs/op
Vector search (KNN)         100 ops      59.0 ms     590.0 µs/op
Hybrid search               100 ops      95.1 ms     951.1 µs/op
Decay (batch)                 1 ops       5.8 ms       5.8 ms/op
──────────────────────────────────────────────────────────

苹果M1 Pro,内存SQLite,单线程。 icm bench --count 1000

代理效率

具有真实Rust项目的多会话工作流(12个文件,约550行)。会话2+显示了最大的收益,因为ICM会召回而不是重新读取文件。

ICM Agent Benchmark (10 sessions, model: haiku, 3 runs averaged)
══════════════════════════════════════════════════════════════════
                            Without ICM         With ICM      Delta
Session 2 (recall)
  Turns                             5.7              4.0       -29%
  Context (input)                 99.9k            67.5k       -32%
  Cost                          $0.0298          $0.0249       -17%

Session 3 (recall)
  Turns                             3.3              2.0       -40%
  Context (input)                 74.7k            41.6k       -44%
  Cost                          $0.0249          $0.0194       -22%
══════════════════════════════════════════════════════════════════

icm bench-agent --sessions 10 --model haiku

知识保留

代理在整个会话中从密集的技术文档中回忆起具体事实。第1节阅读和记忆;第2+节回答10个事实性问题 没有 源文本。

ICM Recall Benchmark (10 questions, model: haiku, 5 runs averaged)
══════════════════════════════════════════════════════════════════════
                                               No ICM     With ICM
──────────────────────────────────────────────────────────────────────
Average score                                      5%          68%
Questions passed                                 0/10         5/10
══════════════════════════════════════════════════════════════════════

icm bench-recall --model haiku

本地LLM(OLAMA)

对本地模型进行相同的测试——纯上下文注入,不需要使用工具。

Model               Params   No ICM   With ICM     Delta
─────────────────────────────────────────────────────────
qwen2.5:14b           14B       4%       97%       +93%
mistral:7b             7B       4%       93%       +89%
llama3.1:8b            8B       4%       93%       +89%
qwen2.5:7b             7B       4%       90%       +86%
phi4:14b              14B       6%       79%       +73%
llama3.2:3b            3B       0%       76%       +76%
gemma2:9b              9B       4%       76%       +72%
qwen2.5:3b             3B       2%       58%       +56%
─────────────────────────────────────────────────────────

scripts/bench-ollama.sh qwen2.5:14b

LongMemEval(ICLR 2025)

标准学术基准——6种记忆能力的500个问题,来自 LongMemEval纸 (ICLR 2025)。

LongMemEval Results — ICM (oracle variant, 500 questions)
════════════════════════════════════════════════════════════════
Category                        Retrieval     Answer (Sonnet)
────────────────────────────────────────────────────────────────
single-session-user                100.0%           91.4%
temporal-reasoning                 100.0%           85.0%
single-session-assistant           100.0%           83.9%
multi-session                      100.0%           81.2%
knowledge-update                   100.0%           80.8%
single-session-preference          100.0%           50.0%
────────────────────────────────────────────────────────────────
OVERALL                            100.0%           82.0%
════════════════════════════════════════════════════════════════
  • 检索 =ICM是否找到了正确的信息? 所有类别100%。
  • 回答 =LLM能否从检索到的上下文中得出正确答案?取决于LLM,而不是ICM。
  • 检索分数是ICM基准。答案分数反映了下游LLM能力。

scripts/bench-longmemeval.py --judge claude --workers 8

测试协议

所有基准测试都使用 真正的API调用 --没有模拟,没有模拟响应,没有缓存答案。

  • 代理基准:在tempdir中创建一个真正的Rust项目。与运行N个会话 claude -p --output-format json.没有ICM:MCP配置为空。使用ICM:真正的MCP服务器+自动提取+上下文注入。
  • 知识保留:使用虚构的技术文档(“子午线协议”)。根据预期事实的关键字匹配对答案进行评分。每次调用超时120秒。
  • 孤立:每次运行都使用自己的tempdir和新鲜的SQLite数据库。没有会话持久性。

多代理统一内存

所有17个工具共享相同的SQLite数据库。Claude存储的内存可立即用于Gemini、Codex、Copilot、Cursor和其他所有工具。

ICM Multi-Agent Efficiency Benchmark (10 seeded facts, 5 CLI agents)
╔══════════════╦═══════╦══════════╦════════╦═══════════╦═══════╗
║ Agent        ║ Facts ║ Accuracy ║ Detail ║ Latency   ║ Score ║
╠══════════════╬═══════╬══════════╬════════╬═══════════╬═══════╣
║ Claude Code  ║ 10/10 ║   100%   ║  5/5   ║    ~15s   ║   99  ║
║ Gemini CLI   ║ 10/10 ║   100%   ║  5/5   ║    ~33s   ║   94  ║
║ Copilot CLI  ║ 10/10 ║   100%   ║  5/5   ║    ~10s   ║  100  ║
║ Cursor Agent ║ 10/10 ║   100%   ║  5/5   ║    ~16s   ║   99  ║
║ Aider        ║ 10/10 ║   100%   ║  5/5   ║     ~5s   ║  100  ║
╠══════════════╬═══════╬══════════╬════════╬═══════════╬═══════╣
║ AVERAGE      ║       ║          ║        ║           ║   98  ║
╚══════════════╩═══════╩══════════╩════════╩═══════════╩═══════╝

得分=60%的回忆准确率+30%的事实细节+10%的速度。 98%的多智能体效率。

为什么选择ICM

能力ICMMem0EngramAgentMemory
工具支持17仅限SDK~6-8~10
一个命令设置icm init手动SDK手动手动
挂钩(启动时自动召回)5个工具通过MCP1个工具
混合搜索(FTS5+向量)30/70加权仅向量仅FTS5FTS5+矢量
多语言嵌入100+语言(768d)视情况而定英语384d
知识图谱回忆录系统没有
时间衰减+巩固访问感知基本基本
TUI仪表板icm dashboard网络查看器
从工具输出中自动提取3层,零LLM没有
反馈/校正回路icm_feedback_*
运行时Rust单二进制PythonGoNode.js
本地优先,零依赖SQLite文件云优先SQLiteSQLite
多智能体召回准确率98%N/AN/A95.2%

文档

文档描述
集成指南所有17个工具的设置:Claude Code、Copilot、Cursor、Windsurf、Zed、Amp等。
技术架构板条箱结构、搜索管道、衰变模型、sqlite-vec集成、测试
用户指南安装、主题组织、整合、提取、故障排除
产品概述用例、基准测试、与替代方案的比较

许可证

阿帕奇-2.0

目录标签

目录标签

AI代理RustClaude记忆存储本地部署知识图谱多工具集成语义搜索

支持客户端

ClaudeCursorWindsurfCline

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

31

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP