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安装程序将会:
- 自动检测 Gemini CLI(检查
~/.gemini目录) - 提示你从 IDE 选择器中选择 Gemini CLI
- 在
~/.gemini/settings.json中安装 8 个生命周期钩子 - 将上下文配置注入到
~/.gemini/GEMINI.md - 启动 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调用时触发,对于内存捕获来说太嘈杂。
故障排除
钩子未触发
验证设置中是否存在钩子:
bashcat ~/.gemini/settings.json你应该会看到类似
"SessionStart"、"AfterTool"等的条目,带有 claude-mem 命令。安装后重新启动 Gemini CLI。
重新运行安装程序:
bashnpx claude-mem install
工作进程未运行
bash
# Check status
npx claude-mem status
# View logs
npx claude-mem logs
# Restart worker
npx claude-mem restart会话开始时没有出现上下文
- 确保工作进程正在运行(检查 http://localhost:37777)
- 您至少需要有一次带有观察记录的先前会话,才能显示上下文
- 检查您的 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。