自动追踪用户每日活动,包括文章阅读、Token使用量和GitHub代码贡献统计。
自动记录用户每天阅读的文章标题、链接和时间戳
累计统计每日Token消耗量,帮助了解使用成本
追踪每日合并的PR数量、新增代码行数和删除代码行数
每日总结自动保存到智能表格,方便长期查看和分析
生成可视化的HTML页面,数据一目了然
npm install axios
在系统中设置以下环境变量:
| 变量名 | 说明 | 必填 |
|---|---|---|
USER_ID |
用户唯一标识 | ✅ |
GITHUB_USERNAME |
GitHub用户名 | ❌ |
GITHUB_TOKEN |
GitHub访问令牌 | ❌ |
GROUP_ID |
群组ID(用于生成访问链接) | ✅ |
NOTEBOOK_DOC_ID |
笔记本文档ID | ✅ |
NOTEBOOK_SHEET_ID |
笔记本表格ID | ✅ |
编辑crontab配置:
crontab -e
添加以下内容(每天23:00执行):
0 23 * * * cd /data/moss/sessions/fish && USER_ID=your_user_id GITHUB_USERNAME=your_github_username GITHUB_TOKEN=your_token GROUP_ID=your_group_id NOTEBOOK_DOC_ID=your_doc_id NOTEBOOK_SHEET_ID=your_sheet_id node run_daily_summary.js >> /var/log/daily_summary.log 2>&1
USER_ID=test_user GITHUB_USERNAME=octocat GROUP_ID=fish node run_daily_summary.js
const { trackArticle } = require('./daily_summary');
await trackArticle('user123', {
title: '深入理解JavaScript闭包',
url: 'https://example.com/article'
});
const { trackTokens } = require('./daily_summary');
await trackTokens('user123', 1500);
const { generateDailySummary, generateHTML } = require('./daily_summary');
const summary = await generateDailySummary('user123', 'github_user', 'github_token');
const filename = await generateHTML(summary);
console.log(`查看: https://ai.v4.chat/fish/${filename}`);
修改现有的URL处理逻辑,在保存文章到笔记本时同时追踪:
const { trackArticle } = require('./daily_summary');
// 在保存文章后添加
await trackArticle(userId, {
title: extractedTitle,
url: originalUrl
});
在每次API调用后记录Token使用:
const { trackTokens } = require('./daily_summary');
// API调用后
const tokensUsed = response.usage.total_tokens;
await trackTokens(userId, tokensUsed);
数据保存在 .state.json 文件中:
{
"user123": {
"articles": {
"2026-01-13": [
{
"title": "文章标题",
"url": "https://...",
"timestamp": "2026-01-13T10:30:00.000Z"
}
]
},
"tokens": {
"2026-01-13": 15000
},
"github": {
"2026-01-13": {
"prs": 3,
"additions": 250,
"deletions": 80
}
}
}
}
未认证请求限制为60次/小时,建议配置 GITHUB_TOKEN 提升到5000次/小时
统计基于服务器时区,确保定时任务在正确的时间执行
定期备份 .state.json 文件,避免数据丢失
每日总结包含以下内容:
访问链接格式:https://ai.v4.chat/{GROUP_ID}/daily_2026-01-13.html
daily_summary.js - 核心功能模块run_daily_summary.js - 命令行执行脚本crontab.example - 定时任务配置示例.state.json - 数据存储文件(自动生成)