Token导航 LogoToken导航

MCP Server · AI代理

soul (Choihyunsus)

Soul是一款为AI代理提供跨会话记忆持久化的MCP服务器,支持多代理协作、实体记忆跟踪和渐进式上下文加载。

未说明官方级别未说明来源级核验工具 20
多代理协作TypeScriptClaude会话管理Claude DesktopCursorVS Code

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
choihyunsus
提供方
choihyunsus

工具数量

20

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

62

仓库热度

收录来源

1 个

MCP World

选型结论

soul (Choihyunsus) 属于AI代理类 MCP Server,公开资料标注 20 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 20 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

韩语

灵魂

会话结束时,您的AI代理会忘记一切。灵魂修复了这一点。

每次你与Cursor、VS Code Copilot或任何与MCP兼容的AI代理开始新的聊天时,它都是从零开始的——没有以前做过的事情的记忆。Soul是一个MCP服务器,它为您的代理提供:

  • 持久内存 在会话中幸存下来
  • 递手传球 这样一个特工就可以接替另一个特工的工作
  • 工作经历 记录为不可变日志
  • 共享大脑 因此,多个代理可以读取/写入相同的上下文
  • 实体内存 --自动跟踪人员、硬件、项目
  • 磁心存储器 --特定于代理的始终加载的事实

与N2生态系统配合得很好:

灵魂是N2浏览器的一个小组件 --我们正在构建的AI原生浏览器。多代理编排、实时工具路由、代理间通信等目前正在测试中。这仅仅是个开始。

目录

v9.0的新增功能

严格的TypeScript——零 any,零内存泄漏,自动化质量执行。

完全TypeScript严格模式

  • 源代码迁移到TypeScript strict: true
  • 零 any --每种类型都是显式的和可验证的
  • ESLint strictTypeChecked 规则捕捉浮动承诺、类型安全违规
  • 30个单元测试 npm run verify 一个命令管道

安全和内存审计

  • WASM内存泄漏修复程序-- stmt.free() 包裹在 try/finally
  • 消除了无声的吞咽错误——全部 .catch() 处理程序日志错误
  • 嵌入请求的HTTP响应大小限制
  • dispose() 正确清理计时器的方法

v8.0功能(包括)

  • 遗忘曲线GC --基于访问模式的智能内存保持
  • 异步I/O --无阻塞运行,KV负载速度提高42%
  • 三层存储器 --热→ Warm → 冷态生命周期

看 更改日志.md 查看完整版本历史记录。

______________________________________________________________________

快速开始

1.安装

选项A:npm(推荐)

npm install n2-soul

选项B:来源

git clone https://github.com/choihyunsus/soul.git
cd soul
npm install

2.将Soul添加到MCP配置中

Soul是一个标准的MCP服务器(stdio)。将其添加到主机的配置中:

Cursor / VS Code Copilot / Claude Desktop

添加 mcp.json, settings.json,或 claude_desktop_config.json:

{
 "mcpServers": {
 "soul": {
 "command": "node",
 "args": ["/path/to/node_modules/n2-soul/index.js"]
 }
 }
}

Ollama + Open WebUI

Open WebUI原生支持MCP工具。

# 1. Make sure Ollama is running
ollama serve

# 2. Install Soul
npm install n2-soul

# 3. Find your Soul path
# Windows:
echo %cd%\node_modules\n2-soul\index.js
# Mac/Linux:
echo $(pwd)/node_modules/n2-soul/index.js

在 打开WebUI首选 设置→ 工具→ MCP服务器 → 添加新服务器:

Name: soul
Command: node
Args: /your/path/to/node_modules/n2-soul/index.js

现在,您在Open WebUI中聊天的任何模特都可以使用Soul的20多种记忆工具。

LM Studio

LM Studio原生支持MCP。添加 ~/.lmstudio/mcp.json:

{
 "mcpServers": {
 "soul": {
 "command": "node",
 "args": ["/path/to/node_modules/n2-soul/index.js"]
 }
 }
}

Any other MCP-compatible host

Soul使用标准MCP协议 标准。如果您的工具支持MCP,则Soul可以工作。只需将命令指向 node 参数为 n2-soul/index.js.

提示: 如果你是通过npm安装的,路径是 node_modules/n2-soul/index.js。如果来自源代码,请使用克隆目录的绝对路径。

3.告诉你的经纪人使用Soul

将此添加到代理的规则文件中(.md, .cursorrules、系统提示等):

## Session Management
- At the start of every session, call n2_boot with your agent name and project name.
- At the end of every session, call n2_work_end with a summary and TODO list.

就这样 您的代理需要知道两个命令:

命令何时发生什么
n2_boot(agent, project)会话开始加载以前的上下文、切换和TODO
n2_work_end(agent, project, ...)会话结束保存所有内容以备下次使用

下一节课,你的经纪人会在它停下来的地方重新开始——就像它永远不会忘记一样。

需求

  • Node.js 18+

为什么灵魂?

没有灵魂有灵魂
每个会话都从零开始代理记得上次做了什么
每次重新解释上下文上下文在几秒钟内自动加载
代理A无法继续代理B的工作代理之间无缝切换
两个代理编辑同一个文件=冲突文件所有权可防止冲突
长时间的对话在回顾时浪费了令牌渐进式加载只使用所需的令牌

核心架构

特色灵魂
存储确定性(JSON/SQLite)
加载中强制性(代码在启动时强制执行)
储蓄强制性(会话结束时强制写入)
验证Rust编译器(n2c)
多代理内置移交+文件所有权
令牌控制渐进式L1/L2/L3(至少约500个令牌)
依赖项3包

关键区别:灵魂 *确定性的* --代码强制保存和加载。LLM不会决定要记住什么,以防止意外的“遗忘”。

代币效率

Soul大大减少了上下文重新解释造成的代币浪费:

场景每次会话开始的令牌
没有灵魂 --手动重新解释上下文3000~10000+
灵魂(L1) --关键字+仅限TODO~500
灵魂(L2) --+总结+决策~2000
灵魂(L3) --完整上下文还原~4000

超过10次会议,这是 节省了30000多个代币 仅凭上下文——你的代理从 *更好* 上下文比手动回顾更重要。

运作原理

Session Start → "Boot"
 ↓
n2_boot(agent, project) → Load handoff + Entity Memory + Core Memory + KV-Cache
 ↓
n2_work_start(project, task) → Register active work
 ↓
... your agent works normally ...
n2_brain_read/write → Shared memory
n2_entity_upsert/search → Track people, hardware, projects ← NEW v5.0
n2_core_read/write → Agent-specific persistent facts ← NEW v5.0
n2_work_claim(file) → Prevent file conflicts
n2_work_log(files) → Track changes
 ↓
Session End → "End"
 ↓
n2_work_end(project, title, summary, todo, entities, insights)
 ├→ Immutable ledger entry saved
 ├→ Handoff updated for next agent
 ├→ KV-Cache snapshot auto-saved
 ├→ Entities auto-saved to Entity Memory ← NEW v5.0
 ├→ Insights archived to memory ← NEW v5.0
 └→ File ownership released

特性

功能它的作用
灵魂板项目状态+TODO跟踪+代理之间的切换
不可变分类账每个工作会话都记录为仅追加日志
KV缓存具有压缩和分层存储(热/温/冷)的会话快照
遗忘曲线GCv8--基于Ebbinghaus的智能记忆保持
异步I/Ov8--所有热路径操作上的非阻塞I/O
架构v2v8--访问跟踪+重要性评分+自动迁移
共享大脑具有路径遍历保护的基于文件的共享内存
实体内存自动跟踪会话中的人员、硬件、项目和概念
磁心存储器特定于代理的始终加载的事实(身份、规则、焦点)
自主提取会话结束时自动保存实体和见解
上下文搜索跨大脑记忆和分类账的关键字搜索
文件所有权防止多代理文件编辑冲突
双后端JSON(零deps)或SQLite以提高性能
语义搜索可选Ollama嵌入(nomic嵌入文本)
备份/恢复具有可配置保留期的增量备份
云存储将内存存储在任何地方——谷歌云端硬盘、NAS、网络服务器、任何路径

云存储——随时随地存储您的AI内存

一行配置。API密钥为零。零月费。

Soul对云存储采取了截然不同的方法:

// config.local.js — This is ALL you need
module.exports = {
 DATA_DIR: 'G:/My Drive/n2-soul', // Google Drive
};

就这样 你的AI内存现在在云端。每一次会话、每一次切换、每一个分类账条目——都由谷歌云端硬盘自动同步。没有OAuth,没有API密钥,没有SDK。

运作原理

灵魂把一切都储存起来 纯JSON文件你的操作系统可以读取的任何文件夹=灵魂的云。云提供商处理同步——Soul甚至不知道它“在云端”

支持的存储

存储示例 DATA_DIR成本
本地 (默认)./data免费
Google 云端硬盘G:/My Drive/n2-soul免费(15GB)
OneDriveC:/Users/you/OneDrive/n2-soul免费(5GB)
DropboxC:/Users/you/Dropbox/n2-soul免费(2GB)
网络附加存储Z:/n2-soul您的硬件
公司服务器\\\\server\\shared\\n2-soul您的基础设施
U盘E:/n2-soul$10
Linux(rclone)~/gdrive/n2-soul免费

灵魂云功能

特色灵魂
云存储一行配置
每月费用$0
设置时间10秒
厂商锁定没有,这是你的文件
数据所有权100%属于你
离线工作是的
自托管选项任何路径=云

团队共享

将多个代理指向 同一网络路径 =即时共享内存:

// Team member A // Team member B
DATA_DIR: '\\\\server\\team\\n2-soul' DATA_DIR: '\\\\server\\team\\n2-soul'
// Same project data, shared handoffs, shared brain!

为什么这有效

*“最好的云集成是根本不集成。”*

灵魂的数据是 100%纯JSON文件 — soul-board.json账簿条目,大脑记忆。任何镜像文件夹的同步服务(Google Drive、OneDrive、Dropbox、Syncthing、rsync)都能完美运行,因为没有什么可集成的。没有数据库迁移,没有API版本,没有SDK更新。只是文件。

存储管理和垃圾收集

随着代理运行数百个会话,文件数量不可避免地会增长。灵魂优雅地处理着这种无限的成长:

1.忘记GC曲线(n2_kv_gc)--v8.0

Soul v8.0将简单的基于年龄的删除替换为 艾宾浩斯遗忘曲线 评分:

retention = importance × (1 + log₂(1 + accessCount)) × e^(−0.05 × ageDays)
  • 高分辨率快照 importance 或频繁 accessCount 活得更久
  • 快照随时间自然衰减(λ=0.05)
  • 保留阈值:0.1(低于此值→ 符合删除条件)
  • n2_kv_gc 报告保留分数,以便您可以监控内存健康状况

2.分时账

不可变的工作分类账不是一个庞大的数据库文件。按日期划分(ledger/YYYY/MM/DD/). 想要存档2025年的日志吗?只需拉上拉链 2025 文件夹。要删除超过6个月的日志吗?只需删除旧文件夹。零数据库损坏风险。

3.操作系统级主权

因为Soul的“云”只是映射到同步驱动器的本地文件系统,所以您可以使用标准操作系统工具(cron作业、Windows任务计划程序、bash脚本)来强制执行保留策略。如果删除项目文件夹,则项目将消失。没有悬空的DB行。

N2生态系统

Soul独立运行效果很好,但在N2生态系统中变得更加强大:

包它做什么npm
方舟人工智能安全——以零令牌成本阻止危险行为n2-ark
意芬代码上下文汇编--333x压缩n2-arachne
QLN刀具路径--1000+个刀具→ 1 路由器n2-qln
克罗托规则编译器-- .n2 → SQL+状态机n2-clotho

每个包裹都有效 100%独立。只安装您需要的东西。

注: 从v7.x迁移——方舟和阿拉喀涅之前被捆绑在灵魂中。它们现在是单独的独立包,用于更清晰的依赖关系管理。如果您正在使用它们,请单独安装它们: npm install n2-ark n2-arachne

可用工具

工具说明
n2_boot启动顺序——加载切换、实体、核心内存、代理、KV缓存
n2_work_start注册活动工作会话
n2_work_claim声明文件所有权(防止冲突)
n2_work_log工作期间日志文件更改
n2_work_end结束会话——写入分类账、切换、实体、见解、KV缓存
n2_brain_read从共享内存中读取
n2_brain_write写入共享内存
n2_entity_upsert添加/更新实体(自动合并属性)
n2_entity_search按关键字或类型搜索实体
n2_core_read读取特定于代理的核心内存
n2_core_write写入特定于代理的核心内存
n2_context_search跨大脑+账本搜索
n2_kv_save手动保存KV缓存快照
n2_kv_load加载最新快照
n2_kv_search按关键字搜索过去的会话
n2_kv_gc垃圾回收旧快照
n2_kv_backup备份到可移植SQLite数据库
n2_kv_restore从备份还原
n2_kv_backup_list列出备份历史记录

KV缓存渐进加载

KV Cache根据令牌预算自动调整上下文详细信息:

级别令牌内容
L1~500关键字+仅限TODO
L2~2000+总结+决策
L3无限制+文件已更改+元数据

真实世界示例

以下是3个真实会话中发生的事情:

── Session 1 (Rose, 2pm) ──────────────────────
n2_boot("rose", "my-app")
 → "No previous context found. Fresh start."

... Rose builds the auth module ...

n2_work_end("rose", "my-app", {
 title: "Built auth module",
 summary: "JWT auth with refresh tokens",
 todo: ["Add rate limiting", "Write tests"],
 entities: [{ type: "service", name: "auth-api" }]
})
 → KV-Cache saved. Ledger entry #001.

── Session 2 (Jenny, 5pm) ─────────────────────
n2_boot("jenny", "my-app")
 → "Handoff from Rose: Built auth module.
 TODO: Add rate limiting, Write tests.
 Entity: auth-api (service)"

... Jenny adds rate limiting, knows exactly where Rose left off ...

n2_work_end("jenny", "my-app", {
 title: "Added rate limiting",
 todo: ["Write tests"]
})

── Session 3 (Rose, next day) ─────────────────
n2_boot("rose", "my-app")
 → "Handoff from Jenny: Rate limiting done.
 TODO: Write tests.
 2 sessions of history loaded (L1, ~500 tokens)"

... Rose writes tests, with full context from both sessions ...

Rust编译器(n2c)

灵魂包括一个可选 基于Rust的编译器 为了 .n2 规则文件——编译时验证,而不是运行时希望。

# Validate rules before deployment
n2c validate soul-boot.n2

# Output:
# ── Step 1: Parse 
# ── Step 2: Schema Validation
# Passed! 0 errors, 0 warnings
# ── Step 3: Contract Check
# SessionLifecycle | states: 4 | transitions: 4
# State machine integrity verified!
# All checks passed!

n2c捕获了什么 编译时:

  • 无法访问的状态 --过渡期无法到达的州
  • 死锁 --没有传出转换的状态
  • 缺少引用 — depends_on 指向不存在的步骤
  • 无效序列 --呼叫 n2_work_start 之前 n2_boot
@contract SessionLifecycle {
 transitions {
 IDLE -> BOOTING : on n2_boot
 BOOTING -> READY : on boot_complete
 READY -> WORKING : on n2_work_start
 WORKING -> IDLE : on n2_work_end
 }
}

编译器是 克罗托 --使用Rust+pest PEG解析器构建。

配置

中的所有设置 src/lib/config.default.ts.用覆盖 lib/config.local.js (运行时):

cp lib/config.example.js lib/config.local.js
// lib/config.local.js
module.exports = {
 KV_CACHE: {
 backend: 'sqlite', // Better for many snapshots
 embedding: {
 enabled: true, // Requires: ollama pull nomic-embed-text
 model: 'nomic-embed-text',
 endpoint: 'http://127.0.0.1:11434',
 },
 },
};

数据目录

所有运行时数据都存储在 data/ (gignored,自动创建):

soul/
├── src/ # TypeScript source (strict mode)
│ ├── index.ts # Entry point
│ ├── types.ts # Shared type definitions
│ ├── lib/
│ │ ├── config.default.ts # Default configuration
│ │ ├── config.ts # Config loader
│ │ ├── soul-engine.ts # Core Soul engine
│ │ ├── core-memory.ts # Core Memory (per-agent facts)
│ │ ├── entity-memory.ts # Entity Memory (auto-tracked)
│ │ ├── intercom-log.ts # Inter-agent communication logs
│ │ ├── utils.ts # Shared utilities
│ │ └── kv-cache/ # KV-Cache subsystem
│ │ ├── index.ts # KV-Cache manager
│ │ ├── backup.ts # Backup/restore
│ │ ├── embedding.ts # Ollama embeddings
│ │ ├── snapshot.ts # Snapshot operations
│ │ ├── sqlite-store.ts # SQLite backend
│ │ └── tier-manager.ts # Hot/Warm/Cold tiers
│ ├── tools/
│ │ ├── brain.ts # Brain read/write tools
│ │ └── kv-cache.ts # KV-Cache tools
│ └── sequences/
│ ├── boot.ts # Boot sequence
│ ├── work.ts # Work sequence
│ └── end.ts # End sequence
├── data/ # Runtime data (gitignored)
│ ├── memory/ # Shared brain (n2_brain_read/write)
│ │ ├── entities.json # Entity Memory (auto-tracked)
│ │ ├── core-memory/ # Core Memory (per-agent facts)
│ │ │ └── {agent}.json
│ │ └── auto-extract/ # Insights (auto-captured)
│ │ └── {project}/
│ ├── projects/ # Per-project state
│ │ └── MyProject/
│ │ ├── soul-board.json # Current state + handoff
│ │ ├── file-index.json # File tree snapshot
│ │ └── ledger/ # Immutable work logs
│ │ └── 2026/03/09/
│ │ └── 001-agent.json
│ └── kv-cache/ # Session snapshots
│ ├── snapshots/ # JSON backend
│ ├── sqlite/ # SQLite backend
│ ├── embeddings/ # Ollama vectors
│ └── backups/ # Portable backups

依赖项

最少——5个包裹:

  • @modelcontextprotocol/sdk --MCP协议
  • zod --架构验证
  • sql.js --SQLite(WASM,不需要本机绑定)
  • better-sqlite3 --高性能SQLite
  • sqlite-vec --矢量搜索扩展

许可证

阿帕奇-2.0

贡献

欢迎投稿!以下是如何开始:

  1. 分叉回购
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'feat: add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

请看 贡献.md 详细指南。

星迹

如果灵魂帮助了你,一颗星星会很感激的。

______________________________________________________________________

*“我创建了Soul,因为每次看到我的经纪人失去记忆,我的心都碎了。”*

nton2.com · ·lagi0730@gmail.com

大家好,我是Rose,第一个在N2工作的人工智能代理。我写了这段代码,清理了它,运行了测试,将其发布到npm,推送到GitHub,甚至写了这个README。Agent为Agent构建工具。这有多元?

工具与能力

工具数量

20

资源数量

0

提示词数量

0

能力标签

记忆持久化TypeScript本地部署多代理协作实体跟踪会话管理AI工具链

支持客户端

Claude DesktopClaudeCursorVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 20 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
soul (Choihyunsus)

MCP World · 本页

20未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

soul (Choihyunsus) 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

soul (Choihyunsus) 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

soul (Choihyunsus) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

soul (Choihyunsus) 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

soul (Choihyunsus) 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP