Posts for: #Tools

让每个 AI 助手的对话都进我的记忆系统

我维护着一个叫 context 的个人上下文系统:一份中心 markdown,分发到 Claude Code、Codex CLI、Gemini CLI、OpenClaw 的配置路径里,保证同一个"我"在各个工具之间一致。

这个系统每天自动扫当天的对话,把我说过的偏好、决策、踩坑提炼到 OBSERVATIONS.md。问题是——它只懂 Claude Code 一家的 JSONL 格式。我同时还在用 Codex、Gemini、OpenCode,这些对话历史全都被扔在一边。

每家 AI 助手的对话都存在本地,但格式各家不同。Claude 用 JSONL,Codex 也用 JSONL 但 schema 不一样;Gemini 用整块 JSON;OpenCode 用 SQLite,message 和 part 分两张表;Cline 和 Cursor 藏在 VSCode 扩展的 globalStorage 里;Aider 干脆写在项目目录的 markdown 里。

自己从零逆向这些格式,不是我想干的活。

在 GitHub 上撞见 jhlee0409/claude-code-history-viewer,简称 CCHV。本意是个桌面历史查看器——七家 AI 助手的对话在一个界面里翻。我对桌面 app 本身不感兴趣,但它的 Rust 源码里有一个 providers/ 目录:七个文件,每家一个解析模块。每家的存储路径它替我找好了,每种格式的 schema 它替我逆向完了。

让 AI 把这部分代码翻成 Python,挪进 context 项目。

一个覆盖中文互联网的 AI Agent 人格库

GitHub 上有个项目叫 agency-agents(https://github.com/msitarzewski/agency-agents),184 个 AI agent 人格档案,分二十多个部门:工程、设计、营销、销售、财务、产品、项目管理、测试、支持、空间计算。每个档案是一个 markdown,写清楚这个 agent 的身份、工作流、交付物和成功指标。一行命令可以装到 Claude Code、Copilot、Cursor、Gemini CLI、Aider、Windsurf、Kimi Code 等十来个工具里。

同类项目不少,大多是"程序员的 Claude Code subagent 合集"。agency-agents 的不一样在两点。

一是跨工具。一套档案通过 scripts/convert.sh 生成适配各家工具的格式,不绑死在 Claude Code。这是硬工程活,大多数对手不做。

二是真的把中文互联网生态当作一级公民来写。小红书、公众号、抖音、知乎、B站、百度、微博、快手、私域(企微)、直播电商、淘系拼多多、跨境电商,还有小程序开发、飞书开发——每个平台一个专属档案。英文圈的 agent 仓库基本不碰这块。

让 AI 抽读了一遍中文生态的 13 个档案,质量良莠不齐。对这个项目的态度也简单:别整包用,挑着用。

把 CLI 订阅变成 API

CLIProxyAPI 是一个 Go 写的本地代理服务器。它把 Gemini CLI、OpenAI Codex、Claude Code 这些需要 OAuth 登录的 CLI 工具,包装成 OpenAI / Gemini / Claude / Codex 兼容的 API 端点。

装上之后,Raycast、IDE 插件、自己写的脚本都能当成标准 API 来调用,不必再走官方 CLI。支持流式和非流式响应、函数调用、多模态输入、多账号轮询负载均衡,也能把 OpenRouter 这类上游 OpenAI 兼容服务接进来。配套有 Go SDK 和管理 API。

这类工具踩在各家 TOS 的灰线上。OpenAI 和 Anthropic 都明确禁止把订阅席位用作 API 式访问或转售,多账号池化、高频率轮询、不像真人的行为画像都是风控识别的信号。最近 Claude Code 订阅号被封得比较多,原因是拿订阅额度对外跑 API 流量。Gemini 相对宽松,AI Studio Build 大规模轮询也在收紧。自用一两个号本地接客户端风险不大,池化多号对外服务就是另一回事。

项目的赞助商里挂了六七家 API 中转服务商,都是做 Claude Code / Codex / Gemini 官方渠道代理的。

用 Claude Code History Viewer 翻自己的 AI 对话记录

同事问我平时怎么和 AI 沟通的,想看我的会话。于是推荐我用这个小工具——Claude Code History Viewer,把 Claude Code 本地 ~/.claude/projects/ 里的 JSONL 会话记录翻出来看。

截图

左边项目和会话列表,右边完整对话,Thoughts、工具调用、Token 消耗都展开。支持全文搜索,100% 本地运行。

macOS 一行装:

brew install --cask jhlee0409/tap/claude-code-history-viewer

Windows 和 Linux 去 Releases 下载。打开自动扫描,不用配置。

GBrain 双机部署实录

一台常开的台式 / 常驻机负责跑重活,一台笔记本带在身边随写随记。两台机器共用一个 GBrain,写在哪台都能在另一台搜到。

下面是我把这套装起来的实际过程,包括踩到的坑。环境是两台 Mac:M2(常开)和 M4(日常,有开有关),GitHub 账号 wulujia,笔记放 Dropbox。

架构

三层,分工明确。

Brain 仓库 = markdown 文件,源头。放 ~/Dropbox/brain/,Dropbox 负责实时同步文件,GitHub private repo 负责版本备份。

gbrain 工具 = 读 markdown、灌进索引的 CLI。每台机器独立从 GitHub clone 到非 Dropbox 路径,各自 bun link。不要让 Dropbox 同步工具源码,node_modules 跨机会掐架。

索引 = PGLite(嵌入式 Postgres),默认引擎,放 ~/.gbrain/。每台机器一份独立本地索引。markdown 是真相,索引坏了重建。

M4(日常机)从零装起

1. 装 gbrain 工具

git clone https://github.com/garrytan/gbrain.git
cd gbrain && bun install && bun link

2. OPENAI_API_KEY

到 platform.openai.com 建个 project key,丢 zshrc:

echo 'export OPENAI_API_KEY="sk-proj-..."' >> ~/.zshrc
source ~/.zshrc

注意变量名全大写 OPENAI_API_KEY。一个字母错了 OpenAI SDK 读不到,跑出来一堆 401。

[阅读全文]