📊 每日总结功能使用指南

自动追踪用户每日活动,包括文章阅读、Token使用量和GitHub代码贡献统计。

✨ 功能特性

📖 文章阅读追踪

自动记录用户每天阅读的文章标题、链接和时间戳

🔤 Token使用统计

累计统计每日Token消耗量,帮助了解使用成本

💻 GitHub活动统计

追踪每日合并的PR数量、新增代码行数和删除代码行数

📝 自动保存到笔记本

每日总结自动保存到智能表格,方便长期查看和分析

🎨 精美HTML展示

生成可视化的HTML页面,数据一目了然

🚀 快速开始

步骤1: 安装依赖

npm install axios

步骤2: 配置环境变量

在系统中设置以下环境变量:

变量名 说明 必填
USER_ID 用户唯一标识
GITHUB_USERNAME GitHub用户名
GITHUB_TOKEN GitHub访问令牌
GROUP_ID 群组ID(用于生成访问链接)
NOTEBOOK_DOC_ID 笔记本文档ID
NOTEBOOK_SHEET_ID 笔记本表格ID

步骤3: 设置定时任务

编辑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

步骤4: 手动测试

USER_ID=test_user GITHUB_USERNAME=octocat GROUP_ID=fish node run_daily_summary.js

📚 API使用说明

1. 追踪文章阅读

const { trackArticle } = require('./daily_summary');

await trackArticle('user123', {
  title: '深入理解JavaScript闭包',
  url: 'https://example.com/article'
});

2. 记录Token使用

const { trackTokens } = require('./daily_summary');

await trackTokens('user123', 1500);

3. 生成每日总结

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处理流程中集成

修改现有的URL处理逻辑,在保存文章到笔记本时同时追踪:

const { trackArticle } = require('./daily_summary');

// 在保存文章后添加
await trackArticle(userId, {
  title: extractedTitle,
  url: originalUrl
});

在Token统计中集成

在每次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
      }
    }
  }
}

⚠️ 注意事项

GitHub API限制

未认证请求限制为60次/小时,建议配置 GITHUB_TOKEN 提升到5000次/小时

时区问题

统计基于服务器时区,确保定时任务在正确的时间执行

数据备份

定期备份 .state.json 文件,避免数据丢失

🎯 示例输出

每日总结包含以下内容:

访问链接格式:https://ai.v4.chat/{GROUP_ID}/daily_2026-01-13.html

📞 文件清单