Skip to content

Gemini 命令行界面设置

让 Gemini CLI 在各个会话中保留持久内存。

Gemini CLI 每次会话都是从零开始的。Claude-mem 改变了这一点,它通过捕捉观察、决策和模式,然后将相关的上下文注入到每个新会话中。

工作原理: Claude-mem 在 Gemini CLI 中安装生命周期钩子,以捕获工具使用情况、代理响应和会话事件。本地Worker 服务提取语义观察,并在会话开始时注入相关历史记录。

先决条件

  • Gemini CLI 已安装并完成配置
  • Node.js 18+
  • ~/.gemini 目录必须存在(由 Gemini CLI 在首次运行时创建)

安装

步骤 1:安装 claude-mem

bash
npx claude-mem install

安装程序将会:

  1. 自动检测 Gemini CLI(检查 ~/.gemini 目录)
  2. 提示你从 IDE 选择器中选择 Gemini CLI
  3. ~/.gemini/settings.json 中安装 8 个生命周期钩子
  4. 将上下文配置注入到 ~/.gemini/GEMINI.md
  5. 启动 Worker 服务

第2步:配置人工智能提供商

Claude-mem 需要一个 AI 提供商来从你的会话中提取观察结果。请选择一个:

The simplest option — use Gemini's own API for observation extraction:

1. Get a free API key from [Google AI Studio](https://aistudio.google.com/apikey)
2. Add it to your settings:

```bash
mkdir -p ~/.claude-mem
cat > ~/.claude-mem/settings.json << 'EOF'
{
  "CLAUDE_MEM_PROVIDER": "gemini",
  "CLAUDE_MEM_GEMINI_API_KEY": "YOUR_API_KEY"
}
EOF
```


**Free tier:** 1,500 requests/day with `gemini-2.5-flash-lite`. Enable billing on Google Cloud for 4,000 RPM without charges.



If you have a Claude API key:

```bash
mkdir -p ~/.claude-mem
cat > ~/.claude-mem/settings.json << 'EOF'
{
  "CLAUDE_MEM_PROVIDER": "claude"
}
EOF
```

Set your API key via environment variable:
```bash

```


For access to 100+ models:

```bash
mkdir -p ~/.claude-mem
cat > ~/.claude-mem/settings.json << 'EOF'
{
  "CLAUDE_MEM_PROVIDER": "openrouter",
  "CLAUDE_MEM_OPENROUTER_API_KEY": "YOUR_KEY"
}
EOF
```

步骤 3:验证安装

bash
# Check worker is running
npx claude-mem status

# Check hooks are installed — look for claude-mem entries
cat ~/.gemini/settings.json | grep claude-mem

打开 http://localhost:37777 查看内存查看器。

第4步:开始使用 Gemini CLI

正常启动 Gemini CLI。Claude-mem 在后台运行:

bash
gemini

在会话开始时,您将看到 claude-mem 上下文中注入了您最近的观察和项目历史。

捕获了什么

Claude-mem 注册了 Gemini CLI 的 11 个生命周期钩子中的 8 个:

钩子目的
会话开始将记忆上下文注入会话
SessionEnd标记会话完成,触发总结
预压缩压缩前捕获会话摘要
通知记录系统事件(权限等)
BeforeAgent捕获用户提示
AfterAgent记录完整的代理响应
BeforeTool在执行前记录工具调用
AfterTool工具执行后捕获结果

三个模型级别的钩子(BeforeModel、AfterModel、BeforeToolSelection)被故意跳过——它们在每次LLM调用时触发,对于内存捕获来说太嘈杂。

故障排除

钩子未触发

  1. 验证设置中是否存在钩子:

    bash
    cat ~/.gemini/settings.json

    你应该会看到类似 "SessionStart""AfterTool" 等的条目,带有 claude-mem 命令。

  2. 安装后重新启动 Gemini CLI。

  3. 重新运行安装程序:

    bash
    npx claude-mem install

工作进程未运行

bash
# Check status
npx claude-mem status

# View logs
npx claude-mem logs

# Restart worker
npx claude-mem restart

会话开始时没有出现上下文

  1. 确保工作进程正在运行(检查 http://localhost:37777
  2. 您至少需要有一次带有观察记录的先前会话,才能显示上下文
  3. 检查您的 AI 提供商是否已在 ~/.claude-mem/settings.json 中配置

输出中的原始转义码

如果你在会话上下文中看到像 [31m[0m 这样的字符,你的 claude-mem 版本可能需要更新:

bash
npx claude-mem install

这个问题在 v10.6.3 中已修复——Gemini CLI 适配器现在会自动去除 ANSI 颜色代码。

卸载

bash
npx claude-mem uninstall

这会从 ~/.gemini/settings.json 中移除钩子并清理 ~/.gemini/GEMINI.md

下一步