Agentlytics:本地化AI编程助手分析工具,统一管理多编辑器会话与成本
1. 项目概述:为什么我们需要一个统一的AI编程助手分析工具?
如果你和我一样,每天在Cursor、Windsurf、Claude Code、VS Code Copilot这些AI编程助手之间反复横跳,那你一定也深有同感:我们的对话历史、代码片段、甚至那些灵光一现的解决方案,全都散落在各个编辑器的角落里。上周用Cursor调试的那个棘手的API错误,今天在Claude Code里想参考一下,却怎么也找不到了。更别提你根本不知道自己这个月在AI tokens上花了多少钱,哪个编辑器用起来效率最高,或者团队里其他人最近在用什么模型解决类似问题。
这就是我遇到的核心痛点。作为一个深度依赖AI辅助编程的全栈开发者,我的工作流被这些强大的工具割裂了。每个编辑器都是一个信息孤岛,没有全局视角。于是,我动手构建了 Agentlytics ——一个100%本地运行的分析仪表盘,它能把你在16个不同AI编程编辑器里的所有会话、成本、模型使用情况统一起来,给你一个完整的视图。
简单来说,你只需要在终端里敲一行命令 npx agentlytics ,它就会自动扫描你本地所有支持的编辑器,把零散的对话历史聚合起来,然后在 http://localhost:4637 启动一个功能丰富的仪表盘。整个过程,你的数据从未离开过你的机器。这不仅仅是另一个监控工具,它更像是一个为你个人或小团队量身定做的“AI编程记忆中枢”,让你能从数据中真正洞察自己的工作模式。
1.1 核心需求与设计哲学
在动手之前,我仔细梳理了几个必须解决的核心需求,这也构成了Agentlytics的设计基石:
- 数据主权与隐私绝对优先 :所有分析必须100%在本地完成。AI对话可能包含敏感的代码、业务逻辑甚至未公开的API密钥,任何云端传输都是不可接受的。因此,整个架构围绕本地SQLite数据库构建,扫描、分析、展示全链路都在你的电脑上闭环。
- 开箱即用,零配置 :工具不应该成为负担。用户不应该为了使用它而去手动配置编辑器路径、导出日志文件或者学习复杂的ETL流程。Agentlytics必须能自动发现并解析主流编辑器的本地存储格式,做到一键启动,即时洞察。
- 提供真正的分析价值,而非简单罗列 :仅仅把聊天记录堆在一起没有意义。我需要它能回答一些实质性问题:我每天/每周的AI使用高峰是什么时候?我在“重构”任务上比“调试”任务消耗了更多tokens吗?Claude 3.5 Sonnet和GPT-4 Turbo哪个在我当前的项目里性价比更高?团队里谁最擅长用AI解决前端问题?
- 支持协作与上下文共享 :个人效率很重要,但团队智慧更强大。能否安全地在团队内部共享特定的AI会话上下文,让新同事也能快速了解某个复杂模块的历史决策过程?这催生了“Relay”功能的设计。
- 兼顾轻量与深度 :用户可能有不同场景。有时只想快速看一眼概览(“我这个月用了多少次AI?”),有时则需要深度钻取(“找出所有使用了‘pgvector’扩展的会话”)。因此,项目同时提供了轻量级的Deno CLI扫描模式和功能完整的Node.js仪表盘模式。
基于这些原则,Agentlytics没有选择做一个重量级的桌面应用,而是采用了“CLI + 本地Web服务器 + React前端”的轻量级组合。这种架构让你可以通过任何包管理器快速安装运行,也便于未来的功能迭代和社区贡献。
2. 核心架构与工作原理拆解
Agentlytics的架构清晰地区分了数据采集、处理与展示三层,并且为不同的使用场景提供了两种运行时选择。理解这个架构,有助于你明白它的能力边界以及如何进行扩展。
2.1 核心数据处理流水线
整个系统的核心是一个标准化的ETL(提取、转换、加载)流程,但完全在本地运行。
[数据源] -> [提取器] -> [标准化模型] -> [SQLite缓存] -> [REST API] -> [React前端]
1. 数据源与提取器 这是最复杂的一环。每个编辑器(如Cursor、VS Code)都有自己独特的存储聊天记录的方式和位置。Agentlytics为每个支持的编辑器实现了一个独立的“提取器”模块(位于 editors/*.js )。这些模块的职责是:
- 自动定位数据文件 :根据操作系统(目前主要针对macOS),找到编辑器存储会话的目录。例如,Cursor的数据通常位于
~/Library/Application Support/Cursor/User/globalStorage下的特定子目录中。 - 解析原始格式 :编辑器的存储格式五花八门,可能是JSONL(每行一个JSON)、SQLite数据库、甚至是二进制文件。提取器需要理解这些格式,从中抽取出“会话”、“消息”、“模型”、“工具调用”、“token计数”等核心字段。
- 处理增量更新 :为了提高性能,Agentlytics实现了缓存机制。提取器会检查文件的修改时间,只读取和处理自上次扫描后发生变化的数据。
实操心得:编辑器适配的挑战 适配一个新编辑器,最大的困难往往不是编码,而是“侦查”工作。你需要弄清楚:1. 数据存在哪里?2. 格式是什么?3. 关键字段(如消息内容、模型名称、时间戳)的映射关系。对于像Windsurf这类通过RPC提供服务、不直接暴露本地文件的编辑器,适配难度更大,目前需要其客户端在运行时才能获取数据。这也是项目寻求社区贡献的方向之一。
2. 标准化数据模型 来自不同编辑器的原始数据格式差异巨大。Agentlytics在内存中定义了一套统一的内部数据模型,所有提取器都必须将数据转换为此模型。这个模型的核心实体包括:
- ChatSession :一个完整的对话会话,包含元数据(ID、编辑器、项目路径、起止时间、使用的模型、估算成本等)。
- ChatMessage :会话中的单条消息,区分是用户(Human)还是助手(Assistant)发送,并包含原始内容。
- ToolCall :助手在消息中调用工具(如运行命令、读写文件)的记录。
- Project :通过分析会话中的文件路径自动聚合出的项目实体。
标准化是后续所有分析(如跨编辑器对比、统一搜索)的基础。
3. SQLite缓存与REST API 转换后的标准化数据会被写入一个本地SQLite数据库文件(默认位于 ~/.agentlytics/cache.db )。选择SQLite是因为它无需额外服务、单文件、性能出色,且能轻松支持复杂的聚合查询。随后,一个基于Node.js Express的轻量级REST API服务器启动,对外提供诸如 /api/overview 、 /api/chats 、 /api/projects 等端点。前端的所有数据请求都指向这个本地API。
2.2 双运行时模式:Node.js全功能版 vs. Deno沙盒扫描版
为了满足不同场景的需求,Agentlytics提供了两种运行方式,这是设计上的一个亮点。
Node.js全功能模式 这是我们之前讨论的标准模式。通过 npx agentlytics 启动,它会执行完整的ETL流程,创建SQLite缓存,并启动包含前端仪表盘的Web服务器。这是功能最全的模式,适合深度分析和日常使用。
Deno沙盒扫描版 这是一个极简、安全的“只读扫描器”。通过一条Deno命令直接运行远程模块:
deno run --allow-read --allow-env https://raw.githubusercontent.com/f/agentlytics/master/mod.ts
它的特点是:
- 零安装、零依赖 :直接从URL运行,无需
npm install或克隆仓库。 - 权限最小化 :仅要求
--allow-read(读取本地编辑器文件)和--allow-env(读取少量环境变量如HOME)。它 没有 网络权限、文件写入权限或代码执行权限,安全性极高。 - 即时输出 :它不创建数据库或启动服务器,而是直接扫描文件,将统计结果(会话数、消息数等)以清晰的表格格式打印到终端,或通过
--json标志输出结构化JSON。
这个模式非常适合快速检查(“让我看看我到底有多少个AI会话”)、集成到其他脚本中,或者在安全要求极高的环境下进行审计。
2.3 Relay(中继)架构:安全的团队协作
Relay功能是Agentlytics从个人工具迈向团队工具的关键。它的设计目标是在不泄露原始数据的前提下,允许团队成员共享AI会话的上下文。
工作原理:
- 服务端 :一位团队成员运行
npx agentlytics --relay,启动一个专用的中继服务器(默认端口4638)。这个服务器会创建一个独立的relay.db数据库。 - 客户端 :其他成员在 项目目录 下运行
npx agentlytics --join <server-address>。客户端会扫描本地的AI会话,但只会上传与当前项目(通过匹配Git仓库路径或文件路径推断)相关的会话数据。 - 数据同步 :客户端每隔30秒将新的或更新的会话数据同步到中继服务器。数据在传输前会进行匿名化处理(移除可能敏感的绝对路径等),并且可以通过
RELAY_PASSWORD环境变量进行密码保护。 - MCP集成 :中继服务器暴露一个Model Context Protocol端点。这意味着你可以将Cursor、Claude Desktop等支持MCP的AI客户端连接到这个端点。连接后,AI助手就能利用
search_sessions等工具,跨团队搜索所有人的相关会话历史来回答问题。
安全考量:
- Relay设计用于 可信的本地网络 (如同一个办公室Wi-Fi)。在公网使用需要自担风险。
- 数据共享是 项目粒度 的,而非全盘托出。用户需要明确选择加入哪个项目的共享。
- 支持密码认证,防止未经授权的客户端连接。
- 所有数据仍存储在发起Relay的本地机器上,没有中心化云存储。
3. 功能深度解析与实操指南
Agentlytics的仪表盘不仅仅是数据的陈列柜,它的每个功能模块都旨在回答一个具体的、对开发者有价值的问题。下面我们逐一拆解。
3.1 仪表盘:你的AI编程全景图
启动后,首页仪表盘提供了几个核心的“速览”组件:
- 核心KPI卡片 :总会话数、总消息数、涉及项目数、活跃编辑器数量。这是最宏观的指标。
- 活动热力图 :仿照GitHub贡献图,直观展示你每天使用AI编程助手的频率。一眼就能看出哪几天是“重度依赖日”。
- 编辑器分布环图 :清晰展示你在各个编辑器(Cursor, VS Code, Claude Code等)间的使用时长或会话数量分布。你可能惊讶地发现,自己以为的主力编辑器实际占比并没那么高。
- 编码连续记录 :类似于“打卡”,显示你连续多少天使用了AI编程助手。这有助于培养习惯或分析工作节奏。
- Token经济面板 :这是成本控制的核心。基于会话中记录的模型和token使用量(部分编辑器提供),Agentlytics会估算出大致的API花费,并按模型、按月进行分解。你可以立刻发现“GPT-4 Turbo是我最大的成本中心”。
- 高峰时段分析 :统计你在一天中哪个小时最频繁地调用AI。这有助于你规划工作,将复杂的、需要大量AI辅助的任务安排在自己效率最高、AI使用最频繁的时段。
注意事项:成本估算的准确性 成本估算功能严重依赖于编辑器是否在会话数据中提供了准确的
token_count字段以及使用的model信息。目前,Cursor、Claude Code等对此支持较好,而一些编辑器可能不提供或提供不完整的数据。因此,仪表盘上的成本数字应视为一个 趋势性参考和相对比较的依据 ,而非精确的账单。但它足以帮你识别出“哪个模型或哪个项目最烧钱”。
3.2 会话管理与全局搜索
这是找回“记忆”的关键。所有会话被集中在一个可搜索、可过滤的列表中。
- 强大的过滤与搜索 :你可以按编辑器、按时间范围、按项目、甚至按使用的模型进行过滤。全局搜索框支持全文检索,可以跨越所有编辑器,查找包含特定关键词(如错误信息、函数名、库名称)的对话。比如,搜索“TypeError: Cannot read property”,就能找到历史上所有调试类似错误的会话。
- 会话详情侧边栏 :点击任意会话,一个侧边栏会滑出,完整呈现当时的对话记录,并支持代码高亮。这相当于一个跨编辑器的、专属你的AI对话存档库。
3.3 项目视角分析
开发者是以项目为中心的。这个视图将数据按项目(通过分析会话中的文件路径自动聚合)进行分组,提供项目维度的深度分析。
- 项目概览 :列出所有检测到的项目,每个项目显示总会话数、消息数、token使用量、涉及的编辑器等。
- 项目详情页 :深入某个项目(如“my-nextjs-app”),你可以看到:
- 项目内编辑器使用习惯 :在这个项目里,你更常用Cursor还是VS Code Copilot?
- 模型使用分布 :这个项目主要调用的是Claude 3 Haiku还是GPT-4?
- 会话时间线 :项目生命周期内AI使用的活跃度变化。
- 相关会话列表 :快速跳转到该项目的所有历史会话。
这个功能对于复盘项目、进行知识沉淀尤其有用。新成员加入项目时,如果能快速浏览该项目历史上的关键AI对话,能极大加速理解过程。
3.4 深度分析与对比工具
这部分是为数据驱动型开发者准备的。
- 工具调用热图 :分析AI助手在编程时最常使用哪些工具(如
execute_command,read_file,search_web)。这能反映你的工作模式——是更偏向于让AI直接执行命令,还是更多让它阅读现有代码? - 模型分布钻取 :不仅看用了哪些模型,还能下钻查看每个模型分别在哪些编辑器、哪些项目中被使用。
- 编辑器对比 :这是一个非常实用的功能。你可以并排比较两个编辑器(如Cursor vs. Claude Code)。对比指标可能包括:平均每个会话的消息数(反映对话深度)、平均响应时间(如果数据可得)、不同模型的使用偏好、在特定类型项目(如前端vs.后端)中的使用占比。这能给你客观的数据,来优化你的工具链选择。
3.5 订阅与配额管理
对于使用Cursor Pro、Windsurf Teams等带有订阅和配额服务的编辑器,Agentlytics尝试通过读取本地配置或调用编辑器本地API(如果可用)来汇总展示你的订阅状态、剩余额度、速率限制等信息。这让你在一个地方就能掌握所有AI服务的“余额”,避免在关键时刻遇到配额耗尽的问题。
4. 从安装到高级使用的完整实操流程
4.1 环境准备与快速启动
前提条件 :
- 操作系统 :目前主要支持macOS。Linux和Windows支持已在路线图中,但需要社区帮助适配各编辑器的文件路径。
- 运行时 :Node.js版本需 ≥ 20.19 或 ≥ 22.12。或者,你也可以使用Deno。
一键启动(推荐) : 打开你的终端,执行以下命令之一:
npx agentlytics
# 或者使用你喜欢的包管理器
pnpm dlx agentlytics
yarn dlx agentlytics
bunx agentlytics
第一次运行会完成以下步骤:
- 自动安装
agentlyticsnpm包。 - 扫描你本地所有支持的编辑器数据目录。
- 构建本地SQLite缓存(首次扫描可能耗时稍长,取决于会话数量)。
- 启动本地Web服务器,并自动在默认浏览器中打开仪表盘(
http://localhost:4637)。
整个过程无需任何配置。扫描完成后,你就能看到属于自己的AI编程分析报告了。
仅构建缓存(后台任务) : 如果你只想更新数据而不想立即打开浏览器,可以使用:
npx agentlytics --collect
这会在后台安静地完成扫描和缓存构建,之后你可以随时通过 npx agentlytics 快速启动查看最新数据的仪表盘。
4.2 使用Deno进行快速安全扫描
当你只需要一个快速的统计概览,或者在不信任的环境下想检查数据时,Deno沙盒版是完美选择。
基础扫描 :
deno run --allow-read --allow-env https://raw.githubusercontent.com/f/agentlytics/master/mod.ts
这条命令会输出一个简洁的终端表格,汇总检测到的编辑器及其会话数量。
获取JSON格式输出 : 为了便于集成到其他脚本或工具中,可以添加 --json 标志:
deno run --allow-read --allow-env https://raw.githubusercontent.com/f/agentlytics/master/mod.ts --json
这将输出一个结构化的JSON对象,包含所有统计信息,你可以用 jq 等工具进行进一步处理。
从本地仓库运行 : 如果你克隆了项目仓库,还可以使用预定义的Deno任务:
deno task start # 启动完整仪表盘(需要更多权限)
deno task scan # 执行轻量级CLI扫描
deno task scan:json # 执行扫描并输出JSON
4.3 配置Relay实现团队会话共享
假设你和两个同事Alice、Bob正在共同开发一个名为“Project Phoenix”的Next.js应用。你们想共享在这个项目中使用AI助手的经验。
步骤1:启动Relay服务器 由团队中的一位成员(比如你)在任意目录下执行:
# 可选:设置密码增强安全
export RELAY_PASSWORD=our_team_secret_2024
npx agentlytics --relay
服务器启动后,终端会显示类似以下信息:
⚡ Agentlytics Relay
Share this command with your team:
cd /path/to/phoenix-project
npx agentlytics --join 192.168.1.100:4638
MCP server endpoint (add to your AI client):
http://192.168.1.100:4638/mcp
记下这个IP和端口( 192.168.1.100:4638 )以及MCP端点地址。
步骤2:团队成员加入Relay Alice和Bob需要在他们本地的“Project Phoenix”项目根目录下操作:
# 确保在正确的项目目录
cd ~/Developer/phoenix-project
# 使用密码加入(如果服务器设置了密码)
RELAY_PASSWORD=our_team_secret_2024 npx agentlytics --join 192.168.1.100:4638
运行后,客户端会扫描本地AI会话,并提示选择要共享的项目(它会自动识别当前目录对应的项目)。确认后,客户端会开始定期向Relay服务器同步数据。
步骤3:在AI客户端中配置MCP 现在,你们任何一人都可以将自己的AI客户端(如Cursor、Claude Desktop)连接到Relay的MCP服务器。
- 在AI客户端的设置中找到MCP(Model Context Protocol)配置部分。
- 添加一个新的MCP服务器,类型选择
HTTP。 - URL填入
http://192.168.1.100:4638/mcp。 - 如果设置了密码,在认证信息中配置。
配置成功后,当你在AI助手中提问时,它就可以利用团队共享的上下文。例如,你可以问:“我们团队之前是怎么解决用户认证中的OAuth状态校验问题的?” AI助手会通过MCP工具搜索所有共享会话,找到相关的历史讨论和解决方案提供给你。
4.4 利用API进行自定义集成
Agentlytics的本地REST API为你打开了自定义工作流的大门。所有仪表盘的数据都来自这些API,意味着你也可以直接调用它们。
获取基础概览数据 :
curl http://localhost:4637/api/overview
这会返回一个JSON,包含会话总数、消息总数、编辑器列表等核心指标。
获取特定编辑器的会话列表 :
curl "http://localhost:4637/api/chats?editor=Cursor&limit=10"
这个请求获取最近10个Cursor的会话。
实时刷新数据 : 仪表盘页面有一个“刷新数据”按钮,其背后调用的是 /api/refetch 端点。这是一个Server-Sent Events (SSE)端点,它会清空现有缓存,触发一次完整的重新扫描,并通过事件流实时推送进度。你可以模拟这个行为来手动更新数据。
构建自定义脚本 : 假设你想每周一早上自动生成一份AI使用周报,并发送到Slack。你可以写一个简单的Node.js脚本:
import fetch from 'node-fetch';
async function generateWeeklyReport() {
const overview = await fetch('http://localhost:4637/api/overview').then(r => r.json());
const weeklyActivity = await fetch('http://localhost:4637/api/daily-activity?days=7').then(r => r.json());
// 处理数据,生成Markdown或文本
const report = `📊 AI编程助手周报\n` +
`总计会话: ${overview.totalChats}\n` +
`本周活跃天数: ${weeklyActivity.filter(d => d.count > 0).length}\n` +
`...`;
// 调用Slack Webhook发送报告
// sendToSlack(report);
}
将这段脚本设置为定时任务(如使用cron),就能实现自动化报告。
5. 常见问题、排查技巧与进阶指南
即使工具设计得再简单,在实际使用中也可能遇到各种情况。这里汇总了我自己以及早期用户遇到的一些典型问题和解决方法。
5.1 安装与运行问题
问题:运行 npx agentlytics 时报错,提示Node.js版本过低。
- 原因 :Agentlytics使用了较新的JavaScript特性,需要高版本Node.js支持。
- 解决 :升级你的Node.js。推荐使用
nvm(Node Version Manager)来管理多个版本。执行nvm install --lts安装最新的LTS版本,然后nvm use --lts切换过去。
问题:仪表盘能打开,但数据显示为空或不全。
- 排查步骤 :
- 检查编辑器是否被支持 :首先在终端运行
npx agentlytics --collect,观察输出日志。看看它识别出了哪些编辑器,以及每个编辑器找到了多少会话。如果某个你常用的编辑器没被列出,说明它可能尚未被支持,或者其数据存储路径未被正确识别。 - 检查编辑器数据路径权限 :在macOS上,编辑器数据通常存储在
~/Library/Application Support/或~/Library/Preferences/下。确保你的用户账户有读取这些目录的权限。可以尝试用ls -la命令查看。 - 查看详细日志 :运行
DEBUG=agentlytics:* npx agentlytics可以输出更详细的调试信息,帮助定位是哪个提取器出了问题。 - 手动验证数据文件 :找到对应编辑器的数据存储目录(项目GitHub仓库的
editors/目录下各适配器文件顶部通常有路径说明),看看是否存在包含会话数据的文件(如.jsonl,.db文件)。
- 检查编辑器是否被支持 :首先在终端运行
问题:Deno扫描版运行报权限错误。
- 原因 :Deno的权限沙盒机制要求显式授权。如果命令中只给了
--allow-read,但编辑器数据路径可能涉及符号链接或需要环境变量来解析路径。 - 解决 :尝试添加
--allow-env来允许读取环境变量(如HOME),这是最常见的缺失权限。如果问题依旧,可以尝试使用--allow-all(仅限完全信任的情况下)来测试是否是权限问题,但生产使用中应坚持最小权限原则。
5.2 数据与功能相关疑问
问题:成本估算的数字看起来不对,偏高或偏低。
- 理解原理 :成本估算是基于 (会话token数 / 1000) * (该模型每千token的公开API价格) 计算的。关键在于:
- Token数来源 :完全依赖于编辑器在保存会话时是否记录并提供了准确的
token_count。并非所有编辑器或所有模型都提供此数据。 - 模型识别 :需要准确识别会话使用的模型(如
gpt-4-turbo-preview)。如果编辑器只记录了gpt-4,估算可能不精确。 - 价格数据 :Agentlytics内置了一个模型价格对照表,但API价格可能变动,且企业协议价格与公开价格不同。
- Token数来源 :完全依赖于编辑器在保存会话时是否记录并提供了准确的
- 建议 :将此功能视为 相对比较工具 。关注“哪个模型/项目/月份花费占比最高”这样的趋势,而非绝对金额。你可以在设置中自定义模型单价来提高准确性。
问题:Relay功能中,团队成员看不到我共享的会话。
- 排查步骤 :
- 确认项目路径匹配 :Relay共享是基于“项目”的。服务器和客户端对“项目”的识别必须一致。Agentlytics通常通过Git仓库根目录或文件路径共性来推断项目。确保所有成员都在 同一个Git仓库的根目录 下执行
--join命令。 - 检查网络连通性 :确保客户端能访问到Relay服务器的
4638端口。可以在客户端机器上执行telnet <server-ip> 4638测试。 - 查看Relay服务器日志 :启动Relay时加上
DEBUG=agentlytics:relay*前缀,查看是否有连接和同步请求。 - 验证密码 :如果设置了
RELAY_PASSWORD,确保服务器和客户端使用的密码完全一致(注意大小写和空格)。
- 确认项目路径匹配 :Relay共享是基于“项目”的。服务器和客户端对“项目”的识别必须一致。Agentlytics通常通过Git仓库根目录或文件路径共性来推断项目。确保所有成员都在 同一个Git仓库的根目录 下执行
问题:我想支持一个新的AI编程编辑器,该如何贡献?
- 步骤 :
- 在项目的
editors/目录下创建一个新的适配器文件,例如editors/my-new-editor.js。 - 参考其他适配器(如
editors/cursor.js)的结构。核心是导出一个对象,包含name、isAvailable()、getChats()等方法。 isAvailable()函数用于检测该编辑器是否存在于当前系统(通常通过检查特定的文件或目录路径)。getChats()函数是核心,需要解析该编辑器的本地存储文件,将原始数据转换为Agentlytics的标准数据模型。- 在
editors/index.js文件中导入并注册你的新适配器。 - 提交Pull Request。详细的开发指南请参考项目仓库中的
CONTRIBUTING.md文件。
- 在项目的
5.3 性能与维护建议
缓存与更新 : 首次扫描可能会较慢,因为要读取和解析大量历史数据。扫描完成后,结果会存入 ~/.agentlytics/cache.db 。后续启动只会增量扫描变更的文件,速度很快。如果你发现数据没有更新,可以手动点击仪表盘上的“刷新数据”按钮,或重启Agentlytics服务。
数据存储位置与备份 :
- 主缓存 :
~/.agentlytics/cache.db(SQLite数据库) - Relay数据 :
~/.agentlytics/relay.db(SQLite数据库) - 配置文件 :
~/.agentlytics/config.json(如果有自定义配置) 你可以定期备份这些文件。如果需要迁移到新电脑,复制整个~/.agentlytics目录过去,在新电脑上安装Agentlytics后,你的历史分析数据就恢复了。
资源占用 : Agentlytics在空闲时内存占用很低(主要是一个静态文件服务器和API后端)。扫描进程在运行时会有一定的CPU和I/O占用,但会在完成后自动结束。如果你在扫描时感到系统卡顿,可以考虑在空闲时通过 npx agentlytics --collect 预先构建缓存。
经过几个月的日常使用,Agentlytics已经从我的一个“周末项目”变成了开发工作流中不可或缺的一环。它带来的最大改变不是某个炫酷的图表,而是一种“可观测性”。我能清晰地看到自己如何与AI协作,并在数据指导下优化习惯——比如,我发现自己在下午的代码审查中过度依赖AI生成解释,而在上午的架构设计中使用效率更高。我也开始有意识地在团队Relay中标记那些解决了复杂问题的优质会话,成为团队的知识资产。这个工具的价值在于,它把AI编程从一种模糊的体验,变成了一个可以分析、优化和共享的清晰过程。如果你也在使用多个AI编程助手,我强烈建议你花五分钟时间运行一下,看看你的数据会告诉你什么故事。
更多推荐



所有评论(0)