🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Daily Income Logger

by @mesiyoq965-sudo

自动记录并汇总多平台每日收入,支持趋势分析及CSV/JSON格式导出报告。

Versionv1.0.0
Downloads259
TERMINAL
clawhub install daily-income-logger

📖 About This Skill

Daily Income Logger

自动记录每日各平台收入,生成收入报告和趋势分析。

功能

  • 多平台支持: 支持手动录入各平台收入(自媒体、广告、电商等)
  • 每日汇总: 自动生成每日收入汇总报告
  • 趋势分析: 按周/月统计收入趋势
  • 数据导出: 支持导出 CSV/JSON 格式报告
  • 使用方式

    用户: 今天各平台收入是多少?
    助手: 使用 daily-income-logger 查询今日收入汇总

    用户: 记录今日B站收入500元 助手: 使用 daily-income-logger 记录收入

    用户: 这周收入趋势如何? 助手: 使用 daily-income-logger 分析本周趋势

    执行脚本

    1. 查询今日收入汇总

    #!/bin/bash
    

    daily-income-logger query today

    DATA_DIR="$HOME/.daily-income-logger" TODAY=$(date +%Y-%m-%d) mkdir -p "$DATA_DIR/data"

    if [ -f "$DATA_DIR/data/income.json" ]; then cat "$DATA_DIR/data/income.json" | jq -r --arg date "$TODAY" ' .records[] | select(.date == $date) | "平台: \(.platform) | 金额: ¥\(.amount) | 备注: \(.note)"' else echo "今日暂无收入记录" fi

    2. 记录收入

    #!/bin/bash
    

    daily-income-logger record [note]

    DATA_DIR="$HOME/.daily-income-logger" mkdir -p "$DATA_DIR/data"

    PLATFORM=$1 AMOUNT=$2 NOTE=${3:-""} TODAY=$(date +%Y-%m-%d) TIMESTAMP=$(date -Iseconds)

    INCOME_FILE="$DATA_DIR/data/income.json"

    初始化或读取现有数据

    if [ ! -f "$INCOME_FILE" ]; then echo '{"records":[]}' > "$INCOME_FILE" fi

    添加新记录

    jq --arg date "$TODAY" --arg ts "$TIMESTAMP" --arg platform "$PLATFORM" \ --arg amount "$AMOUNT" --arg note "$NOTE" \ '.records += [{"date":$date,"timestamp":$ts,"platform":$platform,"amount":($amount | tonumber),"note":$note}]' \ "$INCOME_FILE" > tmp.json && mv tmp.json "$INCOME_FILE"

    echo "已记录: $PLATFORM +¥$AMOUNT"

    3. 生成周报

    #!/bin/bash
    

    daily-income-logger weekly-report

    DATA_DIR="$HOME/.daily-income-logger" START_DATE=$(date -d "7 days ago" +%Y-%m-%d) END_DATE=$(date +%Y-%m-%d)

    echo "===== 周收入报告 =====" echo "时间: $START_DATE ~ $END_DATE" echo ""

    if [ -f "$DATA_DIR/data/income.json" ]; then cat "$DATA_DIR/data/income.json" | jq -r --arg start "$START_DATE" --arg end "$END_DATE" ' [.records[] | select(.date >= $start and .date <= $end)] | group_by(.platform) | .[] | "【\.[0].platform】总计: ¥\(map(.amount) | add)"' else echo "暂无数据" fi

    数据存储

    收入数据存储在本地 JSON 文件中:

  • ~/.daily-income-logger/data/income.json - 收入记录
  • ~/.daily-income-logger/data/reports/ - 生成的报告
  • 配置

    首次使用需要配置收入类别:

    {
      "categories": [
        "bilibili", "youtube", "xiaohongshu", 
        "advertising", "affiliate", "freelance"
      ]
    }
    

    权限

    需要读写本地文件系统权限,用于存储收入数据。

    版本

    1.0.0