内容
# 库里昂
[](https://www.npmjs.com/package/@geanatz/curion)

[](./LICENSE)
> 为AI智能体提供项目本地内存层,以模型上下文协议(MCP)stdio服务器的形式暴露。
---
## 为什么选择库里昂
库里昂为您的AI智能体提供了一个**持续的项目内存**。
在不同会话中,它可以记住设计决策、架构选择、团队约定以及您选择存储的任何其他内容,并在您需要时回忆起相关内容。
它作为一个本地的**MCP stdio服务器**运行,任何兼容的客户端都可以启动。
每个项目都有自己的私有存储在`.curion/`目录中;记忆永远不会发送到共享的后端。
公共MCP API(两个工具、它们严格的输入模式和公共`text` / `structuredContent`表面)是稳定且冻结的。
---
## 安装
需要 **Node.js `>= 22`** (与`package.json`中的`engines.node`字段匹配)。
```sh
# 推荐:全局安装,以便`curion`二进制文件在您的PATH上。
npm install -g @geanatz/curion
```
该软件包安装了一个`curion` CLI二进制文件,它是MCP stdio服务器的入口点。
当MCP客户端启动它时,`curion`通过stdin/stdout使用JSON-RPC,并将所有日志写入stderr。
它**不是**交互式CLI - 始终通过管理stdio传输的MCP客户端启动它。
---
## 快速入门(Claude Code)
Claude Code是推荐的MCP客户端。
使用`--scope project`注册Curion会将配置保存在仓库中(通过`.mcp.json`),
这样每个贡献者都可以获得相同的服务器设置,而无需触摸他们的全局MCP配置。
```sh
claude mcp add --scope project --transport stdio curion -- curion
```
然后在启动Claude Code之前,在您的shell环境中配置提供程序(Curion不加载`.env`文件):
```sh
# OpenAI兼容(默认)
export CURION_PRIMARY_API_KEY=sk-...
export CURION_PRIMARY_BASE_URL=https://api.openai.com/v1
export CURION_PRIMARY_MODEL=your-model-id
# Anthropic
export CURION_PRIMARY_API_FORMAT=anthropic
export CURION_PRIMARY_API_KEY=sk-ant-...
export CURION_PRIMARY_MODEL=your-model-id
```
有关完整的客户端连接(项目范围的`.mcp.json`带有`env`块、团队共享配置提示等),
请参阅 [MCP客户端设置](docs/mcp-clients.md#claude-code-recommended)。
---
## 其他MCP客户端
库里昂与任何可以启动stdio服务器的MCP客户端配合使用。完整的配置代码段和注意事项:
- **[OpenAI Codex CLI](docs/mcp-clients.md#openai-codex-cli)** — `config.toml` 或 `codex mcp add`。
- **[OpenCode](docs/mcp-clients.md#opencode)** — `opencode.json`。
- **[Claude Desktop](docs/mcp-clients.md#claude-desktop-generic--secondary)** — 通用stdio客户端。
- **[Pi Coding Agent](docs/mcp-clients.md#pi-coding-agent-no-native-mcp-support)** — Pi没有原生MCP支持;请改用Claude Code、Codex CLI或OpenCode。
- **[任何其他stdio MCP客户端](docs/mcp-clients.md#other-mcp-clients-generic-stdio)** — 使用提供者环境变量在环境中启动`curion`。
---
## 主要功能
- **两个工具,一个界面。** `remember(text)` 存储一个项目内存片段;`recall(text)` 检索相关片段。每个工具都带有一个单独的 `text` 参数 - 公共API上没有种类、状态、筛选器或旋钮。
- **原始输入永远不会持久化。** 只有控制器标准化的摘要和元数据(种类、置信度、安全标志、时间戳)存储在本地SQLite存储中。
- **默认情况下,项目本地存储。** 内存存储在项目中的 `.curion/` 目录中。内存永远不会发送到共享的后端。
- **可插拔的提供程序。** OpenAI兼容(默认)或Anthropic。添加备用提供程序,或启用选择性语义检索。
- **稳定、冻结的公共API。** 两个工具、它们严格的输入模式和公共 `text` / `structuredContent` 表面是稳定且冻结的。
有关状态、输出形状和 `clarification_needed` 合同的详细信息,请参阅完整的 [API参考](docs/reference.md)。
---
## 隐私和存储
每个项目都有自己的 `.curion/` 目录。内存存储在本地,**永远不会** 发送到共享的后端。
```
<projectRoot>/.curion/
curion.sqlite # SQLite 数据库(gitignored)
```
当启用语义检索时,库里昂可能会在本地项目旁边对外部 **非私有** 项目进行语义搜索。**私有项目永远不会被显示。** 通过 `.curion/config.json` 将项目标记为私有:
```json
{ "version": 1, "isPrivate": true }
```
有关详细信息,请参阅 [隐私和存储](docs/privacy-storage.md)。
---
## 配置要点
库里昂完全通过父进程传递的环境变量进行配置。
它**不**加载`.env`文件。
最低限度是一个主要提供者(`CURION_PRIMARY_API_KEY`、`CURION_PRIMARY_BASE_URL`、`CURION_PRIMARY_MODEL`,可选`CURION_PRIMARY_API_FORMAT`)。
可选的旋钮包括备用提供者、语义检索(`CURION_SEMANTIC_ENABLED`)和日志级别(`CURION_LOG_LEVEL`)。
有关完整的变量列表和示例,请参阅 [配置](docs/configuration.md)。
---
## 文档
- **[MCP客户端设置](docs/mcp-clients.md)** — Claude Code、Codex CLI、OpenCode、Claude Desktop、Pi注意事项、通用stdio。
- **[配置](docs/configuration.md)** — 主要/备用提供者环境变量、语义检索、日志记录。
- **[API参考](docs/reference.md)** — `remember` / `recall` 工具、输出形状、状态、`clarification_needed`。
- **[隐私和存储](docs/privacy-storage.md)** — 本地存储布局、跨项目语义搜索、私有项目。
---
## 贡献
欢迎贡献。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解工作流程、开发设置和测试期望。
请同时阅读 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 和 [SECURITY.md](SECURITY.md)。
---
## 许可证
[Apache License 2.0](LICENSE)。