把 gadget 仓库的 README.md(20 768 字符)原样交给 4 个本地 Ollama 模型和三家 Agent CLI 的 12 个云端模型,要求先总结项目、再写一份中文使用教程。 下面是每次运行记录到的模型信息、速度、显存、延迟、token 数据,文档结构统计,以及全部原始输出。

题目

下面是开源项目 gadget 的 README。请你完成两件事:
1. 先用中文总结这个项目:它是什么、仓库结构、每个工具分别做什么。
2. 然后写一份详细的中文使用教程,面向第一次接触这个项目的人,覆盖环境准备、安装、配置,以及每个工具的典型用法(给出可以直接复制的命令)。
只依据 README 里写到的内容,不要编造 README 中没有出现的命令或参数。

===== README.md =====
<README.md 全文,20 768 字符>

README 全文接在这段说明之后一起送进去,整条 prompt 共 20 768 字符。

运行条件

十六个模型收到的是完全相同的一条 prompt,没有额外的前缀或 system prompt。

本地(Ollama) — RTX 5090 / 32 GB。POST 127.0.0.1:11434/api/chatstream: falsethink: false不指定任何采样参数,temperature、num_predict、context 全部走模型 Modelfile 和 ollama 的默认值。 每个模型跑之前先 ollama stop 清空显存,所以加载时间是冷启动。 显存取 nvidia-smi 峰值减去桌面基线(2.2–2.6 GB)。 速度直接读响应体的 eval_count / eval_duration,不含 HTTP 和 Python 开销。

云端(Agent CLI)codex exec --jsonclaude -p --output-format jsoncursor-agent --print --output-format json,全部串行,工作目录是一个空的临时文件夹,跑完检查过没有残留文件。 prompt 从 stdin 送进去(Windows 的 .cmd shim 会把命令行参数在第一个换行处截断)。 总耗时用 perf_counter 掐整个进程,token、API 耗时、首 token 延迟从各家 JSON 的 usage 字段读。

每个模型跑 1 次。 采样带随机性,单次结果和速度数字都会浮动。

三条影响读数的事实

  1. 两张速度表不可互比。 本地模型的输入就是这条 prompt 本身(5 230–8 000 tokens); 云端走的是 coding agent CLI,输入里还包含它们各自的系统提示和工具定义。

  2. Claude Code 的 input_tokens 字段报的是个位数,真实上下文在 cache_creation_input_tokens + cache_read_input_tokens 里,表三的输入列已经把三者相加。 Codex 和 Cursor 报的是完整输入。

  3. 首 token 延迟只有 Claude Code 报ttft_ms),Codex 和 Cursor 的 JSON 里没有这个字段。

  4. 表二里两个显存数字互相不一致。「显存峰值增量」来自 nvidia-smi,「ollama ps 常驻」是 ollama 自己报的 SIZE;Gemma4 26B 上前者 28.4 GB、后者 4.2 GB。两列都照原样列出。

  5. Fable 5.1 那一行的运行条件和其他 Claude Code 行不同。 它是后补跑的: --effort high 显式指定,其余三个 Claude Code 模型走 CLI 默认 effort; CLI 版本也从 2.1.223 升到了 2.1.258

表一:本地模型信息

模型 参数量 架构 量化 磁盘体积 digest 训练 context 运行 context
Gemma4 12B 11.9B gemma4 Q4_K_M 7.6 GB 4eb23ef187e2 262,144 65,536
Gemma4 26B 25.2B gemma4 Q4_K_M 18 GB 08ae7ec1744b 262,144 65,536
Qwen3.8 27.3B qwen35 Q4_K_M 17 GB 67a1c5bfe600 262,144 65,536
Qwen3.6 36.0B qwen35moe Q4_K_M 23 GB c4f897240059 262,144 65,536

表二:本地运行指标

模型 显存峰值增量 ollama ps 常驻 加载 输入 tokens Prefill 输出 tokens 解码速度 生成耗时 结束原因
Gemma4 12B 15.3 GB 10 GB 5.29 s 5,230 5,396 tok/s 1,493 117.4 tok/s 19.0 s stop
Gemma4 26B 28.4 GB 4.2 GB 15.69 s 5,230 5,433 tok/s 1,439 217.8 tok/s 23.29 s stop
Qwen3.8 20.1 GB 17 GB 13.81 s 5,112 2,731 tok/s 3,713 122.9 tok/s 45.9 s stop
Qwen3.6 23.3 GB 23 GB 14.84 s 5,112 5,116 tok/s 3,288 211.3 tok/s 31.43 s stop

表三:Agent CLI

工具 / 模型 CLI 版本 总耗时 API 耗时 首 token 延迟 输入 tokens 其中缓存命中 输出 tokens 推理 tokens 有效吞吐
Claude Code · Haiku 4.5 2.1.223 (Claude Code) 79.43 s 77.42 s 14.95 s 26,548 12,059 7,438 93.6 tok/s
Codex · GPT-5.6-Sol codex-cli 0.149.1 104.37 s 23,347 11,008 5,512 241 52.8 tok/s
Codex · GPT-5.6-Terra codex-cli 0.149.1 57.77 s 21,738 11,008 2,984 82 51.7 tok/s
Codex · GPT-5.6-Luna codex-cli 0.149.1 68.01 s 21,789 9,984 3,589 274 52.8 tok/s
Codex · GPT-5.5 codex-cli 0.149.1 68.32 s 22,355 1,408 3,595 21 52.6 tok/s
Codex · GPT-5.4-Mini codex-cli 0.149.1 64.87 s 20,618 4,480 4,365 1,475 67.3 tok/s
Claude Code · Opus 5 2.1.223 (Claude Code) 96.55 s 94.92 s 2.56 s 29,786 8,456 87.6 tok/s
Claude Code · Sonnet 5 2.1.223 (Claude Code) 35.99 s 34.37 s 3.00 s 37,413 3,578 99.4 tok/s
Cursor · Composer 2.5 2026.08.25-3e8eec8 56.78 s 54.33 s 15,075 5,489 4,119 72.5 tok/s
Cursor · Grok 4.6 High 2026.08.25-3e8eec8 88.81 s 86.44 s 16,836 5,376 5,690 64.1 tok/s
Cursor · Gemini 3.7 Flash 2026.08.25-3e8eec8 48.01 s 44.28 s 24,461 3,165 65.9 tok/s
Claude Code · Fable 5.1 · effort high 2.1.258 (Claude Code) 86.32 s 84.32 s 21.06 s 35,732 15,248 7,048 81.6 tok/s

表四:输出文档的结构统计

全部由正则计算。「命令数」统计代码块里以 pip / python / cd / bash / git / hugo / conda / ollama / npm / node / eval / export / rclone / source 开头的行; 「README 中有原文」是这条命令去掉注释、压缩空白之后能在 README 原文里找到,反之计入「README 中无原文」。

模型 字符数 汉字 外文词 全角标点率 标题 列表项 表格行 代码块 代码行 命令数 README 中有原文 README 中无原文
Gemma4 12B 3,465 873 228 65.9% 17 37 0 12 22 17 15 2
Gemma4 26B 3,442 876 215 62.0% 15 33 0 15 22 18 17 1
Qwen3.8 8,044 2,344 531 66.2% 34 37 8 24 69 32 26 6
Qwen3.6 7,847 1,838 541 60.8% 25 50 7 28 62 31 26 5
Claude Code · Haiku 4.5 11,235 2,385 917 69.0% 135 62 7 27 245 75 46 29
Codex · GPT-5.6-Sol 11,731 3,411 850 73.6% 62 125 8 61 88 39 35 4
Codex · GPT-5.6-Terra 6,622 1,725 523 74.6% 13 40 7 42 64 38 33 5
Codex · GPT-5.6-Luna 7,667 1,946 586 71.0% 37 72 7 53 87 39 35 4
Codex · GPT-5.5 8,517 1,969 718 73.5% 1 5 0 57 100 46 41 5
Codex · GPT-5.4-Mini 6,730 1,428 555 61.8% 5 108 0 22 55 41 38 3
Claude Code · Opus 5 12,340 2,974 988 37.6% 26 26 14 24 65 43 33 10
Claude Code · Sonnet 5 5,754 1,037 478 70.0% 16 11 7 13 46 31 30 1
Cursor · Composer 2.5 10,088 1,905 847 70.2% 51 59 35 17 106 38 33 5
Cursor · Grok 4.6 High 11,015 2,531 906 73.9% 15 31 8 14 46 32 31 1
Cursor · Gemini 3.7 Flash 7,229 1,673 536 75.3% 19 46 10 31 44 29 28 1
Claude Code · Fable 5.1 · effort high 8,091 1,944 698 74.4% 2 30 15 15 34 34 32 2

「README 中无原文」的命令

  • Gemma4 12B (2)
    • python scripts/onboard.py
    • python scripts/sync.py pull
  • Gemma4 26B (1)
    • python scripts/onboard.py
  • Qwen3.8 (6)
    • cd gadget
    • git clone git@github.com:TzJ2006/ai-companion.git ../ai-companion
    • git clone git@github.com:TzJ2006/gadget.git
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python scripts/sync.py status
  • Qwen3.6 (5)
    • cd gadget
    • git clone <gadget_repo_url>
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python scripts/sync.py status
  • Claude Code · Haiku 4.5 (29)
    • cd gadget
    • cd tools/benchmark && python -c "import torch; print(torch.cuda.is_available())"
    • conda create -n AI python=3.10
    • export GADGET_CONFIG=/path/to/custom/config.json
    • export GADGET_LLM_BACKEND=claude_cli
    • export GADGET_TRANSLATION_BACKEND=ollama
    • export GADGET_TRANSLATION_BACKEND=transformers
    • export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF
    • git clone <gadget-repository-url>
    • python -c "import research; print('OK')"
    • python -c "import summarize; print('OK')"
    • python -m summarize auto --deploy --api openai
  • Codex · GPT-5.6-Sol (4)
    • export → merge → weekly → monthly → deploy
    • python scripts/sync.py pull
    • python tools/summarize/monthly_summary.py ...
    • python tools/summarize/weekly_summary.py ...
  • Codex · GPT-5.6-Terra (5)
    • ollama → llamacpp / vllm / transformers
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python tools/summarize/monthly_summary.py
    • python tools/summarize/weekly_summary.py
  • Codex · GPT-5.6-Luna (4)
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python tools/summarize/monthly_summary.py
    • python tools/summarize/weekly_summary.py
  • Codex · GPT-5.5 (5)
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python tools/summarize/monthly_summary.py ...
    • python tools/summarize/weekly_summary.py ...
    • rclone 同步数据
  • Codex · GPT-5.4-Mini (3)
    • cd tools/benchmark && python -m benchmark.cli --report
    • python tools/summarize/monthly_summary.py ...
    • python tools/summarize/weekly_summary.py ...
  • Claude Code · Opus 5 (10)
    • export GADGET_CONFIG=/path/to/your/config.json
    • export GADGET_LLM_BACKEND=ollama
    • export GADGET_TRANSLATION_BACKEND=ollama
    • export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B
    • export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF
    • python -m summarize auto --deploy --api claude_cli
    • python scripts/language.py
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python tools/research/research_scout.py report --project my-project --api claude_cli
  • Claude Code · Sonnet 5 (1)
    • python scripts/onboard.py
  • Cursor · Composer 2.5 (5)
    • python scripts/onboard.py
    • python scripts/sync.py pull
    • python tools/summarize/monthly_summary.py ...
    • python tools/summarize/weekly_summary.py ...
  • Cursor · Grok 4.6 High (1)
    • python scripts/sync.py pull
  • Cursor · Gemini 3.7 Flash (1)
    • python scripts/onboard.py
  • Claude Code · Fable 5.1 · effort high (2)
    • python scripts/onboard.py
    • python scripts/sync.py pull

表五:README 事实点覆盖

十六个可以在 README 里逐字查到的事实点,检查每份输出有没有提到。纯字符串匹配。

模型 [all] [tr] sum res cd web trl cfg env api out syn tok py gpl cmp 合计
Gemma4 12B 14/16
Gemma4 26B 12/16
Qwen3.8 14/16
Qwen3.6 15/16
Claude Code · Haiku 4.5 15/16
Codex · GPT-5.6-Sol 16/16
Codex · GPT-5.6-Terra 15/16
Codex · GPT-5.6-Luna 16/16
Codex · GPT-5.5 16/16
Codex · GPT-5.4-Mini 15/16
Claude Code · Opus 5 16/16
Claude Code · Sonnet 5 16/16
Cursor · Composer 2.5 16/16
Cursor · Grok 4.6 High 16/16
Cursor · Gemini 3.7 Flash 15/16
Claude Code · Fable 5.1 · effort high 16/16
  • [all]pip install -e ".[all]"
  • [tr][translator] 需要单独装 / is a separate extra
  • sumpython -m summarize
  • resresearch_scout.py
  • cdcd tools/benchmark
  • webupdate.sh / update.ps1
  • trlpython -m translator
  • cfgconfig.json
  • envGADGET_CONFIG
  • api--api claude_cli 等后端 / the --api backends
  • outoutputs/
  • synscripts/sync.py
  • toktokens/
  • py — Python 3.10+
  • gpl — GPL-3
  • cmp — ai-companion 是独立仓库 / is a separate repo

全部输出

Gemma4 12B — 3,465 字符 · 12 个代码块 · README 事实点 14/16

项目总结

Gadgets 是一个旨在简化日常开发流程的实用工具集。它集成了 AI 助手、学术研究、性能基准测试、自动化博客发布以及文档翻译等多个功能模块。

仓库结构

  • tools/: 项目的核心功能区,包含 5 个独立的工具:
    • summarize: 处理 AI 对话记录,生成日/周/月度总结报告。
    • research: 学术研究工具,包含论文发现、研究者分析及引用图谱。
    • benchmark: 跨平台的 CPU/GPU 性能基准测试套件。
    • website: 基于 Hugo 的博客系统,包含自动化部署和媒体压缩。
    • translator: 基于 Gradio 的文档翻译工具,支持多种格式且保留 Markdown 格式。
  • common/: 共享基础设施包,包含 LLM 调用、缓存、翻译引擎、Hugo 部署等通用功能。
  • scripts/: 运维与维护脚本,处理数据同步、环境初始化、语言检查等。
  • outputs/: 存放所有生成的内容(日志、报告、缓存等),不计入 Git 仓库。
  • ai-companion (独立仓库): 位于同级目录,提供开发工作流、代码变动追踪及一系列 AI 技能。

使用教程

本教程旨在帮助初学者快速上手 Gadget 项目。

1. 环境准备

在开始之前,请确保您的机器满足以下要求:

  • Python: 3.10+(推荐使用名为 AI 的 Conda 环境)。
  • Node.js: 18+(主要用于 ai-companion 模块)。
  • 基础依赖: 建议先安装好基础的 rclone 工具(用于数据同步)。

2. 安装与初始化

克隆仓库后,进入项目根目录执行以下步骤:

基础安装(包含核心工具与大部分功能):

pip install -e ".[all]"

若需使用翻译功能(需额外安装相关依赖):

pip install -e ".[translator]"

新机器初始化(自动配置环境): 如果你是第一次在某台机器上配置此项目,可以利用 onboarding 脚本:

  1. tokens/ 目录下填好 onboard.yaml(包含 API Key 等信息)。
  2. 运行以下命令自动完成配置(包括 SSH、工具配置、rclone 初始化等):
    python scripts/onboard.py
    

3. 核心工具使用指南

每个工具都可以在其对应的目录下独立运行或通过统一的模块调用。

A. AI 对话总结 (Summarize)

用于将你的 AI 对话记录(Claude, ChatGPT 等)整理成结构化的报告。

  • 全自动流程(推荐)
    python -m summarize auto --deploy
    
  • 分步操作
    • 导出未导出的日期:python -m summarize daily export
    • 合并日期:python -m summarize daily merge --sync-all
    • 生成周报:python -m summarize weekly generate --week 2026-W12 --deploy
    • 生成月报:python -m summarize monthly generate --month 2026-02 --deploy
B. 学术研究 (Research)

提供论文检索、深度分析、研究者画像和引用图谱分析。

  • 启动完整研究流程
    python tools/research/research_scout.py report --project my-project
    
  • 自然语言搜索
    python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
    
  • 获取研究者画像
    python tools/research/research_scout.py profile "Sergey Levine"
    
  • 分析特定文献的引用图谱
    python tools/research/research_scout.py citations 2301.12597
    
C. 性能基准测试 (Benchmark)

跨平台的 CPU/GPU 性能测试。注意:执行前请进入对应目录。

cd tools/benchmark
# 运行所有基准测试并将结果追加到 CSV
python -m benchmark.cli
# 仅测试 GPU
python -m benchmark.cli --gpu-only
# 运行测试并生成 HTML 报告
python -m benchmark.cli --report
# 生成报告并发布到 Hugo 网站
python -m benchmark.cli --report --deploy
D. 文档翻译 (Translator)

启动一个 Gradio 界面,用于翻译各类文档(支持 .md, .pdf, .docx 等)。

  • 启动翻译界面
    python -m translator
    
E. 博客同步与部署 (Website)

用于管理和更新 Hugo 博客。

  • 安装相关依赖pip install -e ".[website]"
  • 更新并推送内容
    • Windows: powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
    • Linux/macOS: cd tools/website && bash update.sh
  • 本地预览
    cd tools/website && hugo server -D
    

4. 其他常用操作

  • 数据同步:如果你在多台设备上操作,可以使用同步脚本:
    python scripts/sync.py push
    # 或
    python scripts/sync.py pull
    
  • 切换模型后端: 所有支持 LLM 的工具(Summarize, Research)都可以通过 --api 参数切换后端:ollama (默认), claude_cli, anthropic, openai
    • 示例:python -m summarize auto --api anthropic

5. 注意事项

  • 配置文件:项目核心配置位于根目录的 config.json(初次使用请复制 config.example.json)。
  • 输出目录:所有生成的内容都会保存在 outputs/ 文件夹中。
  • Git 规范:不要提交 outputs/build/gadget.egg-info 以及 tools/website/ 下的部署相关内容。
Gemma4 26B — 3,442 字符 · 15 个代码块 · README 事实点 12/16

1. 项目总结

Gadgets 是一个由开发者日常积累的实用工具集,旨在通过 AI 能力自动化处理开发、研究和内容发布中的重复性任务。它不仅包含多个独立的工具,还通过一个核心共享包(common)构建了一套完整的自动化工作流。

仓库结构

  • tools/: 核心工具目录,存放五个独立的工具产品。每个工具都可以独立运行。
  • common/: 共享基础设施包。为所有工具提供统一的底层能力,如 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译引擎及 Hugo 部署功能。
  • scripts/: 运维与维护脚本,用于数据同步、新机器初始化配置等。
  • outputs/: 所有生成的产物(报告、缓存、日志、数据等)存放地。
  • docs/: 设计文档与归档。
  • ai-companion/ (外部仓库): 该项目通过 hook 关联的兄弟目录,负责提供开发工作流引擎(规划/执行/变更跟踪)及所有 Claude Code 相关技能。

工具功能概览

  1. Summarize: AI 对话总结工具。自动读取不同设备的 AI 对话记录(Claude/ChatGPT 等),生成日/周/月报。
  2. Research: 学术研究工具。支持论文发现、深度论文洞察(分析写作结构/OpenReview 评论)、研究员画像分析及引用图谱分析。
  3. Benchmark: 性能测试套件。跨平台(NVIDIA/Apple/Intel)的 CPU/GPU 浮点运算性能测试。
  4. Website: Hugo 博客管理。包含媒体自动压缩、双语翻译及自动化构建与发布流程。
  5. Translator: 文档翻译器。基于 Gradio 的本地化翻译 Web 界面,支持保持 Markdown 格式的文档、图片及文件翻译。

2. 使用教程

本教程面向初次接触 Gadgets 的用户。

一、 环境准备

在开始之前,请确保您的系统已安装以下环境:

  • Python 3.10+ (建议使用 Conda 管理环境,例如 conda activate AI)
  • Node.js 18+ (主要用于关联的 ai-companion 仓库)
  • Ollama (推荐,用于本地运行 LLM)

二、 安装与配置

  1. 安装核心包及大部分工具: 进入项目根目录,运行以下命令安装 common 包以及大部分工具所需的依赖:

    pip install -e ".[all]"
    
  2. 安装翻译器工具 (需额外安装): 由于翻译器依赖特定的 Gradio 和模型栈,需单独安装:

    pip install -e ".[translator]"
    
  3. 初始化配置:

    • 项目使用 config.json 进行配置。请先从模板复制一份:
      cp config.example.json config.json
      
    • 新机器一键配置: 如果您是在一台全新的服务器上部署,可以使用内置的 onboarding 脚本(需先准备好 tokens/onboard.yaml):
      python scripts/onboard.py
      

三、 工具典型用法

1. Summarize (对话总结)

该工具通过两阶段工作流运行:首先导出数据,然后合并生成报告。

  • 第一阶段:导出未导出的日期
    python -m summarize daily export
    
  • 第二阶段:同步并按天合并
    python -m summarize daily merge --sync-all
    
  • 生成周报/月报并部署
    python -m summarize weekly generate --week 2026-W12 --deploy
    python -m summarize monthly generate --month 2026-02 --deploy
    
  • 一键全流程 (导出 $\rightarrow$ 合并 $\rightarrow$ 周报 $\rightarrow$ 月报 $\rightarrow$ 部署)
    python -m summarize auto --deploy
    
  • 提示:可通过 --api 参数切换后端,如 --api ollama--api openai
2. Research (学术研究)

使用统一的入口 research_scout.py 进行操作。

  • 执行完整调研流水线 (搜索 $\rightarrow$ 评估 $\rightarrow$ 报告)
    python tools/research/research_scout.py report --project my-project
    
  • 自然语言搜索论文
    python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
    
  • 查看研究员画像
    python tools/research/research_scout.py profile "Sergey Levine"
    
  • 分析论文引用图谱 (使用 arXiv ID)
    python tools/research/research_scout.py citations 2301.12597
    
3. Benchmark (性能测试)

注意: 运行前请先进入工具目录。

cd tools/benchmark
# 运行所有测试(结果追加至 CSV)
python -m benchmark.cli
# 仅运行 GPU 测试
python -m benchmark.cli --gpu-only
# 运行测试、生成 HTML 报告并发布到 Hugo 网站
python -m benchmark.cli --report --deploy
4. Website (博客管理)
  • 本地预览
    cd tools/website && hugo server -D
    
  • 更新网站 (压缩媒体 $\rightarrow$ 构建 $\rightarrow$ 推送到 GitHub Pages)
    • macOS/Linux: bash update.sh
    • Windows: powershell -ExecutionPolicy Bypass -File update.ps1
5. Translator (文档翻译)
  • 启动 Gradio 图形界面
    python -m translator
    
    启动后,在浏览器中打开显示的地址即可进行文档翻译。首次运行时会自动下载 tencent/Hy-MT2-1.8B 模型。
Qwen3.8 — 8,044 字符 · 24 个代码块 · README 事实点 14/16

1. 项目总结:Gadget 是什么?

Gadget 是一个开源的开发者工具集仓库,旨在通过自动化脚本和集成工作流,解决日常开发中的痛点。它不仅仅是一个代码库,更是一套涵盖 AI 报告生成、学术科研辅助、性能基准测试、博客自动化运维、文档翻译 的完整生态系统。

该项目采用“共享基础设施 + 独立工具”的架构设计,所有工具都依赖于根目录下的 common 包来处理 LLM 调用、缓存、原子写入等通用任务。

仓库结构概览

gadget/
├── tools/              # 核心工具目录(每个子目录是一个独立应用)
│   ├── summarize/      # AI 对话日报/周报/月报生成器
│   ├── research/       # 论文发现、研究者分析、引用图谱工具
│   ├── benchmark/      # CPU/GPU 跨平台性能基准测试
│   ├── website/        # 基于 Hugo 的个人博客站点(含自动压缩与部署)
│   └── translator/     # 基于 Gradio 的本地文档翻译 Web 应用
├── common/             # 共享基础设施包(LLM API、缓存、翻译引擎、Hugo 部署)
├── scripts/            # 运维脚本(数据同步、新机器初始化、冒烟测试)
├── docs/               # 设计文档、计划、审计报告
├── outputs/            # 所有生成产物的存放地(已 gitignore,可重建)
├── AGENTS.md           # AI 代理工作协议
├── CLAUDE.md           # Claude Code 指引
└── pyproject.toml      # Python 打包配置(支持 pip install -e .)

注:开发工作流和技能(Skills)位于独立的同级仓库 ../ai-companion/ 中。

各工具功能详解

工具名称 核心功能 关键特性
Summarize AI 对话日报/周报/月报 自动读取 Claude Code/Codex/ChatGPT 等对话日志,利用 LLM 生成结构化报告。支持多设备数据聚合,自动统计 Token 用量和成本。
Research 科研助手 1. 论文发现:从 arXiv/PubMed 等源检索论文,经 LLM 三阶段评估生成周报。
2. 深度洞察:分析论文写作结构、发表策略,匹配 OpenReview 评论。
3. 研究者画像:分析学者轨迹、计算评分、发现导师-学生关系。
4. 引用图谱:基于 Semantic Scholar 的前向/后向引用分析。
Benchmark 性能基准测试 跨平台(CUDA/MPS/XPU)测量 CPU/GPU 浮点性能。支持 FP64 到 FP8 多种精度。结果累积存入 CSV,支持生成 Plotly 交互式 HTML 报告并部署到博客。
Website Hugo 博客自动化 个人博客站点。核心特色是增量媒体压缩(仅压缩新变更的图片/视频)和双语翻译。自动将上述工具生成的报告、图表写入博客并部署到 GitHub Pages。
Translator 本地文档翻译 基于 Gradio 的 Web 界面。支持 .md/.pdf/.docx/图片等格式。使用本地模型(Ollama/Transformers等),保护 Markdown 格式(代码块、URL 不翻译)。
Common 共享基础库 提供统一的 LLM 接口(支持 Ollama/Claude CLI/Anthropic/OpenAI)、SHA-256 磁盘缓存、原子写入、本地翻译引擎等。

2. Gadget 详细使用教程

本教程面向首次使用 Gadget 的开发者。我们将按照 环境准备 -> 安装配置 -> 各工具使用 的顺序进行。

第一阶段:环境准备与安装

1.1 环境要求

  • Python: 3.10+ (推荐在 Conda 环境中,环境名为 AI)
  • Node.js: 18+ (仅当需要使用 ai-companion 仓库的功能时需要)
  • 依赖工具:
    • rclone: 用于数据同步(可选,多设备用户必装)
    • Hugo: 静态站点生成器(用于 Website 工具)
    • pngquant & HandBrakeCLI: 用于媒体压缩(用于 Website 工具,可选但推荐)
    • Ollama: 本地 LLM 运行环境(推荐,用于默认 LLM 后端和翻译)

1.2 克隆仓库

# 克隆主仓库
git clone git@github.com:TzJ2006/gadget.git
cd gadget

# 克隆 AI 伴侣仓库(同级目录,用于开发工作流和技能)
git clone git@github.com:TzJ2006/ai-companion.git ../ai-companion

1.3 安装 Python 依赖

Gadget 使用 pyproject.toml 管理依赖。

方案 A:安装除 Translator 外的所有核心工具依赖(推荐大多数用户)

# 激活 Python 环境
conda activate AI  # 或者你的虚拟环境

# 安装 common 包及 summarize, research, benchmark, website 的依赖
pip install -e ".[all]"

方案 B:如果需要文档翻译功能 [all] 不包括 translator,因为它的依赖较大(涉及 GPU 推理栈)。

# 单独安装 Translator 依赖
pip install -e ".[translator]"

注意:translator 依赖包括 gradio, gguf 翻译栈等。

1.4 配置配置文件

工具配置位于仓库根目录的 config.json(该文件已被 gitignore,需手动创建)。

  1. 复制示例配置:
    cp config.example.json config.json
    
  2. 编辑 config.json,填入必要的 API 密钥(如果你使用 Claude/Anthropic/OpenAI 后端)或调整其他设置。
    • LLM 后端切换:全局默认通过 --api 参数或环境变量 GADGET_LLM_BACKEND 控制。
    • 翻译模型:默认使用 tencent/Hy-MT2-1.8B,首次运行自动下载。

1.5 新机器一键初始化(可选)

如果你是在新服务器上配置,可以使用自带的 Onboard 脚本自动配置 SSH、CLI 认证、Pip 依赖等。

# 1. 填写 tokens/onboard.yaml (包含 SSH 密钥、API Keys 等敏感信息,请勿提交)
# 2. 运行初始化脚本
python scripts/onboard.py

该脚本会自动完成:SSH 配置、Claude/Codex CLI 安装与认证、Pip Extras 安装、Rclone 基础配置。


第二阶段:各工具典型用法

2.1 Summarize:AI 对话日报/周报/月报

此工具自动聚合你在不同设备上(Claude Code, Codex, ChatGPT 等)的 AI 对话记录,生成统计报告。

前置条件:确保各 AI 工具的日志导出功能已开启,或手动导出日志到指定目录。

典型工作流

  1. 第一阶段:导出对话日志 将所有未导出的日期的对话日志提取出来。

    python -m summarize daily export
    
  2. 第二阶段:同步与合并 如果你有多台设备,先通过 scripts/sync.py 同步数据,然后合并每日数据。

    # 同步所有日期的数据并逐日合并
    python -m summarize daily merge --sync-all
    
  3. 生成报告

    # 生成指定周的周报并部署到博客
    python -m summarize weekly generate --week 2026-W12 --deploy
    
    # 生成指定月的月报并部署到博客
    python -m summarize monthly generate --month 2026-02 --deploy
    
  4. 一键全流程(推荐) 自动执行:导出 -> 合并 -> 生成周报 -> 生成月报 -> 部署。

    python -m summarize auto --deploy
    

提示:默认使用 ollama 后端(本地 Qwen3.8-27B),无需 API Key。如需切换,使用 --api claude_cli--api anthropic

2.2 Research:科研助手

这是一个强大的学术工具,支持自然语言查询、论文深度分析、学者画像和引用图谱。

1. 自然语言搜索论文 自动路由到合适的数据源(arXiv, PubMed 等)。

python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

2. 生成完整研究周报 执行全流程:搜索 -> 三阶段 LLM 评估(快筛 -> 深评 -> 引用影响)-> 生成报告。

python tools/research/research_scout.py report --project my-project

3. 研究者画像 获取学者的论文、引用数据,生成轨迹分析、评分及导师-学生关系。

python tools/research/research_scout.py profile "Sergey Levine"

4. 引用图谱分析 基于 arXiv ID 或 DOI,分析前向引用和后向参考文献。

python tools/research/research_scout.py citations 2301.12597

5. 部署报告到博客

python tools/research/research_scout.py deploy

2.3 Benchmark:性能基准测试

测量 CPU/GPU 的 FLOPS 性能,支持 NVIDIA (CUDA), Apple Silicon (MPS), Intel (XPU)。

注意:Benchmark 命令需要在 tools/benchmark/ 目录下执行。

1. 运行所有基准测试 结果会追加到 CSV 文件中(支持多硬件累积)。

cd tools/benchmark
python -m benchmark.cli

2. 仅测试 CPU 或 GPU

python -m benchmark.cli --cpu-only
python -m benchmark.cli --gpu-only

3. 生成 HTML 报告

python -m benchmark.cli --report

4. 生成报告并部署到博客 将基准测试结果发布到 Hugo 网站的 /benchmark/ 路径下。

python -m benchmark.cli --report --deploy

查看报告:访问 https://tzj2006.github.io/benchmark/

2.4 Website:Hugo 博客自动化

此工具负责将其他工具生成的内容(日报、周报、图表)整合到博客,并处理媒体压缩和双语翻译。

1. 更新博客(压缩 + 构建 + 部署) 这是最核心的命令,执行增量压缩(仅处理新文件)、Hugo 构建、并推送到 GitHub Pages。

# macOS / Linux
cd tools/website && bash update.sh

# Windows
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

2. 本地预览 在本地启动 Hugo 开发服务器,查看草稿和最新更改。

cd tools/website
hugo server -D

注意:-D 表示包含草稿(Drafts)。

3. 翻译机制 Website 工具内置了翻译引擎。在构建过程中,它会自动检测双语内容,并调用本地模型(默认 tencent/Hy-MT2-1.8B)进行翻译。

  • 默认后端:ollama
  • 备选后端:vllm (Linux), transformers (Windows)
  • 模型会自动下载,无需手动配置。

2.5 Translator:本地文档翻译

提供一个 Web 界面,用于翻译本地文件(.md, .pdf, .docx, 图片等),并保留 Markdown 格式。

1. 启动翻译服务

# 确保已安装 translator 依赖: pip install -e ".[translator]"
python -m translator

启动后会自动在浏览器中打开 Gradio 界面。

2. 使用方式

  1. 打开浏览器中的本地地址(通常是 http://127.0.0.1:7860)。
  2. 上传文件或输入文本。
  3. 选择源语言和目标语言(支持 auto 自动检测)。
  4. 点击翻译。
  5. 复制结果或下载翻译后的文件。

高级配置

  • 模型切换:默认使用 tencent/Hy-MT2-1.8B。可以通过 GUI 中的模型管理界面切换,或设置环境变量 GADGET_TRANSLATION_MODEL
  • 后端切换:默认优先 ollama。如果未安装 Ollama,会自动回退到 transformers (Windows) 或 vllm (Linux)。也可通过 GADGET_TRANSLATION_BACKEND 强制指定。

第三阶段:运维与数据同步

3.1 数据同步 (Rclone)

如果你在多设备间开发,可以使用内置的同步脚本。

# 查看同步状态
python scripts/sync.py status

# 推送本地更改到云端
python scripts/sync.py push

# 从云端拉取最新数据
python scripts/sync.py pull

配置位于 config.jsonsync 部分。

3.2 冒烟测试 (Smoke Test)

在运行完整流程前,可以快速检查环境是否配置正确(只读操作,不消耗 LLM Token)。

bash scripts/smoke.sh

3.3 输出目录管理

所有生成物(日志、报告、图表、缓存)都存放在 outputs/ 目录下。

  • 该目录已被 .gitignore 忽略。
  • 如果删除了 outputs/,所有报告均可通过重新运行对应工具的 generate 命令重建。

常见问题 (FAQ)

Q: 如何使用不同的 LLM 后端? A: 大多数工具支持 --api 参数。

  • ollama (默认): 本地运行,无需 Key,推荐 Qwen3.8-27B。
  • claude_cli: 复用 Claude Code 的登录状态,无需额外 API Key。
  • anthropic: 使用 Anthropic API Key。
  • openai: 使用 OpenAI API Key。 全局默认值可通过环境变量 GADGET_LLM_BACKEND 设置。

Q: 翻译为什么这么慢/失败? A: 翻译使用本地推理。

  1. 确保 Ollama 正在运行且已拉取模型 (ollama pull tencent/Hy-MT2-1.8B)。
  2. 如果没有 Ollama,程序会回退到 transformers (CPU/内存消耗较大) 或 vllm (GPU)。
  3. 检查 GADGET_TRANSLATION_BACKEND 环境变量是否正确指向你已安装的后端。

Q: 博客部署失败了? A:

  1. 检查 config.json 中的 Hugo 路径和 Git 配置。
  2. 确保 tools/website/public/ 目录是一个独立的 Git 仓库(通常由脚本自动管理,不要手动 git add 此目录下的文件到主仓库)。
  3. 查看 outputs/logs/ 中的构建日志。

Q: 如何备份? A: 你的源代码在 Git 中。你的数据(对话日志、CSV 基准数据、生成的报告)建议在 outputs/ 目录之外或通过 scripts/sync.py 同步到云端。tokens/ 目录包含敏感信息,请自行备份,切勿提交到 Git。


教程结束。祝使用愉快!如有更多问题,请参阅 TUTORIAL.md 和各工具目录下的文档。

Qwen3.6 — 7,847 字符 · 28 个代码块 · README 事实点 15/16

以下是基于提供的 README 内容整理的项目总结详细使用教程


第一部分:项目总结

1. 它是什么?

Gadget 是一个面向开发者的实用工具集,主要服务于日常开发工作流。它的核心功能涵盖:

  • AI 报告生成:自动汇总 AI 对话记录并生成日报/周报/月报。
  • 学术研究辅助:论文发现、研究者画像分析及引用关系图谱构建。
  • 性能基准测试:跨平台(CPU/GPU)的性能跑分工具。
  • 博客自动化:基于 Hugo 的博客搭建与自动发布系统,支持媒体压缩和本地翻译。
  • 文档翻译:基于 Gradio的本地文档翻译网页应用。

该项目采用模块化设计,每个工具独立运行,共享底层基础设施 (common),并依赖于一个独立的外部仓库 ai-companion 来提供开发工作流和代码变更追踪功能。

2. 仓库结构

gadget/
├── tools/              # 五个独立的工具模块(核心功能)
│   ├── summarize/      # AI 对话日报/周报/月报生成
│   ├── research/       # 论文发现、研究者分析与引用图谱
│   ├── benchmark/      # CPU/GPU 性能基准测试
│   ├── website/        # Hugo 博客系统(含自动化构建与发布)
│   └── translator/     # Gradio 文档翻译器
├── common/             # 共享基础设施包 (LLM调用、缓存、IO、翻译、Hugo部署等)
├── scripts/            # 运维与维护脚本 (同步、新机配置、烟雾测试等)
├── docs/               # 设计文档、ECL计划、审计报告及历史归档
├── outputs/            #所有生成的产物(报告、日志、缓存),已被 gitignore
├── AGENTS.md           # AI Agent 工作流协议
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # Python 打包配置

关键依赖:

  • ai-companion: 位于上级目录 ../ai-companion/,提供代码变更追踪、规划执行工作流和技能,通过 hooks集成到此项目。

3. 每个工具分别做什么?

工具目录 核心功能 关键技术/技术栈
tools/summarize/ AI 对话报告生成
读取多设备 AI 对话日志,生成结构化日/周/月报。通过 ccusage 统计 token 用量。支持本地 Ollama、Claude CLI、Anthropic、OpenAI 后端。
Claude/OpenAI API, ccusage 20.x, matplotlib
tools/research/ 学术研究助手
1. 论文发现:从 arXiv/PubMed 等搜索并生成周报。
2. 深度洞察:分析文章结构、写作策略及核心知识。
3. 研究者画像:分析研究者轨迹、师生关系。
4. 引用图谱:分析前向/后向引用。
arXiv/bioRxiv/PubMed, Semantic Scholar, LLM
tools/benchmark/ 性能基准测试
跨平台 CPU/GPU FLOPS 测试。支持 NVIDIA (CUDA), Apple Silicon (MPS), Intel (XPU)。输出 CSV 结果和交互式 HTML 排行榜,可部署到博客。
PyTorch, NumPy, Plotly
tools/website/ Hugo 博客自动化
基于 PaperMod 主题的博客。自动增量压缩图片/视频,本地模型翻译,一键构建并发布至 GitHub Pages。自动生成工具报告页面。
Hugo, pngquant, HandBrakeCLI, Python (translation)
tools/translator/ 文档翻译器
Gradio Web UI。支持文本及文件 (.md/.txt/.pdf/.docx/images) 的 Markdown 格式保留翻译。使用本地模型推理,不依赖云端 API。
Gradio, GGUF/transformers/vLLm/Ollama

第二部分:详细中文使用教程

本教程面向首次接触该项目的用户。请严格依据 README 提供的信息操作。

1. 环境准备

在安装之前,请确保满足以下基础环境要求:

  • Python: 版本 3.10+。推荐使用 conda 环境 AI (conda activate AI)。
  • Node.js: 版本 18+(仅用于独立的 ai-companion 仓库,本 repo 核心工具主要依赖 Python)。
  • Git: 用于克隆代码。

前置检查(Smoke Test): 在配置过程中,你可以运行以下命令进行只读的烟雾测试,确保无报错:

bash scripts/smoke.sh

2. 安装与初始化

第一步:克隆仓库并准备依赖

假设你的工作目录下已经存在 ai-companion 仓库。

  1. 克隆 Gadget 仓库(如果尚未克隆):

    git clone <gadget_repo_url>
    cd gadget
    
  2. 安装共享基础设施包 (common) 及所有核心工具依赖: README 指出 common 是基础,而各工具作为 extras 安装。为了覆盖 summarize, research, benchmark, website,建议安装 all 额外包。

    注意translator 包含在 all 中,需要单独安装。

    # 安装 common 及 summarize/research/benchmark/website 的依赖
    pip install -e ".[all]"
    
    # 如果需要使用 Translator 工具,额外执行:
    pip install -e ".[translator]"
    
  3. 配置 AI Companion(工作流引擎): Gadget 的开发工作流依赖上级目录 ../ai-companion/。请确保该目录存在并已正确初始化。具体安装步骤参考 ../ai-companion/scripts/install.ts

第二步:配置文件与密钥

  1. 创建配置文件: 所有工具设置位于根目录的 config.json 中(该文件被 gitignore)。

    # 复制示例配置并修改
    cp config.example.json config.json
    
    • 可以通过环境变量 GADGET_CONFIG 指定配置文件路径。
  2. 管理密钥 (Tokens): API 密钥和 Onboarding 信息存储在 tokens/ 目录中(被 gitignore,切勿提交到 Git)。

    • API Keys: 放在 tokens/ 下对应位置。
    • Onboarding Sheet: 填写 tokens/onboard.yaml 用于一键配置机器。
  3. 设置 LLM 后端: 默认使用 ollama (本地,无需 Key,使用 Qwen3.8-27B)。 全局切换可以通过环境变量 GADGET_LLM_BACKEND 或在 config.json 中设置。支持的值:ollama, claude_cli, anthropic, openai

3. 工具详细用法

A. Summarize: AI 对话报告生成

场景:自动汇总多设备 AI 对话,生成日报/周报。 架构:两阶段(导出 -> 合并/生成)。

  1. Phase 1: 导出未导出的日期数据

    python -m summarize daily export
    
  2. Phase 2: 同步所有日期并合并每日数据

    python -m summarize daily merge --sync-all
    
  3. 生成周报

    • 指定特定周(例如 2026年第12周):
      python -m summarize weekly generate --week 2026-W12 --deploy
      
    • --deploy 参数会将报告发布到 Hugo 博客。
  4. 生成月报

    • 指定特定月份(例如 2026年2月):
      python -m summarize monthly generate --month 2026-02 --deploy
      
  5. 一键全量流程 执行完整管道:导出 -> 合并 -> 周/月报生成 -> 部署。

    python -m summarize auto --deploy
    

提示:后端切换使用 --api 参数(如 --api openai),具体支持 ollama, claude_cli, anthropic, openai

B. Research: 学术研究助手

入口命令: python tools/research/research_scout.py

  1. 完整流水线:论文搜索与报告生成

    python tools/research/research_scout.py report --project my-project
    # 流程:搜索 -> 三阶段评估(快速筛选->深度评估->引用影响) -> 生成报告
    
  2. 自然语言搜索论文

    python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
    # 自动路由到合适的数据源(arXiv/PubMed等)
    
  3. 生成研究者画像

    python tools/research/research_scout.py profile "Sergey Levine"
    # 包含研究轨迹分析、师生关系挖掘等
    
  4. 查看引用图谱

    python tools/research/research_scout.py citations 2301.12597
    # 通过 arXiv ID 或 DOI 分析前向/后向引用
    
  5. 部署报告到博客

    python tools/research/research_scout.py deploy
    

提示:同样支持 --api 切换后端。深入分析论文内容可使用 --insight 参数(需查阅源码文档获取具体用法,README仅列出入口)。

C. Benchmark: 性能基准测试

注意:所有命令需在 tools/benchmark/ 目录下执行。

cd tools/benchmark
  1. 运行所有测试 (CPU + GPU) 结果追加写入 CSV,不会覆盖旧数据。

    python -m benchmark.cli
    
  2. 仅 CPU 测试

    python -m benchmark.cli --cpu-only
    
  3. 仅 GPU 测试 自动检测 CUDA / MPS / XPU。

    python -m benchmark.cli --gpu-only
    
  4. 生成 HTML 报告

    python -m benchmark.cli --report
    
  5. 生成报告并部署到 Hugo 博客 将结果发布到 /benchmark/ 路径。

    python -m benchmark.cli --report --deploy
    

D. Website: Hugo 博客管理

目录: tools/website/

  1. 本地预览 (开发模式)

    cd tools/website
    hugo server -D
    
  2. 构建并发布到 GitHub Pages (macOS/Linux) 此脚本会执行增量媒体压缩、Hugo 构建和推送。

    bash update.sh
    
  3. 构建并发布到 GitHub Pages (Windows)

    powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
    

重要警告tools/website/public/ 是一个独立的部署仓库。不要直接对该目录进行 git commit,它由脚本自动管理。

E. Translator: 文档翻译器

场景:通过 Web UI 翻译 Markdown、PDF 等文件,保留格式。

  1. 启动 Gradio 界面

    python -m translator
    # 浏览器会自动打开 (或访问 localhost:7860)
    
  2. 配置默认模型 默认使用 tencent/Hy-MT2-1.8B,首次运行自动下载。 可通过环境变量 GADGET_TRANSLATION_MODEL 覆盖。

  3. 后端切换 默认优先 Ollama。Windows 下回退到 transformers,Linux 下可配置 vLLm 或 GGUF。

4. 运维与维护 (Scripts)

数据同步 (Sync)

用于多设备间同步 summarize/website/research 等产生的数据。

# 推送数据
python scripts/sync.py push

# 拉取数据
python scripts/sync.py pull

# 查看状态
python scripts/sync.py status

配置在 config.jsonsync 部分。需先配置 rclone。

新机快速配置 (Onboarding)

如果是新机器,填写 tokens/onboard.yaml 后运行:

python scripts/onboard.py

这将自动完成 SSH、CLI 认证、pip 依赖安装和 rclone bootstrap。

服务器级一键部署

针对 Ubuntu 服务器的系统级安装(Claude Code, Codex等)在 ai-companion 仓库中:

bash ../ai-companion/scripts/onboard-server.sh --help
# 示例用法 (需传入 ai-companion 路径)
# bash ../ai-companion/scripts/onboard-server.sh --companion-repo git@github.com:TzJ2006/ai-companion.git

5. 输出与注意事项

  • 所有生成文件均位于 outputs/ 目录(日志、报告、缓存等),该目录已加入 .gitignore
  • 不要提交
    • outputs/ 下的任何内容。
    • tokens/ 下的密钥。
    • tools/website/public/ (它是独立仓库)。
    • build/gadget.egg-info/
    • rclone 同步的数据。
  • LLM 后端切换:全局可通过 GADGET_LLM_BACKEND 环境变量设置,或在各工具命令中使用 --api 参数。

通过以上步骤,你即可完整运行 Gadget 项目中的所有核心工具。详细的高级配置(如特定工具的 JSON 格式、更多 CLI 参数)请参阅各工具目录下的 TUTORIAL.mdREADME.md

Claude Code · Haiku 4.5 — 11,235 字符 · 27 个代码块 · README 事实点 15/16

Gadget 项目完全指南

一、项目总结

1.1 项目概述

Gadget 是一个开源工具集合,汇聚了日常开发积累的实用工具。它涵盖以下功能:

  • AI 日报生成 — 自动统计多设备的AI对话记录,生成日/周/月报告
  • 论文发现 — 从学术数据库搜索、评估论文,分析研究者和引文网络
  • 性能基准测试 — CPU/GPU 跨平台FLOPS测试
  • 博客自动化 — Hugo静态站点,支持增量媒体压缩和自动部署
  • 文档翻译 — 本地推理的Gradio翻译器,支持文本和文件格式

1.2 仓库结构

gadget/
├── tools/                    # 5个独立工具产品
   ├── summarize/           # AI对话日/周/月报告
   ├── research/            # 论文发现 + 研究者分析 + 引文图
   ├── benchmark/           # CPU/GPU性能基准测试
   ├── website/             # Hugo博客(增量压缩 + 自动发布)
   └── translator/          # Gradio文档翻译器
├── common/                  # 共享基础设施包(所有工具依赖)
├── scripts/                 # 运维脚本(数据同步、机器配置等)
├── docs/                    # 设计文档和ECL计划
├── outputs/                 # 生成的文件(自动重建,已gitignore)
├── CLAUDE.md               # Claude Code 仓库指南
└── pyproject.toml          # Python打包配置

1.3 每个工具的功能

工具 功能 核心特性
Summarize AI对话日/周/月报告 多设备聚合、多源token统计、4种LLM后端可切换
Research 论文发现 + 研究者分析 arXiv/bioRxiv/PubMed搜索、三阶段评估、引文图、研究轨迹分析
Benchmark CPU/GPU性能测试 支持CUDA/MPS/XPU、多精度(FP64-FP8)、HTML报告 + Plotly图表
Website Hugo博客 增量图像/视频压缩、GitHub Pages自动发布、本地双语翻译
Translator 文档翻译器 本地推理、支持MD/TXT/PDF/DOCX/图片、保留格式

1.4 基础设施

  • common/ — LLM调用、磁盘缓存、翻译引擎、Hugo部署等共享能力
  • scripts/ — 数据同步(sync.py)、机器初始化(onboard.py)、LLM服务(serve_local_llm.sh)等
  • ai-companion/ — 分离的Node.js仓库(在../ai-companion/),提供代码变更跟踪和所有Claude Code skills

二、详细使用教程

2.1 环境准备

系统要求

  • Python 3.10+(推荐使用conda环境)
  • Node.js 18+(仅ai-companion仓库需要)
  • Git

创建Python环境

# 使用conda创建Python 3.10环境
conda create -n AI python=3.10
conda activate AI

# 或者使用venv
python3.10 -m venv venv
source venv/bin/activate  # Linux/macOS
# 或在Windows上: venv\Scripts\activate

2.2 安装步骤

第一步:克隆仓库

git clone <gadget-repository-url>
cd gadget

第二步:安装公共包和所有工具

# 安装common包 + summarize/research/benchmark/website的所有依赖
pip install -e ".[all]"

# 如果需要translator工具,需单独安装
pip install -e ".[translator]"

# 如果需要website工具的完整功能(包含torch+transformers用于翻译)
pip install -e ".[website]"

第三步:准备API密钥和配置

# 创建token目录(存放API密钥等敏感信息,已gitignore)
mkdir -p tokens/

# 从示例配置创建主配置文件
cp config.example.json config.json

# 编辑config.json,填入以下信息:
# - LLM API密钥(如果使用anthropic或openai后端)
# - Hugo部署配置(如果使用website工具)
# - rclone数据同步配置(如果需要跨设备数据同步)

第四步:一次性机器初始化(可选但推荐)

如果是新机器,可以使用自动化脚本一次性完成所有配置:

# 编辑初始化配置表
# 打开 tokens/onboard.yaml,填入SSH/API密钥/工具配置等

# 运行初始化脚本
python scripts/onboard.py

# 这个脚本会自动完成:
# - SSH配置
# - Claude Code / Codex CLI 登录
# - pip 依赖安装
# - 各工具配置
# - rclone 引导启动

第五步:验证安装

# 运行烟雾测试(只读,无LLM调用,无网络,无写入)
bash scripts/smoke.sh

2.3 工具配置

全局LLM后端配置

所有工具通过统一的 --api 参数切换后端:

# 方式1:命令行指定
python -m summarize daily export --api ollama

# 方式2:环境变量全局设置
export GADGET_LLM_BACKEND=claude_cli
python -m summarize daily export  # 自动使用claude_cli

# 可用后端
# - ollama(默认,本地Ollama,无需密钥,模型:Qwen3.8-27B)
# - claude_cli(重用Claude Code CLI登录状态,无需API密钥)
# - anthropic(需要ANTHROPIC_API_KEY环境变量)
# - openai(需要OPENAI_API_KEY环境变量)

翻译引擎配置

Website和Translator工具的翻译使用本地推理:

# 方式1:自动选择(推荐)
# - Ollama已安装且模型已拉取 → 使用ollama
# - Linux → vllm优先
# - Windows → transformers优先

# 方式2:指定后端
export GADGET_TRANSLATION_BACKEND=transformers

# 方式3:指定模型
export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF

# 默认模型会在首次使用时自动下载

Ollama本地LLM服务(推荐)

# 启动Ollama服务并输出环境变量
eval "$(bash scripts/serve_local_llm.sh env)"

# 这会:
# 1. 拉取并启动 Qwen 模型(如果未启动)
# 2. 输出环境变量供后续命令使用
# 3. 持久化配置保存在repo根目录 config.json 的 summarize 字段

2.4 各工具详细用法

2.4.1 Summarize — AI对话日/周/月报告

功能:自动从多设备AI对话记录中提取token使用和对话内容,生成结构化的日报、周报、月报。

工作流程

  1. 在各设备上导出未导出的对话记录(Phase 1)
  2. 通过云盘同步或手动复制聚合(Phase 2)
  3. 生成日报、周报、月报

典型命令

# === Phase 1: 导出所有未导出日期的对话记录 ===
python -m summarize daily export

# === Phase 2: 同步所有日期并逐日合并 ===
python -m summarize daily merge --sync-all

# === 生成周报(周号格式:2026-W12,表示2026年第12周)===
python -m summarize weekly generate --week 2026-W12

# 生成周报并自动发布到Hugo博客
python -m summarize weekly generate --week 2026-W12 --deploy

# === 生成月报(月份格式:2026-02)===
python -m summarize monthly generate --month 2026-02

# 生成月报并发布
python -m summarize monthly generate --month 2026-02 --deploy

# === 一键完整流程 ===
# 导出 → 合并 → 生成周报 → 生成月报 + 自动发布
python -m summarize auto --deploy

# === 指定LLM后端 ===
python -m summarize daily export --api anthropic
python -m summarize auto --deploy --api openai

支持的LLM后端

  • ollama(默认,本地,无密钥)
  • claude_cli(重用Claude Code CLI)
  • anthropic(需ANTHROPIC_API_KEY)
  • openai(需OPENAI_API_KEY)

详细步骤教程:见 TUTORIAL.md — Summarizetools/summarize/tutorial.md


2.4.2 Research — 论文发现与研究者分析

功能:统一的学术研究工具包,提供论文发现、深度论文分析、研究者分析、引文图分析。

入口tools/research/research_scout.py

典型命令

# === 论文发现完整流程 ===
# 搜索论文 → 三阶段评估(快速筛选→深度评估→引文影响)→ 生成周报 → 发布Hugo
python tools/research/research_scout.py report --project my-project

# === 自然语言搜索(自动路由源)===
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

# === 研究者分析 ===
# 获取论文+引用数据,生成研究轨迹分析,计算分级分数
# 自动发现导师-学生关系
python tools/research/research_scout.py profile "Sergey Levine"

# === 引文图分析 ===
# 基于Semantic Scholar API的前向/后向引用分析
python tools/research/research_scout.py citations 2301.12597

# === 发布报告到Hugo ===
python tools/research/research_scout.py deploy

# === 指定LLM后端 ===
python tools/research/research_scout.py report --project my-project --api claude_cli
python tools/research/research_scout.py profile "Sergey Levine" --api anthropic

LLM后端选项

  • ollama(默认)
  • claude_cli
  • anthropic
  • openai

详细步骤教程:见 TUTORIAL.md — Researchtools/research/TUTORIAL.md


2.4.3 Benchmark — 性能基准测试

功能:跨平台CPU/GPU FLOPS基准测试,支持多种硬件和精度。

前置要求

cd tools/benchmark  # 所有命令必须在此目录执行

支持硬件

  • NVIDIA (CUDA)
  • Apple Silicon (MPS)
  • Intel (XPU)

支持精度:FP64、FP32、FP16、BF16、FP8(实验性)

典型命令

cd tools/benchmark

# === 运行所有基准测试(结果追加到CSV) ===
python -m benchmark.cli

# === 仅CPU测试 ===
python -m benchmark.cli --cpu-only

# === 仅GPU测试 ===
python -m benchmark.cli --gpu-only

# === 运行测试 + 生成HTML报告 ===
# 生成Plotly交互式图表、排行榜
python -m benchmark.cli --report

# === 生成报告 + 发布到Hugo /benchmark/ 页面 ===
python -m benchmark.cli --report --deploy

# === 提交到公共排行榜(如需要) ===
# 见详细文档

结果处理

  • 结果累积到CSV(追加模式,永不覆盖)
  • 支持生成交互式HTML报告(Plotly)
  • 支持发布到Hugo网站
  • 支持提交公共排行榜

详细步骤教程:见 TUTORIAL.md — Benchmarktools/benchmark/tutorial.md


2.4.4 Website — Hugo博客自动化

功能:Hugo静态博客网站,支持增量媒体压缩和自动化部署。

网站信息

  • 网站名称:“TzJ’s Net”
  • 主题:PaperMod
  • 部署:GitHub Pages (https://tzj2006.github.io/)

特性

  • 增量图像/视频压缩(仅压缩.last_build后改动的文件)
  • 本地双语翻译(默认Ollama,Linux备选vLLM,Windows备选transformers)
  • 自动翻译、压缩、构建、推送

前置依赖

# 安装website依赖(包含torch + transformers用于本地翻译)
pip install -e ".[website]"

典型命令

# === macOS / Linux ===
cd tools/website
bash update.sh  # 增量压缩 + Hugo构建 + 推送GitHub Pages

# === Windows ===
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 脚本自动cd到自己的目录

# === 本地预览(dev server) ===
cd tools/website
hugo server -D  # -D 表示包含草稿,打开 http://localhost:1313

自动生成内容处理

  • 日报/周报/月报、研究报告、基准测试页面、图表等由各工具的发布流程直接写入tools/website/content|static
  • 所有自动生成的文件都标记有gadget_generated标记
  • 手写文件(无标记)永不被覆盖

部署仓库

  • tools/website/public/分离的部署仓库(tzj2006/tzj2006.github.io
  • 由build脚本自动提交+推送
  • 不要直接提交到此目录

详细步骤教程:见 TUTORIAL.md — Websitetools/website/CLAUDE.md


2.4.5 Translator — Gradio文档翻译器

功能:本地推理的文档翻译器,支持文本和多种文件格式。

特性

  • Google翻译风格的本地翻译网页
  • 支持格式:.md / .txt / .pdf / .docx / 图片
  • 保留Markdown格式(代码块、URL、Hugo shortcode等被保护)
  • 本地推理,无云API调用

前置依赖

pip install -e ".[translator]"

启动应用

python -m translator
# 自动在浏览器打开 Gradio GUI

配置

# 默认模型(自动在首次使用时下载)
# 模型:tencent/Hy-MT2-1.8B(GGUF变体:tencent/Hy-MT2-1.8B-GGUF)

# 方式1:环境变量指定模型
export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF

# 方式2:在GUI中管理模型

# 方式3:环境变量指定后端
export GADGET_TRANSLATION_BACKEND=ollama

功能

  • 源语言可设为auto(通过文本的CJK比例自动检测)
  • 目标语言为auto时自动在中↔英间切换

详细步骤教程:见 TUTORIAL.md — Translator

代码参考

  • UI配置:tools/translator/app.py
  • 翻译和文件逻辑:tools/translator/core.py
  • 共享翻译引擎:common/engine.pycommon/translation.py

2.5 跨设备数据同步

功能:集中式rclone数据同步,支持推送/拉取/状态/bootstrap/配置。

# 查看帮助
python scripts/sync.py

# 推送到远程
python scripts/sync.py push

# 拉取从远程
python scripts/sync.py pull

# 查看同步状态
python scripts/sync.py status

# 初始化bootstrap(首次setup)
python scripts/sync.py bootstrap

# 配置同步
python scripts/sync.py config

配置

  • 保存在repo根目录 config.jsonsync 字段
  • 覆盖配置路径:GADGET_CONFIG 环境变量
  • 覆盖范围:summarize / website / research / benchmark / backups / dag(DAG网站生成+发布)

2.6 输出目录结构

所有生成的文件存储在 outputs/ 目录(已gitignore,可自动重建):

outputs/
├── logs/         # 中间文件(导出日志、运行日志)
├── reports/      # 最终报告(Markdown、JSON、HTML)
├── cache/        # LLM缓存、搜索缓存
├── data/         # 结构化数据(CSV、JSON研究者数据)
├── images/       # 图表和生成的图像
└── backups/      # 强制覆盖备份(website-force等)

Hugo网站内容直接写入 tools/website/content|static(无单独的输出分级目录)。


2.7 常用技巧和注意事项

环境变量快速参考

# LLM后端选择
export GADGET_LLM_BACKEND=claude_cli

# 翻译后端选择
export GADGET_TRANSLATION_BACKEND=transformers

# 翻译模型选择
export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF

# 配置文件路径(默认./config.json)
export GADGET_CONFIG=/path/to/custom/config.json

首次使用检查清单

  • 环境准备(Python 3.10+、conda/venv)
  • 安装依赖(pip install -e ".[all]"
  • 创建 config.json(从 config.example.json 复制)
  • 准备 API 密钥(放在 config.json 或环境变量)
  • 运行烟雾测试(bash scripts/smoke.sh
  • 选择工具开始使用

常见问题处理

# 测试特定工具的导入(无网络、无LLM)
python -c "import summarize; print('OK')"
python -c "import research; print('OK')"

# 查看当前配置
cat config.json

# 重置缓存(如遇cache问题)
rm -rf outputs/cache/

# 检查GPU(仅benchmark)
cd tools/benchmark && python -c "import torch; print(torch.cuda.is_available())"

2.8 AI Companion集成(可选)

本项目通过 ai-companion 仓库(在 ../ai-companion/)提供:

  • 代码变更跟踪
  • Claude Code planning/execution skills
  • 所有domain skills(summarize、optimize等)

无需额外配置,已通过hooks自动集成。如需深入了解,见 ../ai-companion/scripts/install.ts


2.9 快速开始示例

场景1:生成这周的AI对话周报

# 激活环境
conda activate AI

# 启动本地Ollama(如未启动)
eval "$(bash scripts/serve_local_llm.sh env)"

# 导出所有记录并生成周报
python -m summarize daily export
python -m summarize daily merge --sync-all
python -m summarize weekly generate --week 2026-W35 --deploy

场景2:搜索最新的机器学习论文

conda activate AI
python tools/research/research_scout.py report --project ml-papers --api claude_cli

场景3:测试GPU性能并生成报告

conda activate AI
cd tools/benchmark
python -m benchmark.cli --report

场景4:启动本地文档翻译器

conda activate AI
python -m translator
# 浏览器自动打开 http://localhost:7860

这份教程涵盖了从零开始使用 Gadget 的所有关键步骤。根据你的具体需求,选择相应的工具按上述命令使用即可。有任何疑问,可参考各工具的 TUTORIAL.md 和源码文档。

Codex · GPT-5.6-Sol — 11,731 字符 · 61 个代码块 · README 事实点 16/16

一、项目总结

1. Gadget 是什么

Gadget 是一组从日常开发中积累出来的实用工具,主要覆盖五类任务:

  • AI 对话记录的日报、周报和月报生成
  • 学术论文发现、论文深度分析和研究者画像
  • CPU/GPU 浮点性能测试
  • Hugo 博客构建、翻译、媒体压缩和自动发布
  • 本地文档翻译

tools/ 下的五个工具彼此独立,可以单独使用。它们共同依赖仓库根目录下的 common/ 包。common/ 提供 LLM 调用、JSON 修复、磁盘缓存、原子写入、本地翻译和 Hugo 部署等通用能力。

项目的开发工作流和 Claude Code skills 不在本仓库中,而是在相邻目录的独立仓库 ../ai-companion/ 中,通过 .claude/.codex/ 下的 hooks 接入 Gadget。

项目采用 GPL-3 许可证。

2. 仓库结构

gadget/
├── tools/
│   ├── summarize/      # AI 对话日报、周报、月报
│   ├── research/       # 论文发现、研究者分析、引用图谱
│   ├── benchmark/      # CPU/GPU 性能测试
│   ├── website/        # Hugo 博客构建和发布
│   └── translator/     # Gradio 文档翻译器
├── common/             # 所有工具共享的基础设施
├── scripts/            # 同步、初始化、维护脚本
├── docs/               # 设计文档、ECL 计划、审计和历史文档
├── outputs/            # 自动生成的输出,已被 gitignore
├── AGENTS.md           # AI agent 工作协议
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # Python 包及 extras 配置

修改不同类型的功能时,对应位置如下:

目标 位置
修改某个工具 tools/<tool>/
修改 LLM、缓存、翻译、Hugo 部署等公共能力 common/
修改数据同步 scripts/sync.py
新机器的一次性配置 scripts/onboard.py
修改开发工作流或 skill ../ai-companion/
查看设计和执行计划 docs/docs/ecl/

3. 各工具分别做什么

Summarize

读取 Claude Code、Codex、Cursor Agent、ChatGPT 或通用 JSON 格式的 AI 对话记录,生成结构化的日报、周报和月报。

它采用多设备、两阶段流程:

  1. 在每台设备上导出对话记录。
  2. 通过云盘同步或手动复制进行汇总,然后按日生成报告。

当日报积累到一定数量后,还可以进一步生成周报和月度趋势总结。

它通过 ccusage 20.x 的分来源命令统计不同 agent CLI 的 token 用量和费用,例如 ccusage claudeccusage codexccusage gemini

支持四种 LLM 后端:

  • ollama:默认,本地运行,不需要 API key
  • claude_cli:复用 Claude Code CLI 登录状态,不需要 API key
  • anthropic
  • openai

Research

统一的学术研究工具,入口为:

tools/research/research_scout.py

它有四项主要能力:

  • 论文发现:从 arXiv、bioRxiv、PubMed 搜索论文,通过“快速筛选 → 深度评估 → 引用影响”三阶段 LLM 流程生成研究周报,并可发布到 Hugo。
  • 深度论文洞察:下载论文全文,分析写作结构、发表策略和可复用知识;匹配 OpenReview 评论,分析审稿共识和争议;最后综合生成跨论文写作指南。
  • 研究者画像:从 ArXiv 和 Semantic Scholar 获取论文及引用数据,生成研究轨迹分析、分层评分,并通过个人主页和合著模式推测导师—学生关系。
  • 引用图谱:利用 Semantic Scholar API 分析前向引用和后向参考文献,再由 LLM 解读论文影响。

它同样支持 ollamaclaude_clianthropicopenai 四种 LLM 后端。

Benchmark

跨平台 CPU/GPU FLOPS 浮点性能测试工具,支持:

  • NVIDIA CUDA
  • Apple Silicon MPS
  • Intel XPU

OpenCL 可能出现在 --info 检测结果中,但 README 没有说明它能执行实际 GPU 测试。

支持的精度包括:

  • FP64
  • FP32
  • FP16
  • BF16
  • FP8,实验性支持

测试过程包括预热、正式测量、中位数统计、IQR 异常值剔除以及显式 GPU 同步。

结果以追加方式写入 CSV,不会覆盖已有结果,因此可积累多台硬件的数据并形成排行榜。工具还可以用 Plotly 生成交互式 HTML 报告,并发布到 Hugo 网站或提交到公共排行榜。

Website

一个名为“TzJ’s Net”的 Hugo 静态博客,使用 PaperMod 主题,目标站点为 https://tzj2006.github.io/

主要能力包括:

  • 只压缩 .last_build 之后发生变化的媒体文件
  • 使用 pngquant 压缩图片
  • 使用 HandBrakeCLI 压缩视频
  • 使用本地模型生成双语内容
  • 自动构建 Hugo 网站
  • 自动提交并推送 GitHub Pages 部署仓库

日报、周报、月报、研究报告、benchmark 页面和图片,会由部署流程直接写入:

tools/website/content
tools/website/static

自动生成文件带有 gadget_generated 标记。没有该标记的手写文件不会被覆盖。

tools/website/public/ 是独立的部署仓库,对应 tzj2006/tzj2006.github.io,不应手动向其中提交文件。

Translator

基于 Gradio 的本地文档翻译 Web 应用,界面类似 Google Translate。

支持翻译:

  • 普通文本
  • .md
  • .txt
  • .pdf
  • .docx
  • 图片

它会尽可能保留 Markdown 格式,并保护代码块、URL、Hugo shortcode 等片段。

翻译完全在本地推理,不使用云端 LLM API。它通过 common.engine.create_engine() 自动选择后端:

  • 已拉取对应模型时优先使用 Ollama
  • Windows 回退到 transformers
  • Linux 优先使用 vLLM
  • 低显存场景可使用 llama.cpp/GGUF

默认模型是:

tencent/Hy-MT2-1.8B

GGUF 版本为:

tencent/Hy-MT2-1.8B-GGUF

模型会在第一次使用时自动下载。模型加载后会常驻内存,切换模型时按需延迟加载。

源语言设为 auto 时,根据文本中的 CJK 字符比例自动检测;目标语言设为 auto 时,会在中译英和英译中之间自动切换。

4. 公共模块和运维脚本

common/

公共 Python 包,提供:

  • 统一的两层 LLM API
  • JSON 解析与修复
  • 带命名空间和 TTL 的 SHA-256 磁盘缓存
  • 原子写入和内容哈希
  • 本地翻译引擎
  • 双语内容生成
  • 跨平台 Hugo 部署

scripts/

主要脚本包括:

  • sync.py:通过 rclone 同步 summarize、website、research、benchmark 和 backups 数据,也支持生成及部署 DAG 站点。
  • onboard.py:新机器的一次性初始化,负责 SSH、Claude/Codex CLI、认证、Python extras、AI Companion、工具配置和 rclone bootstrap。
  • smoke.sh:只读 smoke test,检查帮助、硬件信息和导入,不调用 LLM、网络或执行写入。
  • serve_local_llm.sh:创建适合 summarize 的 Ollama 模型变体并输出环境变量。
  • language.py:Hugo 双语内容审计以及 summarize 报告重命名。
  • profile_translation.py:翻译引擎 GPU profiler。

AI Companion

../ai-companion/ 是独立的 Node.js/TypeScript 仓库,提供:

  • 函数级代码变更记录
  • 测试和 HTML 报告生成
  • /idea/ccplan/ccedit 规划执行流程
  • Claude Code 和 Codex 集成
  • 优化、调试、审计、清理、论文写作等 skills

Node.js 18+ 只在使用这个独立仓库时需要。


二、第一次使用 Gadget 的教程

以下教程严格限定在 README 已给出的信息和命令范围内。README 将更细的配置字段、数据格式和 FAQ 放在 TUTORIAL.md 及各工具自己的教程里,因此这里不会猜测未给出的配置项。

1. 环境准备

Python

需要 Python 3.10 或更高版本。

README 推荐使用名为 AI 的 conda 环境:

conda activate AI

README 没有提供创建该 conda 环境的命令,所以需要事先自行准备一个 Python 3.10+ 环境。

Node.js

只有在使用独立的 AI Companion 仓库时才需要 Node.js 18+:

../ai-companion/

仅运行 Gadget 的 Python 工具时,README 没有要求必须安装 Node.js。

其他外部组件

不同工具还可能需要:

  • rclone:跨设备同步
  • Hugo:博客构建和本地预览
  • pngquant:图片压缩
  • HandBrakeCLI:视频压缩
  • Ollama:默认 LLM 或翻译后端
  • PyTorch、NumPy、Plotly:benchmark
  • Gradio、GGUF/transformers:translator

具体的工具依赖也可查看各工具目录中的 requirements.txt

2. 安装

以下命令都应在 Gadget 仓库根目录执行,除非命令前明确要求切换目录。

安装公共包

pip install -e .

这是所有工具依赖的 common/ 基础包安装方式。

安装后,仓库根目录可能生成:

build/
gadget.egg-info/

它们是构建产物,已经被 gitignore,不应提交。

安装主要工具的全部 extras

pip install -e ".[all]"

这个 all 包含:

  • summarize
  • research
  • benchmark
  • website

但不包含 translator。

单独安装 Translator

pip install -e ".[translator]"

只安装 Website 相关依赖

pip install -e ".[website]"

这个 extras 包括网站翻译所需的 torch 和 transformers。

3. 基础配置

根配置文件

所有工具的主要设置位于仓库根目录的:

config.json

该文件不会被 Git 跟踪。README 要求从以下示例复制:

config.example.json

README 没有给出具体复制命令或各字段内容,因此应参照示例文件手动创建 config.json

如需使用其他配置文件路径,可设置:

GADGET_CONFIG

LLM 后端

Summarize 和 Research 统一支持以下 --api 值:

  • ollama
  • claude_cli
  • anthropic
  • openai

默认值是 ollama

也可以通过全局环境变量选择后端:

GADGET_LLM_BACKEND

注意:

  • ollama 使用本地 Ollama,不需要 API key。
  • claude_cli 复用 Claude Code CLI 的登录状态,不需要 API key。
  • README 没有给出 Anthropic 和 OpenAI 密钥的具体变量名或配置字段,因此不要自行猜测,需查看项目教程或配置示例。

翻译配置

翻译模型可通过以下环境变量覆盖:

GADGET_TRANSLATION_MODEL

翻译后端可通过以下变量选择:

GADGET_TRANSLATION_BACKEND

默认模型:

tencent/Hy-MT2-1.8B

模型会在第一次使用时自动下载。

Token 和初始化配置

API key 和新机器初始化表放在:

tokens/

初始化表为:

tokens/onboard.yaml

tokens/ 已经被 gitignore,绝对不要提交其中的内容。

README 说明:填写 tokens/onboard.yaml 后运行 scripts/onboard.py,即可完成仓库级的一次性机器配置,包括:

  • SSH 配置
  • Claude/Codex CLI 安装和认证
  • Python extras 安装
  • AI Companion 安装
  • 各工具配置
  • rclone bootstrap

README 没有在命令块中给出 onboard.py 的完整调用示例,因此这里不扩展其参数。

4. Summarize 使用教程

Summarize 推荐使用统一入口:

python -m summarize

第一步:在当前设备导出对话记录

python -m summarize daily export

该命令执行多设备流程的第一阶段,导出所有尚未导出的日期。

每台有 AI 对话记录的设备都应执行这一阶段。

第二步:同步并按日合并

python -m summarize daily merge --sync-all

该命令同步所有日期的数据,并逐日合并生成日报。

生成指定周的周报

python -m summarize weekly generate --week 2026-W12 --deploy

其中:

  • 2026-W12 表示 2026 年第 12 周。
  • --deploy 表示生成后部署。

生成指定月份的月报

python -m summarize monthly generate --month 2026-02 --deploy

其中:

  • 2026-02 表示 2026 年 2 月。
  • --deploy 表示生成后部署。

一键运行完整流程

python -m summarize auto --deploy

它会依次完成:

export → merge → weekly → monthly → deploy

旧版入口

以下旧脚本仍然兼容:

python tools/summarize/daily_summary.py ...
python tools/summarize/weekly_summary.py ...
python tools/summarize/monthly_summary.py ...

但 README 推荐使用:

python -m summarize

README 没有列出旧入口的具体参数,因此不应把新入口参数直接假设为旧入口参数。

5. Research 使用教程

Research 的统一入口是:

python tools/research/research_scout.py

完整论文搜索和报告流程

python tools/research/research_scout.py report --project my-project

该命令执行:

搜索 → 三阶段评估 → 生成报告

my-project 是 README 示例中的项目名称。

使用自然语言搜索论文

python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

工具会根据问题自动选择搜索来源。

生成研究者画像

python tools/research/research_scout.py profile "Sergey Levine"

研究者画像可能包括:

  • ArXiv 和 Semantic Scholar 的论文数据
  • 引用数据
  • 研究轨迹分析
  • tier score
  • 导师—学生关系发现
  • 同名消歧
  • 反向查找

具体输出字段没有在 README 中展开。

分析论文引用图谱

使用 arXiv ID:

python tools/research/research_scout.py citations 2301.12597

README 表明该位置也支持 DOI,但没有提供 DOI 示例格式,因此不额外编造示例。

分析内容包括:

  • 前向引用
  • 后向参考文献
  • LLM 驱动的影响力解读

将报告部署到 Hugo

python tools/research/research_scout.py deploy

深度论文洞察

README 说明 Research 支持 --insight,可以:

  • 下载论文全文
  • 分析写作结构
  • 分析发表策略
  • 提取可复用核心知识
  • 匹配 OpenReview
  • 分析审稿共识和争议
  • 综合生成研究写作指南

但 README 没有给出完整的 --insight 命令组合,因此不应猜测它应放在哪个子命令之后。使用时应查看 tools/research/TUTORIAL.md

6. Benchmark 使用教程

所有 Benchmark 命令都必须先进入其目录:

cd tools/benchmark

执行全部 benchmark

python -m benchmark.cli

结果会追加到 CSV 中,不覆盖已有结果。

只测 CPU

python -m benchmark.cli --cpu-only

只测 GPU

python -m benchmark.cli --gpu-only

工具会自动检测:

  • CUDA
  • Apple MPS
  • Intel XPU

执行测试并生成 HTML 报告

python -m benchmark.cli --report

报告使用 Plotly 生成交互式图表。

执行测试、生成报告并部署

python -m benchmark.cli --report --deploy

报告将发布到 Hugo 网站的:

/benchmark/

测试采用预热、正式测量、中位数统计、IQR 异常值剔除和 GPU 同步。由于 CSV 使用追加模式,可以在不同硬件上反复运行并累积排行榜数据。

7. Website 使用教程

安装网站依赖

在仓库根目录运行:

pip install -e ".[website]"

macOS/Linux:构建并发布

cd tools/website && bash update.sh

该流程会执行:

  • 增量压缩修改过的图片和视频
  • 本地模型双语翻译
  • Hugo 构建
  • 提交并推送 GitHub Pages 部署仓库

Windows:构建并发布

在仓库根目录运行:

powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

Windows 脚本会自动切换到自身目录,不需要提前执行 cd tools/website

本地预览

cd tools/website && hugo server -D

-D 会让本地开发服务器包含草稿内容。

网站文件注意事项

自动生成内容直接写入:

tools/website/content
tools/website/static

带有 gadget_generated 标记的文件可能被自动更新;没有该标记的手写文件不会被覆盖。

不要手动提交或直接修改部署仓库:

tools/website/public/

它由构建脚本自动提交和推送。

8. Translator 使用教程

安装依赖

pip install -e ".[translator]"

启动翻译界面

python -m translator

启动后会打开浏览器中的 Gradio GUI。

可以在界面中:

  • 输入文本进行翻译
  • 上传 .md.txt.pdf.docx 或图片
  • 选择源语言和目标语言
  • 管理或切换翻译模型

第一次运行时,默认模型会自动下载。

将源语言设为 auto 时,工具会通过 CJK 字符比例检测语言;将目标语言设为 auto 时,会自动在中文和英文之间反向翻译。

9. 数据同步

同步由 rclone 驱动,配置位于根目录 config.jsonsync 部分。

查看同步工具入口:

python scripts/sync.py

跨设备推送和拉取分别使用:

python scripts/sync.py push
python scripts/sync.py pull

README 还说明 sync.py 支持:

status
bootstrap
config

以及 summarize、website、research、benchmark、backups 和特殊 dag 分类,但没有给出这些操作的完整命令组合,因此这里不扩展参数。

10. 本地 Summarize Ollama 环境

README 提供的启动及环境变量加载命令为:

eval "$(bash scripts/serve_local_llm.sh env)"

该脚本会创建适合 Summarize 的 Ollama 变体并输出环境设置。

长期配置项应写入根目录 config.jsonsummarize 部分,也可以用 GADGET_CONFIG 指向其他配置文件。

11. 运行只读 smoke test

bash scripts/smoke.sh

该检查只执行:

  • --help
  • --info
  • Python 导入检查

它不会调用 LLM、访问网络或写入文件,适合安装后做基础验证。

12. 输出文件在哪里

所有可重建的生成物统一放在:

outputs/

结构如下:

outputs/
├── logs/         # 导出日志、运行日志等中间产物
├── reports/      # Markdown、JSON、HTML 最终报告
├── cache/        # LLM 和搜索缓存
├── data/         # CSV、JSON profile 等结构化数据
├── images/       # 图表和生成图片
└── backups/      # 强制覆盖前的备份

Hugo 内容不经过 outputs/site 暂存,而是直接写入:

tools/website/content
tools/website/static

13. 使用时必须注意

  • 不要提交 tokens/ 中的 API key 或 onboarding 配置。
  • 不要提交 outputs/ 中的自动生成文件。
  • 不要提交 build/gadget.egg-info/
  • 不要提交 rclone 同步过来的数据。
  • 不要直接提交 tools/website/ 下的部署仓库或主题仓库。
  • config.json 是本地配置文件,应从 config.example.json 创建。
  • Translator 不包含在 .[all] 中,需要单独安装 .[translator]
  • 网站和翻译功能使用本地推理模型,第一次运行时可能需要下载 tencent/Hy-MT2-1.8B
  • 更细的配置字段、数据格式、故障排除和 --insight 等未完整展示的用法,需要查阅仓库中的 TUTORIAL.md 和各工具教程;仅凭本 README 无法可靠补充。
Codex · GPT-5.6-Terra — 6,622 字符 · 42 个代码块 · README 事实点 15/16

项目概述

Gadgets 是一个开发者日常工具集合,覆盖五类任务:

  • AI 对话记录的日报、周报、月报生成
  • 学术论文检索、研究者分析与引用图谱
  • CPU/GPU 性能基准测试
  • Hugo 博客自动构建、媒体压缩与发布
  • 本地模型驱动的文档翻译

tools/ 下的每个目录都是可独立使用的工具;根目录的 common/ 提供它们共用的能力,例如 LLM 调用、缓存、JSON 解析、原子写入、翻译引擎和 Hugo 部署。开发流程和 Claude Code 技能不在本仓库中,而在同级目录的独立仓库 ../ai-companion/

仓库结构

gadget/
├── tools/
│   ├── summarize/   # AI 对话日报 / 周报 / 月报
│   ├── research/    # 论文发现、研究者分析、引用图谱
│   ├── benchmark/   # CPU/GPU 性能测试
│   ├── website/     # Hugo 博客及自动发布
│   └── translator/  # Gradio 文档翻译器
├── common/          # 所有工具共享的基础能力
├── scripts/         # 同步、初始化、检查等运维脚本
├── docs/            # 设计文档、ECL 计划、审计与历史资料
├── outputs/         # 可重新生成的输出文件(已忽略 Git)
├── AGENTS.md        # AI Agent 工作流程协议
├── CLAUDE.md        # Claude Code 仓库说明
└── pyproject.toml   # Python 打包与依赖配置

生成结果统一放在 outputs/

outputs/
├── logs/      # 导出及运行日志
├── reports/   # Markdown、JSON、HTML 报告
├── cache/     # LLM 与搜索缓存
├── data/      # CSV、JSON 等结构化数据
├── images/    # 图表和生成图片
└── backups/   # 强制覆盖时的备份

Hugo 网站内容则直接写入 tools/website/contenttools/website/static

各工具用途

工具 用途
summarize 从 Claude Code、Codex、Cursor Agent、ChatGPT 或通用 JSON 读取对话记录,生成日报、周报、月报,并统计各 Agent CLI 的 token 使用量和成本。
research 从 arXiv、bioRxiv、PubMed 等来源发现论文;可做论文深度洞察、研究者画像、导师学生关系推断及正反向引用分析。
benchmark 跨平台测试 CPU/GPU 浮点性能,支持 CUDA、Apple MPS、Intel XPU,并能生成 HTML 图表、排行榜及发布到 Hugo。
website Hugo 静态博客,具备增量图片/视频压缩、自动翻译、构建与推送 GitHub Pages 的能力。
translator 基于 Gradio 的本地文档翻译网页,可翻译文本、Markdown、TXT、PDF、DOCX 和图片,并尽量保留 Markdown 格式。

使用教程

1. 环境准备

README 指定的基础环境为:

  • Python 3.10+
  • 推荐使用 Conda 环境 AI
  • Node.js 18+:仅当需要使用同级的 ../ai-companion/ 仓库时需要
  • 网站与翻译功能需要本地推理引擎:优先 Ollama;Linux 可使用 vLLM,Windows 可回退到 transformers
  • 翻译模型 tencent/Hy-MT2-1.8B 会在首次使用时自动下载

如果使用 Conda:

conda activate AI

工具设置位于根目录 config.json,README 说明应从 config.example.json 复制得到。该配置文件可用环境变量覆盖路径:

GADGET_CONFIG

不要提交以下内容到 Git:

  • tokens/ 内的 API 密钥和初始化表
  • outputs/
  • build/
  • gadget.egg-info/
  • tools/website/ 下的部署仓库和主题仓库
  • 自动生成内容及 rclone 同步的数据

2. 安装依赖

先在仓库根目录安装共享包和常用工具依赖:

pip install -e ".[all]"

注意:all 不包含翻译器。若需要翻译器,再单独安装:

pip install -e ".[translator]"

如只使用网站功能:

pip install -e ".[website]"

各工具目录也有对应的 requirements.txt,可在需要时查阅。

3. LLM 与翻译后端配置

支持的统一 LLM 后端包括:

  • ollama:默认,本地 Ollama,不需要 API Key
  • claude_cli:复用 Claude Code CLI 登录状态,不需要 API Key
  • anthropic
  • openai

支持通过各工具的 --api 参数切换,也可以全局设置:

GADGET_LLM_BACKEND

翻译功能使用本地推理后端,可通过下列环境变量选择:

GADGET_TRANSLATION_BACKEND

README 给出的默认选择顺序是:

ollama → llamacpp / vllm / transformers

默认模型为:

tencent/Hy-MT2-1.8B

可通过下列环境变量替换翻译模型:

GADGET_TRANSLATION_MODEL

4. 使用对话总结工具:Summarize

该工具采用两阶段、多设备工作流:

  1. 在每台设备导出对话日志。
  2. 通过云盘同步或手动复制聚合数据,并按日期合并。
  3. 生成日报后,再生成周报和月报。

导出所有尚未导出的日期:

python -m summarize daily export

同步所有日期并逐日合并:

python -m summarize daily merge --sync-all

生成周报并部署:

python -m summarize weekly generate --week 2026-W12 --deploy

生成月报并部署:

python -m summarize monthly generate --month 2026-02 --deploy

执行从导出、合并到周报、月报和部署的一键完整流程:

python -m summarize auto --deploy

旧入口仍保持兼容,但推荐使用上面的模块化形式:

python tools/summarize/daily_summary.py
python tools/summarize/weekly_summary.py
python tools/summarize/monthly_summary.py

该工具通过 ccusage 20.x 的分来源命令,自动发现并汇总各类 Agent CLI 的 token 使用与成本。可选 LLM 后端为 ollamaclaude_clianthropicopenai


5. 使用论文研究工具:Research

统一入口是:

python tools/research/research_scout.py

对某个项目执行完整论文发现流程:搜索、三阶段评估和报告生成:

python tools/research/research_scout.py report --project my-project

用自然语言搜索论文;工具会自动路由到合适的数据源:

python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

生成某位研究者的画像:

python tools/research/research_scout.py profile "Sergey Levine"

根据 arXiv ID 或 DOI 分析引用图谱:

python tools/research/research_scout.py citations 2301.12597

将研究报告部署到 Hugo:

python tools/research/research_scout.py deploy

研究工具包括四类能力:

  • 论文发现:来自 arXiv、bioRxiv、PubMed,经过快速筛选、深度评估、引用影响力分析三阶段流程。
  • 深度论文洞察:通过 --insight 下载全文并分析写作结构、发表策略和可复用知识,也会匹配 OpenReview 的评审意见。
  • 研究者画像:结合 ArXiv 与 Semantic Scholar 的论文、引用数据生成研究轨迹、评分和关系推断。
  • 引用图谱:基于 Semantic Scholar API 做正向引用与参考文献分析,并由 LLM 解读影响力。

其 LLM 后端同样可用 --api 切换。


6. 使用性能测试工具:Benchmark

所有命令都要求先进入工具目录:

cd tools/benchmark

运行全部基准测试:

python -m benchmark.cli

只测 CPU:

python -m benchmark.cli --cpu-only

只测 GPU:

python -m benchmark.cli --gpu-only

运行测试并生成 HTML 报告:

python -m benchmark.cli --report

生成报告并发布至 Hugo 的 /benchmark/

python -m benchmark.cli --report --deploy

该工具支持 NVIDIA CUDA、Apple Silicon MPS 和 Intel XPU 的实际 GPU 测试;OpenCL 只可能出现在 --info 检测中。结果以追加形式写入 CSV,不会覆盖原有结果,适合汇总多台机器的成绩。


7. 使用 Hugo 网站工具:Website

安装网站相关依赖:

pip install -e ".[website]"

在 macOS 或 Linux 上执行增量压缩、Hugo 构建和 Pages 推送:

cd tools/website && bash update.sh

在 Windows 上执行对应脚本:

powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

本地启动 Hugo 预览服务器,并包含草稿内容:

cd tools/website && hugo server -D

网站自动处理以下工作:

  • 仅压缩自 .last_build 后发生变化的媒体文件。
  • 图片使用 pngquant,视频使用 HandBrakeCLI
  • 自动生成的日报、研究报告、Benchmark 页面等会直接写入 Hugo 内容根目录。
  • 生成文件会带 gadget_generated 标记;没有该标记的手写文件不会被覆盖。
  • 构建脚本会自动提交并推送 tools/website/public/ 中独立的 GitHub Pages 部署仓库。

不要直接向 tools/website/public/ 提交内容。


8. 使用文档翻译器:Translator

安装翻译器:

pip install -e ".[translator]"

启动 Gradio 图形界面:

python -m translator

启动后会在浏览器中打开本地翻译页面。

支持翻译:

  • 纯文本
  • .md
  • .txt
  • .pdf
  • .docx
  • 图片

翻译器会保护 Markdown 中的代码块、URL、Hugo shortcode 等片段,以尽可能保留原格式。源语言可设置为 auto,它会根据文本中 CJK 字符比例识别;目标语言设为 auto 时,会在中文和英文之间自动切换。


9. 运维与同步脚本

查看或执行集中式 rclone 数据同步:

python scripts/sync.py

README 明确列出了跨设备同步的推送和拉取形式:

python scripts/sync.py push
python scripts/sync.py pull

同步配置位于根目录 config.jsonsync 部分,也可通过 GADGET_CONFIG 指定其他配置文件。

新机器的一次性初始化流程:

  1. 填写 tokens/onboard.yaml
  2. 执行:
python scripts/onboard.py

它会完成 SSH、Claude/Codex CLI 安装与认证、pip extras、ai-companion、各工具配置以及 rclone 初始化。

执行不产生网络、LLM 调用或写入的只读冒烟检查:

bash scripts/smoke.sh

创建面向 summarize 的 Ollama 变体并输出环境配置:

eval "$(bash scripts/serve_local_llm.sh env)"

如需系统级安装 Ubuntu 22.04/24.04 服务器上的 SSH 公钥、Claude Code、Codex、Superpowers、Ponytail 和 AI Companion,可查看同级仓库脚本帮助:

bash ../ai-companion/scripts/onboard-server.sh --help
Codex · GPT-5.6-Luna — 7,667 字符 · 53 个代码块 · README 事实点 16/16

一、项目总结

1. Gadget 是什么

Gadget 是一个由多个独立工具组成的实用开发工具集合,覆盖:

  • AI 对话日报、周报、月报生成
  • 学术论文发现与研究者分析
  • CPU/GPU 性能基准测试
  • Hugo 博客自动构建与发布
  • 本地模型驱动的文档翻译

每个 tools/ 子目录都是一个可以独立使用的工具。仓库根目录的 common/ 提供共享能力,包括:

  • LLM 调用
  • JSON 解析与修复
  • 磁盘缓存
  • 原子写入
  • 本地模型翻译
  • Hugo 部署

开发流程、代码变更跟踪和 Claude Code 技能由仓库外部的 ../ai-companion/ 提供。

2. 仓库结构

gadget/
├── tools/
│   ├── summarize/      # AI 对话日报、周报、月报
│   ├── research/       # 论文发现、研究者分析、引用图谱
│   ├── benchmark/      # CPU/GPU 性能测试
│   ├── website/        # Hugo 博客
│   └── translator/     # Gradio 文档翻译器
├── common/             # 共享基础设施
├── scripts/            # 同步、初始化、维护脚本
├── docs/               # 设计文档、计划和历史资料
├── outputs/            # 生成的报告、缓存、数据和图片
├── AGENTS.md           # AI Agent 工作流协议
├── CLAUDE.md           # Claude Code 使用说明
└── pyproject.toml      # Python 打包配置

需要修改时:

目标 目录
修改某个工具 tools/<tool>/
修改共享能力 common/
修改数据同步 scripts/sync.py
初始化新机器 scripts/onboard.py
修改开发工作流或技能 ../ai-companion/

3. 各工具功能

summarize

读取 Claude Code、Codex、Cursor Agent、ChatGPT 等来源的 AI 对话记录,调用 LLM 生成:

  • 日报
  • 周报
  • 月报和趋势总结

它采用多设备两阶段流程:

  1. 各设备导出对话记录
  2. 汇总数据并按天生成报告

同时通过 ccusage 统计不同 Agent CLI 的 token 使用量和成本。

支持四种 LLM 后端:

  • ollama:默认,本地 Ollama,无需 API Key
  • claude_cli:复用 Claude Code 登录状态
  • anthropic
  • openai

research

学术研究工具,包含四类能力:

  • 论文发现:搜索 arXiv、bioRxiv、PubMed,并进行三阶段 LLM 评估
  • 深度论文洞察:分析论文写作结构、发表策略、核心知识和 OpenReview 评审意见
  • 研究者画像:结合 ArXiv 和 Semantic Scholar 数据分析研究轨迹、引用情况及导师-学生关系
  • 引用图谱:分析论文的前向引用和后向参考文献

benchmark

跨平台 CPU/GPU 浮点性能测试工具。

支持:

  • NVIDIA CUDA
  • Apple Silicon MPS
  • Intel XPU

支持多种精度,包括 FP64、FP32、FP16、BF16 和实验性的 FP8。

结果会追加写入 CSV,不会覆盖历史数据;还可以生成 Plotly 交互式 HTML 报告和排行榜。

website

基于 Hugo 的博客站点,使用 PaperMod 主题,发布到 GitHub Pages。

主要功能:

  • 增量压缩图片和视频
  • 自动翻译双语内容
  • 自动构建 Hugo 网站
  • 自动提交并推送部署仓库
  • 接收日报、周报、研究报告、基准测试页面等自动生成内容

网站内容写入:

tools/website/content
tools/website/static

tools/website/public/ 是单独的部署仓库,不应直接提交到当前项目。

translator

基于 Gradio 的本地文档翻译器,支持:

  • 文本
  • Markdown
  • TXT
  • PDF
  • DOCX
  • 图片

它会保护 Markdown 代码块、URL 和 Hugo shortcode 等内容。默认使用本地模型 tencent/Hy-MT2-1.8B,也支持 GGUF 版本。

翻译后端由共享翻译引擎自动选择:

  • Ollama
  • vLLM
  • transformers
  • llama.cpp/GGUF

4. common/scripts/outputs/

common/

共享 Python 包,安装后供各工具使用,包含 LLM、缓存、IO、翻译和 Hugo 部署功能。

scripts/

主要脚本包括:

  • sync.py:使用 rclone 同步数据
  • onboard.py:新机器初始化
  • smoke.sh:对所有工具执行只读冒烟检查
  • serve_local_llm.sh:创建适合 summarize 的 Ollama 模型变体
  • language.py:检查 Hugo 双语内容
  • profile_translation.py:分析翻译引擎 GPU 性能

outputs/

所有生成物集中在这里:

outputs/
├── logs/
├── reports/
├── cache/
├── data/
├── images/
└── backups/

该目录已被 Git 忽略,可以自动重新生成。


二、中文使用教程

1. 环境准备

项目要求:

  • Python 3.10+
  • Node.js 18+,仅 ../ai-companion/ 需要
  • 各工具的额外依赖见对应目录中的 requirements.txt

README 推荐使用名为 AI 的 conda 环境:

conda activate AI

如果使用 AI Companion,还需要将其放在当前仓库的兄弟目录:

../ai-companion/

它是独立仓库,不属于 Gadget 本身。

2. 安装基础依赖

在仓库根目录执行:

pip install -e .

这会以可编辑模式安装根目录的 common/ 共享包。

如果要安装 summarize、research、benchmark 和 website 的依赖,可以执行:

pip install -e ".[all]"

注意:all 不包含 translator。

安装翻译器依赖:

pip install -e ".[translator]"

如果需要网站功能,可以执行:

pip install -e ".[website]"

网站依赖包含翻译所需的 PyTorch 和 transformers。

3. 配置文件和密钥

项目根目录的工具设置位于:

config.json

README 说明该文件被 Git 忽略,应从:

config.example.json

复制后再配置。

也可以通过环境变量指定其他配置文件路径:

GADGET_CONFIG

API Key 和初始化配置放在:

tokens/

该目录同样被 Git 忽略,不能提交到仓库。

LLM 后端可以统一通过 --api 选择:

  • ollama
  • claude_cli
  • anthropic
  • openai

也可以通过全局环境变量:

GADGET_LLM_BACKEND

进行设置。

翻译后端可以通过:

GADGET_TRANSLATION_BACKEND

控制,翻译模型可以通过:

GADGET_TRANSLATION_MODEL

覆盖。

4. 新机器初始化

项目提供一次性初始化脚本。README 要求先填写:

tokens/onboard.yaml

然后运行:

python scripts/onboard.py

该脚本会自动处理:

  • SSH 配置
  • Claude/Codex CLI 安装和认证
  • pip extras 安装
  • ai-companion 安装
  • 各工具配置
  • rclone 初始化

服务器级别的 Ubuntu 22.04/24.04 初始化脚本位于 ai-companion 仓库:

bash ../ai-companion/scripts/onboard-server.sh --help

5. 数据同步和基础检查

项目使用 rclone 进行跨设备数据同步。查看同步脚本帮助:

python scripts/sync.py

同步数据:

python scripts/sync.py push
python scripts/sync.py pull

运行只读冒烟检查:

bash scripts/smoke.sh

该检查会验证各工具的帮助信息、信息检测和导入,不会调用 LLM、访问网络或写入数据。


三、各工具使用方法

1. Summarize:生成 AI 对话报告

日报流程

第一阶段:导出所有尚未导出的日期:

python -m summarize daily export

第二阶段:同步所有日期并逐日合并:

python -m summarize daily merge --sync-all

生成指定周的周报,并部署到 Hugo:

python -m summarize weekly generate --week 2026-W12 --deploy

生成指定月份的月报,并部署到 Hugo:

python -m summarize monthly generate --month 2026-02 --deploy

一键执行完整流程

python -m summarize auto --deploy

该命令执行:

导出 → 合并 → 周报 → 月报 → 部署

旧版入口仍然兼容,例如:

python tools/summarize/daily_summary.py
python tools/summarize/weekly_summary.py
python tools/summarize/monthly_summary.py

但 README 推荐使用:

python -m summarize

LLM 后端

Summarize 默认使用本地 Ollama,也支持:

ollama
claude_cli
anthropic
openai

具体后端通过 --api 参数切换。

2. Research:论文搜索与研究者分析

生成研究项目报告

python tools/research/research_scout.py report --project my-project

该流程会执行论文搜索、三阶段评估并生成报告。

使用自然语言搜索论文

python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

工具会根据问题自动选择数据源。

生成研究者画像

python tools/research/research_scout.py profile "Sergey Levine"

它会获取论文与引用数据,并生成研究轨迹分析。

分析论文引用图谱

python tools/research/research_scout.py citations 2301.12597

参数可以是 arXiv ID,也可以是 DOI。

部署研究报告

python tools/research/research_scout.py deploy

Research 的 LLM 后端同样支持:

ollama
claude_cli
anthropic
openai

通过 --api 统一切换。

3. Benchmark:运行 CPU/GPU 性能测试

README 特别说明:所有 Benchmark 命令都需要先进入目录:

cd tools/benchmark

运行全部基准测试:

python -m benchmark.cli

结果会追加到 CSV。

只运行 CPU 测试:

python -m benchmark.cli --cpu-only

只运行 GPU 测试:

python -m benchmark.cli --gpu-only

运行测试并生成 HTML 报告:

python -m benchmark.cli --report

运行测试、生成报告并部署到 Hugo:

python -m benchmark.cli --report --deploy

工具会自动检测 CUDA、Apple MPS 和 Intel XPU。OpenCL 只可能出现在 --info 检测结果中,并不代表会执行 OpenCL 基准测试。

4. Website:构建和预览 Hugo 网站

安装网站依赖:

pip install -e ".[website]"

macOS/Linux:构建并发布

cd tools/website && bash update.sh

该流程包括:

  1. 增量压缩媒体文件
  2. 执行 Hugo 构建
  3. 推送到 GitHub Pages

图片使用 pngquant 压缩,视频使用 HandBrakeCLI 处理。

Windows:构建并发布

powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

该脚本会自动切换到自身所在目录。

本地预览

cd tools/website && hugo server -D

-D 表示预览时包含 drafts。

网站中的自动生成内容会直接写入:

tools/website/content
tools/website/static

带有 gadget_generated 标记的自动生成文件可以被部署流程更新;没有该标记的手写文件不会被覆盖。

5. Translator:启动本地文档翻译器

安装翻译器依赖:

pip install -e ".[translator]"

启动 Gradio 图形界面:

python -m translator

启动后会打开浏览器。

翻译器支持文本和以下文件:

.md
.txt
.pdf
.docx
图片

默认模型是:

tencent/Hy-MT2-1.8B

GGUF 版本是:

tencent/Hy-MT2-1.8B-GGUF

模型首次使用时会自动下载。翻译器默认优先使用本地 Ollama;Linux 上可以使用 vLLM,Windows 上可以回退到 transformers,也支持低显存的 GGUF/llama.cpp 路径。

源语言可以设置为 auto,目标语言设置为 auto 时,会在中文和英文之间自动切换。


四、常见注意事项

  • outputs/ 中的文件是自动生成物,不应提交。
  • tokens/ 中包含密钥和初始化信息,不能提交。
  • build/gadget.egg-info/ 是安装产生的构建文件。
  • 不要直接提交 tools/website/public/ 或网站主题、部署仓库。
  • 跨设备同步需要先配置 rclone。
  • 网站和翻译功能依赖本地推理引擎,默认使用 Ollama。
  • ../ai-companion/ 是独立仓库,负责开发工作流和技能。
  • 项目使用 GPL-3 许可证。
Codex · GPT-5.5 — 8,517 字符 · 57 个代码块 · README 事实点 16/16

下面内容只依据你给出的 README,总结与教程中不会补充 README 未出现的命令或参数。

一、项目总结

Gadget 是一个日常开发中积累的实用工具集合,覆盖 AI 对话日报/周报/月报生成、论文发现与研究者分析、性能基准测试、Hugo 博客自动化、文档翻译等场景。

它的核心设计是:tools/ 下的每个目录都是一个可以独立使用的工具;仓库根目录的 common/ 是共享基础设施包,通过 pip install -e . 安装,为各工具提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等通用能力。开发工作流和 Claude Code skills 不在本仓库内,而是由相邻目录 ../ai-companion/ 中的独立仓库提供,并通过 hook 接入。

仓库结构

gadget/
├── tools/              # 五个独立工具
│   ├── summarize/      # AI 对话日报 / 周报 / 月报
│   ├── research/       # 论文发现、研究者分析、引用图
│   ├── benchmark/      # CPU/GPU 性能基准测试
│   ├── website/        # Hugo 博客,媒体压缩,自动构建发布
│   └── translator/     # Gradio 文档翻译器
├── common/             # 共享基础设施包
├── scripts/            # 运维与维护脚本
├── docs/               # 设计文档、ECL 计划、审计报告、历史归档
├── outputs/            # 所有生成产物,gitignored,可重新生成
├── AGENTS.md           # AI agent 工作流协议
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # common 和各工具的 Python packaging 配置

outputs/ 用于集中存放生成结果:

outputs/
├── logs/         # 中间日志和运行日志
├── reports/      # 最终报告,Markdown / JSON / HTML
├── cache/        # LLM 缓存、搜索缓存
├── data/         # CSV、JSON profiles 等结构化数据
├── images/       # 图表和生成图片
└── backups/      # 强制覆盖备份

Hugo 网站内容不会先写入 outputs/site,而是由部署流程直接写入 tools/website/content|static

各工具作用

tools/summarize/:AI 对话报告生成工具。
自动读取 Claude Code、Codex、Cursor Agent、ChatGPT、通用 JSON 等 AI 对话记录,调用 LLM 生成日报、周报、月度趋势总结。支持多设备流程:各设备导出对话日志,通过云盘同步或手动复制聚合,再生成最终报告。通过 ccusage 20.x 统计各 agent CLI 的 token 用量和成本。LLM 后端可通过 --api 统一切换,包括 ollamaclaude_clianthropicopenai

tools/research/:学术研究工具。
统一入口是 tools/research/research_scout.py,提供论文发现、深度论文洞察、研究者画像、引用图分析四类能力。支持 arXiv、bioRxiv、PubMed、Semantic Scholar,并用 LLM 完成筛选、评估、影响分析、写作结构分析、研究轨迹分析等。

tools/benchmark/:CPU/GPU 性能基准测试工具。
跨平台测量不同硬件和精度层级下的浮点性能,支持 NVIDIA CUDA、Apple Silicon MPS、Intel XPU 的实际 GPU 运行。结果追加写入 CSV,可生成 Plotly 交互式 HTML 报告和排行榜,也支持部署到 Hugo 网站。

tools/website/:Hugo 博客站点。
这是 Hugo 静态博客 “TzJ’s Net”,使用 PaperMod 主题,部署到 GitHub Pages。它带有增量图片/视频压缩流程,图片用 pngquant,视频用 HandBrakeCLI。自动生成内容会写入 tools/website/content|static,并带 gadget_generated 标记;没有这个标记的手写文件不会被覆盖。tools/website/public/ 是单独的部署仓库,不应直接提交。

tools/translator/:Gradio 文档翻译器。
基于 common 翻译引擎,提供类似 Google Translate 的本地翻译网页。支持文本和 .md.txt.pdf.docx、图片等文件翻译,并尽量保留 Markdown 格式,保护代码块、URL、Hugo shortcode 等片段。默认模型是 tencent/Hy-MT2-1.8B,也有 GGUF 变体 tencent/Hy-MT2-1.8B-GGUF

common/:共享基础设施。
提供统一 LLM 调用、JSON 解析和修复、SHA-256 磁盘缓存、原子写入、内容哈希、本地推理翻译引擎、双语内容生成、跨平台 Hugo 部署等能力。

scripts/:运维与维护脚本。
包括 sync.py 数据同步、onboard.py 新机器初始化、smoke.sh 只读 smoke 检查、serve_local_llm.sh 本地 Ollama 变体配置、language.py Hugo 双语审计和报告重命名、profile_translation.py 翻译引擎 GPU profiling 等。

../ai-companion/:独立仓库。
不属于 gadget 仓库本体。它负责函数级代码变更记录、测试和 HTML 报告生成、/idea/ccplan/ccedit 规划执行流程,以及 Claude Code skills。


二、中文使用教程

1. 环境准备

README 中列出的基础要求如下:

# Python 版本要求
Python 3.10+

推荐使用 conda 环境 AI

conda activate AI

如果需要使用相邻的 ../ai-companion/ 仓库,则需要:

Node.js 18+

每个工具的特定依赖见对应目录下的 requirements.txt

如果需要完整安装 common、summarize、research、benchmark、website 的 extras,可以在仓库根目录运行:

pip install -e ".[all]"

注意:all 不包含 translator。翻译器需要单独安装:

pip install -e ".[translator]"

网站和翻译功能使用本地推理引擎。README 中说明默认使用 Ollama;Linux 上可用 vLLM,Windows 上可用 transformers 作为 fallback。模型 tencent/Hy-MT2-1.8B 会在首次运行时自动下载。

2. 配置准备

工具配置位于仓库根目录的 config.json,该文件 gitignored。README 说明应从 config.example.json 复制而来。

如果需要覆盖配置文件路径,可以设置:

GADGET_CONFIG

LLM 后端可以通过各工具的 --api 参数切换,README 中出现的可选后端是:

ollama
claude_cli
anthropic
openai

也可以用全局环境变量:

GADGET_LLM_BACKEND

翻译后端由下面的环境变量控制:

GADGET_TRANSLATION_BACKEND

README 中说明翻译路径默认优先使用本地 Ollama server,后续可走 llamacpp / vllm / transformers。翻译模型可通过下面环境变量覆盖:

GADGET_TRANSLATION_MODEL

API key 和 onboarding 表位于 tokens/ 目录,该目录 gitignored,README 特别提醒不要提交其中内容。

3. 安装

在仓库根目录安装共享包和主要工具依赖:

pip install -e ".[all]"

如果要使用文档翻译器,再安装 translator extras:

pip install -e ".[translator]"

如果只针对 website 功能,README 给出的安装命令是:

pip install -e ".[website]"

4. 新机器初始化

README 提到新机器配置可以使用 scripts/onboard.py。流程是先填写:

tokens/onboard.yaml

然后运行:

python scripts/onboard.py

它会完成 SSH 配置、Claude/Codex CLI 安装和认证、pip extras、ai-companion 安装、各工具配置、rclone bootstrap 等。

服务器系统级安装已经迁移到 ../ai-companion/

bash ../ai-companion/scripts/onboard-server.sh --help

5. 数据同步

跨设备数据同步使用 scripts/sync.py,需要 rclone 配置。

README 中给出的通用运行方式:

python scripts/sync.py

也提到跨设备同步可使用:

python scripts/sync.py push
python scripts/sync.py pull

配置位于仓库根目录 config.jsonsync section,也可以用 GADGET_CONFIG 覆盖配置路径。

如果只是想同步数据,README 在仓库结构部分还明确写到:

python scripts/sync.py

6. Summarize:AI 对话日报、周报、月报

该工具推荐使用新的模块入口:

python -m summarize

典型流程如下。

导出所有尚未导出的日期:

python -m summarize daily export

同步所有日期并逐日合并:

python -m summarize daily merge --sync-all

生成并部署某一周的周报:

python -m summarize weekly generate --week 2026-W12 --deploy

生成并部署某一个月的月报:

python -m summarize monthly generate --month 2026-02 --deploy

一键执行完整流程:导出、合并、周报、月报并部署:

python -m summarize auto --deploy

旧入口仍然兼容:

python tools/summarize/daily_summary.py ...
python tools/summarize/weekly_summary.py ...
python tools/summarize/monthly_summary.py ...

但 README 推荐使用:

python -m summarize

LLM 后端可通过 --api 统一切换,README 中列出的值包括:

ollama
claude_cli
anthropic
openai

7. Research:论文发现、研究者分析、引用图

统一入口是:

python tools/research/research_scout.py

运行完整论文发现流程:搜索、三阶段评估、生成报告:

python tools/research/research_scout.py report --project my-project

自然语言搜索,工具会自动路由 source:

python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

生成研究者画像:

python tools/research/research_scout.py profile "Sergey Levine"

按 arXiv ID 或 DOI 做引用图分析:

python tools/research/research_scout.py citations 2301.12597

部署研究报告到 Hugo:

python tools/research/research_scout.py deploy

所有 LLM 功能同样支持通过 --api 切换后端:

ollama
claude_cli
anthropic
openai

8. Benchmark:CPU/GPU 性能基准测试

README 明确说明 benchmark 的所有命令都需要先进入 tools/benchmark/

cd tools/benchmark

运行全部 benchmark,结果追加写入 CSV:

python -m benchmark.cli

只运行 CPU:

python -m benchmark.cli --cpu-only

只运行 GPU:

python -m benchmark.cli --gpu-only

运行 benchmark 并生成 HTML 报告:

python -m benchmark.cli --report

生成报告并发布到 Hugo 的 /benchmark/

python -m benchmark.cli --report --deploy

README 说明该工具会自动检测 CUDA、Apple MPS、Intel XPU。OpenCL 可能只出现在 --info 检测中,但 README 没有给出 --info 的具体命令示例。

9. Website:Hugo 博客

安装 website 依赖:

pip install -e ".[website]"

macOS/Linux 下增量压缩、Hugo 构建并推送 GitHub Pages:

cd tools/website && bash update.sh

Windows 下运行 PowerShell 脚本,脚本会切换到自身目录:

powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

本地预览,包含 drafts:

cd tools/website && hugo server -D

README 中特别说明:

tools/website/public/ 是单独的部署仓库 tzj2006/tzj2006.github.io,由构建脚本自动 commit 和 push,不要直接提交它。

自动生成内容会写入:

tools/website/content
tools/website/static

带有 gadget_generated 标记的文件可被自动流程管理;没有该标记的手写文件不会被覆盖。

10. Translator:Gradio 文档翻译器

安装 translator 依赖:

pip install -e ".[translator]"

启动 Gradio GUI:

python -m translator

启动后会在浏览器中打开界面。

它支持翻译文本和文件,README 中列出的文件类型包括:

.md
.txt
.pdf
.docx
images

默认模型:

tencent/Hy-MT2-1.8B

GGUF 变体:

tencent/Hy-MT2-1.8B-GGUF

可以通过环境变量覆盖模型:

GADGET_TRANSLATION_MODEL

源语言可以设为 auto,通过文本 CJK 比例检测;目标语言为 auto 时,会在中英之间自动切换。

11. Smoke 检查和本地 LLM 辅助脚本

运行只读 smoke 检查:

bash scripts/smoke.sh

README 说明该脚本会检查各工具的 --help--info、imports,不触发 LLM、网络或写入。

创建 summarize-tuned Ollama variant 并打印环境变量:

eval "$(bash scripts/serve_local_llm.sh env)"

持久化配置放在仓库根目录 config.jsonsummarize section,也可以用 GADGET_CONFIG 覆盖路径。

12. 使用注意事项

不要提交这些内容:

tokens/
outputs/
build/
gadget.egg-info/
tools/website/ 下的部署仓库或 theme repo
自动生成内容
rclone 同步数据

README 中明确说明:

  • tokens/ 保存 API key 和 onboarding sheet,已 gitignored,不要提交。
  • outputs/ 保存所有生成文件,已 gitignored。
  • build/gadget.egg-info/pip install -e . 生成的构建产物。
  • 跨设备同步依赖 rclone。
  • 项目许可证是 GPL-3,见 LICENSE
Codex · GPT-5.4-Mini — 6,730 字符 · 22 个代码块 · README 事实点 15/16

下面只依据你贴出的 README.md 整理,不补充 README 之外的命令、参数或行为。

项目是什么

Gadgets 是一个“日常开发里积累出来的实用工具集”。仓库里把不同功能拆成了 5 个独立工具,每个目录都能单独使用,同时把通用能力抽到了根目录的 common/ 包里。

它覆盖的方向主要是:

  • AI 对话日报/周报/月报生成
  • 论文发现与研究者分析
  • CPU/GPU 性能基准测试
  • Hugo 博客自动化发布
  • 文档翻译

还有一个重要前提:开发工作流和 Claude Code skills 不在这个仓库里,而是在旁边的独立仓库 ../ai-companion/ 中,通过 hooks 接入。

仓库结构

gadget/
├── tools/              # 5 个独立工具
│   ├── summarize/      # AI 对话日报 / 周报 / 月报
│   ├── research/       # 论文发现 + 研究者分析 + citation graph
│   ├── benchmark/      # CPU/GPU 性能基准测试
│   ├── website/        # Hugo 博客
│   └── translator/     # Gradio 文档翻译器
├── common/             # 通用基础能力:LLM / cache / IO / translation / Hugo
├── scripts/            # 运维和维护脚本
├── docs/               # 设计文档、计划、归档
├── outputs/            # 所有生成产物
├── AGENTS.md           # 给 AI agent 的工作协议
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # 包装配置

各工具分别做什么

  • tools/summarize/:读取 AI 对话记录,生成日 / 周 / 月总结。
  • tools/research/:做论文检索、研究者画像、引用关系分析。
  • tools/benchmark/:做跨平台 CPU/GPU 性能测试,并生成报告。
  • tools/website/:Hugo 博客自动化构建、压缩、发布。
  • tools/translator/:Gradio 文档翻译器,支持文本和文件翻译。

common/ 是所有工具共享的基础库,提供:

  • LLM 调用
  • JSON 解析和修复
  • 磁盘缓存
  • 原子写入
  • 翻译引擎
  • Hugo 部署

scripts/ 里是一些运维脚本:

  • sync.py:rclone 同步
  • onboard.py:新机器初始化
  • smoke.sh:只读 smoke 测试
  • serve_local_llm.sh:创建 summarize 调优版 Ollama
  • 其他:language.pyprofile_translation.py

新手使用教程

下面按“环境准备 → 安装 → 配置 → 各工具用法”来写。

1. 环境准备

README 明确要求:

  • Python 3.10+
  • 推荐使用 conda activate AI
  • Node.js 18+ 只给旁边的 ../ai-companion/ 仓库用
  • ../ai-companion/ 是独立仓库,不在当前仓库内部
  • 需要用到的具体依赖,以各工具目录下的 requirements.txt 为准

如果你只打算用本仓库的 Python 工具,重点就是 Python 环境;如果还要动 ai-companion,再准备 Node.js。

2. 安装

README 给出的安装方式有三层:

pip install -e .

这会安装根目录的 common/ 包和仓库的基础能力。

如果你要装大部分工具的额外依赖,可以用:

pip install -e ".[all]"

README 说明:

  • all 包含 summarize / research / benchmark / website
  • all 不包含 translator

如果你要用翻译器,再单独安装:

pip install -e ".[translator]"

网站翻译功能和翻译器都依赖本地推理引擎,README 里提到:

  • 默认是 Ollama
  • Linux 上可以用 vLLM
  • Windows 上可以用 transformers
  • 模型 tencent/Hy-MT2-1.8B 会在首次运行时自动下载

3. 配置

README 里提到的配置点如下:

  • 根目录有 config.json
  • config.json 默认是 gitignored
  • 可以从 config.example.json 复制
  • 可以用 GADGET_CONFIG 覆盖配置文件路径

环境变量方面:

  • GADGET_LLM_BACKEND:统一切换 LLM 后端
  • GADGET_TRANSLATION_MODEL:指定翻译模型
  • GADGET_TRANSLATION_BACKEND:指定翻译后端

tokens/ 目录:

  • 存放 API keys 和 onboarding 表
  • 也是 gitignored
  • 不能提交

如果你是新机器初始化,README 还提到:

  • 填好 tokens/onboard.yaml
  • 然后运行一次 scripts/onboard.py
  • 它会自动处理 SSH、Claude/Codex 认证、pip extras、ai-companion 安装、各工具配置和 rclone bootstrap

README 没有在这一段里展开完整命令细节,所以我这里只保留它明确写到的内容,不额外补命令。


4. 各工具的典型用法

4.1 summarize:AI 对话日报 / 周报 / 月报

这个工具会自动读取你每天的 AI 对话记录,支持:

  • Claude Code
  • Codex
  • Cursor Agent
  • ChatGPT
  • 通用 JSON

它还会结合 ccusage 20.x 的多源命令统计 token 和成本。

README 里给出的推荐命令是:

python -m summarize daily export
python -m summarize daily merge --sync-all
python -m summarize weekly generate --week 2026-W12 --deploy
python -m summarize monthly generate --month 2026-02 --deploy
python -m summarize auto --deploy

这些命令分别表示:

  • daily export:导出所有未导出的日期
  • daily merge --sync-all:同步所有日期并按天合并
  • weekly generate --week ... --deploy:生成周报并部署
  • monthly generate --month ... --deploy:生成月报并部署
  • auto --deploy:一键完整流程,按 README 说法是 export → merge → weekly → monthly + deploy

可切换的 LLM 后端:

  • ollama,默认
  • claude_cli
  • anthropic
  • openai

README 也提到旧入口仍可用,但推荐新的形式:

python tools/summarize/daily_summary.py ...
python tools/summarize/weekly_summary.py ...
python tools/summarize/monthly_summary.py ...

4.2 research:论文发现、研究者分析、citation graph

这个工具的统一入口是:

python tools/research/research_scout.py

README 给出的典型命令:

python tools/research/research_scout.py report --project my-project
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
python tools/research/research_scout.py profile "Sergey Levine"
python tools/research/research_scout.py citations 2301.12597
python tools/research/research_scout.py deploy

这些命令分别做:

  • report:完整流程,搜索 → 三阶段评估 → 报告
  • ask:自然语言搜索,自动路由数据源
  • profile:研究者画像
  • citations:引用图分析,支持 arXiv ID / DOI
  • deploy:把报告部署到 Hugo

同样支持切换 LLM 后端:

  • ollama
  • claude_cli
  • anthropic
  • openai

4.3 benchmark:性能基准测试

README 强调:这个工具运行前要先进入目录。

cd tools/benchmark
python -m benchmark.cli
python -m benchmark.cli --cpu-only
python -m benchmark.cli --gpu-only
python -m benchmark.cli --report
python -m benchmark.cli --report --deploy

这些命令分别表示:

  • 默认跑所有 benchmark,结果追加到 CSV
  • 只跑 CPU
  • 只跑 GPU
  • 跑 benchmark 并生成 HTML 报告
  • 生成报告并发布到 Hugo 的 /benchmark/

README 还说明它支持:

  • NVIDIA CUDA
  • Apple Silicon MPS
  • Intel XPU

以及一些精度层级:

  • FP64
  • FP32
  • FP16
  • BF16
  • FP8(实验性)

4.4 website:Hugo 博客

这个工具是 Hugo 静态博客站点,README 给出了三种常用操作。

安装网站相关依赖:

pip install -e ".[website]"

构建和发布:

  • macOS / Linux:
cd tools/website && bash update.sh
  • Windows:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

本地预览:

cd tools/website && hugo server -D

README 还说明:

  • 它会做增量图片 / 视频压缩
  • 图片用 pngquant
  • 视频用 HandBrakeCLI
  • 自动生成内容会直接写入 tools/website/contenttools/website/static
  • tools/website/public/ 是单独的部署仓库,不要直接往里面提交

4.5 translator:Gradio 文档翻译器

安装依赖:

pip install -e ".[translator]"

启动 GUI:

python -m translator

这个工具会打开浏览器里的本地翻译页面,支持:

  • 文本
  • .md
  • .txt
  • .pdf
  • .docx
  • 图片

README 里特别提到:

  • 它保留 Markdown 格式
  • 会保护代码块、URL、Hugo shortcodes
  • 是本地推理,不是云 API
  • 默认模型是 tencent/Hy-MT2-1.8B
  • 也可以通过 GADGET_TRANSLATION_MODEL 或 GUI 内模型管理改掉

5. 运维和辅助脚本

这些也都是 README 明确写到的,可以直接用。

sync.py

python scripts/sync.py

README 说它负责 rclone 同步,覆盖:

  • summarize
  • website
  • research
  • benchmark
  • backups
  • 还有一个 dag 类别

smoke.sh

bash scripts/smoke.sh

这是只读 smoke 测试,不做 LLM、网络或写入。

serve_local_llm.sh

eval "$(bash scripts/serve_local_llm.sh env)"

README 说明它会创建一个 summarize 调优版的 Ollama 变体,并输出环境变量。

ai-companion 相关的 server onboarding:

bash ../ai-companion/scripts/onboard-server.sh --help

README 说明这个脚本已经迁移到 ../ai-companion/ 仓库里。


6. 一份最短上手流程

如果你只是想先跑起来,README 能支持的最短路径是:

pip install -e .
pip install -e ".[all]"

如果要用翻译器,再加:

pip install -e ".[translator]"

然后按你要做的事选工具:

python -m summarize auto --deploy
python tools/research/research_scout.py report --project my-project
cd tools/benchmark && python -m benchmark.cli --report
cd tools/website && hugo server -D
python -m translator

如果你愿意,我下一步可以把这份内容再整理成一版“更像正式文档”的中文手册,改成:

  1. 适合新手阅读的长文版
  2. 适合放进项目文档的精炼版
  3. 按“安装 / 配置 / 使用 / 常见问题”重排的版本
Claude Code · Opus 5 — 12,340 字符 · 24 个代码块 · README 事实点 16/16

一、项目总结

是什么

Gadgets 是一个日常开发中积累的实用工具合集,涵盖 AI 日报生成、论文发现、性能基准测试、博客自动化和文档翻译。tools/ 下每个目录都是一个可独立使用的工具;共享基础设施统一放在仓库根目录的 common/ 包中(通过 pip install -e . 安装),提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等通用能力。

开发工作流(规划/执行/变更追踪)和所有 Claude Code skills 由 ai-companion 提供 —— 那是一个独立仓库(git@github.com:TzJ2006/ai-companion.git),检出在同级目录 ../ai-companion/,通过 hooks 接入本仓库。许可证为 GPL-3。

仓库结构

gadget/
├── tools/              # 五个独立工具产品(改工具来这里)
│   ├── summarize/      # AI 对话日报 / 周报 / 月报
│   ├── research/       # 论文发现 + 研究者分析 + 引用图谱
│   ├── benchmark/      # CPU/GPU 性能基准测试
│   ├── website/        # Hugo 博客(增量媒体压缩 + 自动构建发布)
│   └── translator/     # Gradio 文档翻译器
├── common/             # 共享基础设施包(LLM / 缓存 / IO / 翻译 / Hugo)—— 所有工具依赖它
├── scripts/            # 运维 + 维护脚本(sync.py, onboard.py, language.py, profile_translation.py, …)
├── docs/               # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档(docs/archive/)
├── outputs/            # 所有生成产物(gitignored,可自动重建)
├── AGENTS.md           # 所有 AI agent 的工作流协议(行动前先读)
├── CLAUDE.md           # 给 Claude Code 的仓库指南
└── pyproject.toml      # common/ 与各工具的打包配置(pip install -e .)

build/gadget.egg-info/pip install -e . 生成(已 gitignore,始终位于仓库根)。

想改东西去哪里:

想做什么 去哪里
改某个工具的逻辑 tools/<tool>/
改共享能力(LLM / 缓存 / 翻译 / Hugo 部署) common/
改数据同步 scripts/sync.py
一次性配置新机器 scripts/onboard.py
改开发工作流 / skill ai-companion 仓库(同级 ../ai-companion/)
读计划 / 设计文档 docs/ecl/docs/

各工具做什么

tools/summarize/ —— AI 对话日报/周报/月报

自动读取每天的 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM API 生成结构化的日报、周报、月报。多设备工作流:各设备导出对话日志 → 通过云盘同步或手动拷贝汇总 → 生成最终日报;日报积累到一定量后再生成周报和月度趋势总结。通过 ccusage 20.x 的按来源命名空间命令(ccusage claudeccusage codexccusage gemini…)自动发现并统计所有 agent CLI 的 token 用量与花费。四种 AI 总结后端,统一用 --api 切换。关键技术:Claude/OpenAI API、ccusage 20.x(多源统一)、matplotlib。

tools/research/ —— 论文发现与研究者分析

统一的学术研究工具箱,通过单一 CLI 入口 tools/research/research_scout.py 提供四大能力:

  • 论文发现:从 arXiv / bioRxiv / PubMed 搜索论文,走三阶段 LLM 流水线(快速筛选 → 深度评估 → 引用影响力),生成研究周报并部署到 Hugo。支持会议论文搜索和作者搜索。
  • 论文深度洞察(--insight):下载论文全文,让 LLM 分析其写作结构、发表策略和可复用的核心知识;自动匹配 OpenReview 获取评审意见,分析共识与争议;综合出跨论文的研究写作指南。
  • 研究者画像:从 ArXiv + Semantic Scholar 抓取论文与引用数据,LLM 生成研究轨迹分析,计算 tier 分数,并通过主页抽取 + 合著模式自动发现师生关系。支持同名消歧和反向查找。
  • 引用图谱分析:基于 Semantic Scholar API 的前向引用 / 后向参考文献分析,配合 LLM 驱动的影响力解读。

tools/benchmark/ —— 性能基准测试套件

跨平台 CPU/GPU FLOPS 基准测试工具,在不同硬件厂商和精度档位上统一测量浮点性能。支持 NVIDIA(CUDA)、Apple Silicon(MPS)、Intel(XPU)的实际 GPU 运行(OpenCL 可能只出现在 --info 检测中),覆盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)等精度。测量采用预热 + 正式测量 + 统计分析(中位数、IQR 离群值剔除),并显式 GPU 同步以保证计时准确。结果以追加模式累积到 CSV(从不覆盖,天然支持多硬件累积排行榜),可生成带 Plotly 图表的交互式 HTML 报告和排行榜,支持部署到 Hugo 网站和提交到公开排行榜。

tools/website/ —— Hugo 博客

Hugo 静态博客站点(“TzJ’s Net”,PaperMod 主题),部署到 GitHub Pages(https://tzj2006.github.io/)。内置增量图片/视频压缩流水线(只压缩自 .last_build 以来变更的媒体:图片走 pngquant,视频走 HandBrakeCLI)和本地模型双语翻译(默认 Ollama,Linux 上 vLLM / Windows 上 transformers 作为兜底;模型 tencent/Hy-MT2-1.8B 首次运行自动下载,不走云端 LLM API)。自动生成的内容(日/周/月报、研究报告、benchmark 页面、图片)由部署流水线直接写入 tools/website/content|static(唯一的 Hugo 内容根,文件带 gadget_generated 标记;没有标记的手写文件永不被覆盖),然后翻译、压缩、构建、推送。

⚠️ tools/website/public/独立的部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动提交 + 推送 —— 不要直接往里提交。

tools/translator/ —— Gradio 文档翻译器

基于 common 翻译引擎的 Gradio 文档翻译器:一个 Google 翻译风格的本地翻译网页,翻译文本和文件(.md / .txt / .pdf / .docx / 图片),同时保留 Markdown 格式(代码块、URL、Hugo shortcode 等片段受保护)。它跑本地推理而非云 API:复用 common.engine.create_engine() 自动选择后端(模型 tag 已拉取时自动优先 ollama;transformers 是 Windows 兜底,Linux 上优先 vllm,llamacpp 是低显存 GGUF 选项),模型常驻内存(warm),切换模型时按需惰性加载。默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载,可通过 GADGET_TRANSLATION_MODEL 或 GUI 内的模型管理覆盖。源语言可设为 auto(按文本 CJK 比例检测);目标语言为 auto 时在 zh↔en 之间翻转。

common/ —— 共享基础设施包

所有工具依赖的共享层,通过 pip install -e . 作为 Python 包安装:

  • LLM 调用(统一的两层 API,支持 ollama(默认)/ claude_cli / anthropic / openai 四种后端)
  • JSON 解析与修复
  • SHA-256 磁盘缓存(命名空间 + TTL)
  • 原子写入与内容哈希
  • 本地推理翻译引擎(Ollama / vLLM / transformers / GGUF)与双语内容生成
  • 跨平台 Hugo 部署

scripts/ —— 运维与维护脚本

  • sync.py —— 集中式 rclone 数据同步(push / pull / status / bootstrap / config,覆盖 summarize / website / research / benchmark / backups 类别;另有特殊的 dag 类别用于生成 + 部署 DAG 站点)。配置为仓库根 config.jsonsync 段(可用 GADGET_CONFIG 覆盖路径)。
  • onboard.py —— 仓库级一次性机器初始化:填一张 YAML 表(tokens/onboard.yaml),跑一次脚本,自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 与 ai-companion 安装、各工具配置、rclone bootstrap。
  • smoke.sh —— 覆盖所有工具的只读冒烟检查(--help / --info / import;不涉及 LLM、网络或写入)。
  • serve_local_llm.sh —— 创建针对 summarize 调优的 Ollama 变体并打印环境变量。持久化开关放在仓库根 config.jsonsummarize 段。
  • 其他:language.py(Hugo 双语审计 + summarize 报告重命名)、profile_translation.py(翻译引擎 GPU profiler)。

../ai-companion/ —— 独立仓库

独立的 Node.js 仓库,检出在同级目录 ../ai-companion/,不在本仓库内。它记录函数级代码变更、生成测试和 HTML 报告,提供 /idea/ccplan/ccedit 规划-执行流水线,并托管所有 Claude Code skills(方法论 + 领域)。本仓库通过 .claude/.codex/ 下的 hooks 接入。

它同时打包为标准 Claude Code 插件等效的 Codex 集成 —— 安装即用,无需构建(变更追踪 hook 是随仓库提交的预构建单文件产物)。所有 skills(方法论:ccplan 规划、optimize 优化、cchypothesis 调试、repo-audit 审计、repo-tidy 整理;领域:summarize 代码概览、slurm-gpu 集群检测、nature-benchmark / NIPS-2025-paper 论文写作顾问)都在那个仓库里;本仓库不再有 skills/ 目录。安装见 ../ai-companion/scripts/install.ts

outputs/ —— 输出目录

所有生成的输出统一放在 outputs/(已 gitignore,可自动重建):

outputs/
├── logs/         # 中间产物(导出日志、运行日志)
├── reports/      # 最终报告(Markdown、JSON、HTML)
├── cache/        # LLM 缓存、搜索缓存
├── data/         # 结构化数据(CSV、JSON profiles)
├── images/       # 图表和生成的图片
└── backups/      # 强制覆盖备份(website-force 等)

Hugo 站点内容直接写入 tools/website/content|static(没有独立的 outputs/site 暂存树)。


二、使用教程(面向第一次接触的人)

本教程只覆盖 README 中写到的内容。每个工具的逐步操作、配置、数据格式和 FAQ,请进一步查阅仓库里的 TUTORIAL.md 及各工具自己的源文档。

第 0 步:环境准备

  • Python 3.10+(推荐用 conda 环境 AI)
  • Node.js 18+(只有独立仓库 ../ai-companion/ 需要)
  • 各工具的具体依赖见对应目录下的 requirements.txt
  • website / 翻译功能使用本地推理引擎(默认 Ollama;Linux 上 vLLM、Windows 上 transformers 作为兜底),模型 tencent/Hy-MT2-1.8B 首次运行自动下载

激活推荐环境:

conda activate AI

第 1 步:安装

安装 common 包 + summarize / research / benchmark / website 的 extras:

pip install -e ".[all]"

⚠️ 注意:all 不包含 translator,需要单独安装:

pip install -e ".[translator]"

如果你只想用某个单独的工具,也可以只装对应 extra:

pip install -e ".[website]"      # website(含 torch + transformers 用于翻译)
pip install -e ".[translator]"   # translator(gradio + GGUF 翻译栈)

安装后会在仓库根生成 build/gadget.egg-info/(已 gitignore,属正常现象)。

第 2 步:配置

工具配置文件:仓库根的 config.json(已 gitignore),从 config.example.json 复制得到:

cp config.example.json config.json

想用别的路径,设置环境变量覆盖:

export GADGET_CONFIG=/path/to/your/config.json

其中 sync 段是 scripts/sync.py 的配置,summarize 段是 scripts/serve_local_llm.sh 的持久化开关。

API 密钥:放在 tokens/ 目录(已 gitignore,绝不要提交其中内容)。

LLM 后端选择:所有 LLM 功能统一用 --api 参数切换,四个取值:

说明
ollama 默认,本地 Ollama,无需密钥,Qwen3.8-27B
claude_cli 复用 Claude Code CLI 的登录状态,不需要 API key
anthropic Anthropic API
openai OpenAI API

也可以用环境变量全局设置:

export GADGET_LLM_BACKEND=ollama

翻译后端:翻译走的是本地推理引擎,由 GADGET_TRANSLATION_BACKEND 选择:ollama(模型已拉取时的默认,走本地 Ollama server)→ llamacpp / vllm / transformers(进程内),模型为 tencent/Hy-MT2-1.8B。翻译模型可覆盖:

export GADGET_TRANSLATION_BACKEND=ollama
export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B

第 3 步(可选):新机器一次性初始化

填好 tokens/onboard.yaml 这一张 YAML 表后,跑一次:

python scripts/onboard.py

它会自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 与 ai-companion 安装、各工具配置、rclone bootstrap。

服务器系统级安装(Ubuntu 22.04/24.04,一键装 SSH 公钥、Claude Code、Codex、Superpowers、Ponytail 和 AI Companion)已迁移到 ai-companion 仓库:

bash ../ai-companion/scripts/onboard-server.sh --help

仓库拆分后,--companion-repo 直接传 ai-companion 仓库(git@github.com:TzJ2006/ai-companion.git),--companion-ref 不再需要。

第 4 步:先跑一次冒烟检查

只读、不碰 LLM/网络/写入,用来确认装好了:

bash scripts/smoke.sh

工具 1:Summarize —— AI 对话日报/周报/月报

推荐使用 python -m summarize 形式。典型流程是两阶段:先在每台设备上导出,再汇总合并。

python -m summarize daily export                                   # 阶段 1:导出所有尚未导出的日期
python -m summarize daily merge --sync-all                         # 阶段 2:同步所有日期并逐日合并
python -m summarize weekly generate --week 2026-W12 --deploy       # 周报 + 部署
python -m summarize monthly generate --month 2026-02 --deploy      # 月报 + 部署
python -m summarize auto --deploy                                  # 一键全流程:导出 → 合并 → 周报 → 月报 + 部署

多设备用法:在每台设备上跑 daily export,通过云盘同步或手动拷贝把日志汇总到一起,再跑 daily merge --sync-all 生成最终日报;日报积累够了之后再生成周报和月度趋势总结。

切换 AI 总结后端:

python -m summarize auto --deploy --api claude_cli

如果想用本地 Ollama 的 summarize 调优变体:

eval "$(bash scripts/serve_local_llm.sh env)"

旧入口 python tools/summarize/daily_summary.py ... / weekly_summary.py / monthly_summary.py 仍然可用(向后兼容的 re-export shim),但推荐用上面的新形式。

详见 TUTORIAL.md#summarizetools/summarize/tutorial.md

工具 2:Research —— 论文发现与研究者分析

单一 CLI 入口 tools/research/research_scout.py:

python tools/research/research_scout.py report --project my-project        # 全流程:搜索 → 三阶段评估 → 报告
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"  # 自然语言搜索(自动路由数据源)
python tools/research/research_scout.py profile "Sergey Levine"             # 研究者画像
python tools/research/research_scout.py citations 2301.12597               # 引用图谱(按 arXiv ID / DOI)
python tools/research/research_scout.py deploy                              # 把报告部署到 Hugo

深度洞察用 --insight;所有 LLM 功能都支持 --api 切换后端,例如:

python tools/research/research_scout.py report --project my-project --api claude_cli

详见 TUTORIAL.md#researchtools/research/TUTORIAL.md

工具 3:Benchmark —— 性能基准测试

⚠️ 所有命令都需要先 cdtools/benchmark/

cd tools/benchmark
python -m benchmark.cli                    # 跑全部基准测试(结果追加到 CSV)
python -m benchmark.cli --cpu-only         # 只跑 CPU
python -m benchmark.cli --gpu-only         # 只跑 GPU
python -m benchmark.cli --report           # 跑测试 + 生成 HTML 报告
python -m benchmark.cli --report --deploy  # 生成报告 + 发布到 Hugo /benchmark/

想只看硬件检测结果而不实际跑,用 --info(注意 OpenCL 可能只在 --info 检测中出现,不代表能实际运行)。GPU 基准测试会自动检测 CUDA / Apple MPS / Intel XPU。结果以追加模式累积,不会覆盖历史,所以可以在多台机器上跑并累积成排行榜。

详见 TUTORIAL.md#benchmarktools/benchmark/tutorial.md

工具 4:Website —— Hugo 博客

pip install -e ".[website]"                          # 安装依赖(含 torch + transformers 用于翻译)
cd tools/website && bash update.sh                   # macOS/Linux:增量压缩 + Hugo 构建 + 推送 Pages
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1  # Windows(脚本会自己 cd 到所在目录)
cd tools/website && hugo server -D                   # 本地预览(dev server,包含草稿)

双语审计和 summarize 报告重命名:

python scripts/language.py

两个必须记住的红线:

  1. tools/website/public/ 是独立的部署仓库,由构建脚本自动提交推送 —— 不要直接往里提交。
  2. 自动生成的文件带 gadget_generated 标记;没有标记的手写文件永远不会被覆盖 —— 所以手写内容是安全的,但不要给手写文件加那个标记。

详见 TUTORIAL.md#websitetools/website/CLAUDE.md

工具 5:Translator —— Gradio 文档翻译器

pip install -e ".[translator]"   # 安装依赖(gradio + GGUF 翻译栈)
python -m translator             # 启动 Gradio GUI(在浏览器中打开)

启动后在网页里可以翻译文本,也可以上传 .md / .txt / .pdf / .docx / 图片文件。源语言选 auto 会按文本 CJK 比例自动检测;目标语言选 auto 会在中英之间翻转。换模型可以在 GUI 内的模型管理里操作,或者启动前设环境变量:

export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF
python -m translator

首次使用会自动下载模型,全程本地推理,不走云 API。

UI 接线见 tools/translator/app.py,翻译与文件逻辑见 tools/translator/core.py,共享引擎见 common/engine.pycommon/translation.py。详见 TUTORIAL.md#translator

跨设备数据同步

python scripts/sync.py           # 查看用法
python scripts/sync.py push      # 推送
python scripts/sync.py pull      # 拉取

子命令有 push / pull / status / bootstrap / config,类别覆盖 summarize / website / research / benchmark / backups,另有特殊的 dag 类别用于生成 + 部署 DAG 站点。需要先配置好 rclone;配置在 config.jsonsync 段。

常见注意事项(务必遵守)

  • tokens/ 存放 API 密钥和 onboarding 表格,已 gitignore —— 绝不要提交其中内容
  • 所有生成的文件输出到 outputs/,已 gitignore。
  • 绝不要 git add:自动生成的内容、rclone 同步的数据、构建产物(build/gadget.egg-info/)、以及 tools/website/ 下的部署仓库和主题仓库。
  • 行动前先读 AGENTS.md(所有 AI agent 的工作流协议)。
  • 本项目以 GPL-3 授权(见 LICENSE)。
Claude Code · Sonnet 5 — 5,754 字符 · 13 个代码块 · README 事实点 16/16

项目总结

Gadget 是一个日常开发中积累的实用工具集合,涵盖 AI 对话日报生成、论文发现、性能测评、博客自动化、文档翻译五大类工具。

仓库结构

gadget/
├── tools/              # 五个独立工具产品
   ├── summarize/      # AI 对话日/周/月报
   ├── research/       # 论文发现 + 研究者分析 + 引用图谱
   ├── benchmark/      # CPU/GPU 性能测评
   ├── website/        # Hugo 博客(增量媒体压缩 + 自动构建发布)
   └── translator/      # Gradio 文档翻译器
├── common/             # 共享基础设施包(LLM 调用/缓存/IO/翻译/Hugo 部署),被所有工具依赖
├── scripts/            # 运维维护脚本(sync.py、onboard.py、language.py、profile_translation.py 等)
├── docs/               # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档(docs/archive/)
├── outputs/            # 所有生成产物(已 gitignore,可自动重建)
├── AGENTS.md           # 所有 AI agent 的工作流协议
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # common/ + 各工具的打包配置(pip install -e .)

开发工作流引擎和所有 Claude Code skills 位于独立仓库 ai-companion(同级目录 ../ai-companion/),通过 .claude/.codex/ 下的 hooks 接入本仓库。

每个工具做什么

工具 功能 关键技术
summarize 读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化日/周/月报;通过 ccusage 20.x 统计各 Agent CLI 的 token 用量和花费 Claude/OpenAI API, ccusage 20.x, matplotlib
research 通过统一 CLI (research_scout.py) 提供论文发现(arXiv/bioRxiv/PubMed 三阶段 LLM 流水线)、深度论文解读(--insight,含 OpenReview 评审匹配)、研究者画像(含师生关系挖掘)、引用图谱分析 arXiv/bioRxiv/PubMed, Semantic Scholar, LLM
benchmark 跨平台 CPU/GPU FLOPS 测评,支持 NVIDIA/Apple Silicon/Intel,多精度(FP64~FP8),结果累加为 CSV,可生成 HTML 报告并部署到 Hugo PyTorch, NumPy, Plotly
website Hugo 静态博客(PaperMod 主题),内置增量图片/视频压缩(pngquant/HandBrakeCLI)和本地模型双语翻译,自动内容写入 `tools/website/content static`
translator 基于 common 翻译引擎的 Gradio 网页翻译器,支持文本和文件(.md/.txt/.pdf/.docx/图片),保留 Markdown 格式,本地推理 Gradio, GGUF/transformers

所有 LLM 功能统一通过 --api 切换后端:ollama(默认,本地免密钥)、claude_cli(复用 Claude Code 登录态)、anthropicopenai


使用教程

一、环境准备

  • Python 3.10+(推荐使用 conda 环境 AI
conda activate AI
  • Node.js 18+(仅当需要使用同级仓库 ../ai-companion/ 时)
  • GPU 测评会自动检测 CUDA / Apple MPS / Intel XPU
  • tokens/ 目录存放 API key 和 onboarding 配置表,已 gitignore,切勿提交

二、安装

安装 common 包 + summarize/research/benchmark/website 的依赖(all 不包含 translator):

pip install -e ".[all]"

如需使用翻译器,单独安装:

pip install -e ".[translator]"

如需使用网站工具(含翻译所需的 torch + transformers):

pip install -e ".[website]"

三、配置

工具配置存放在仓库根目录的 config.json(已 gitignore,从 config.example.json 复制而来),可通过环境变量 GADGET_CONFIG 覆盖路径。

新机器一次性配置:

# 先填写 tokens/onboard.yaml,然后运行:
python scripts/onboard.py

该脚本会自动完成 SSH 配置、Claude/Codex CLI 安装与鉴权、pip extras 与 ai-companion 安装、各工具配置、rclone bootstrap。

服务器系统级安装(Ubuntu 22.04/24.04),迁移到了 ai-companion 仓库:

bash ../ai-companion/scripts/onboard-server.sh --help

四、各工具典型用法

1. Summarize —— AI 对话日/周/月报

python -m summarize daily export                                   # 第一阶段:导出所有未导出的日期
python -m summarize daily merge --sync-all                         # 第二阶段:同步所有日期并逐日合并
python -m summarize weekly generate --week 2026-W12 --deploy       # 生成周报并部署
python -m summarize monthly generate --month 2026-02 --deploy      # 生成月报并部署
python -m summarize auto --deploy                                  # 一键全流程:导出→合并→周报→月报+部署

旧接口 python tools/summarize/daily_summary.py ... / weekly_summary.py / monthly_summary.py 仍可用(向后兼容),但推荐使用上面的 python -m summarize 形式。

2. Research —— 论文发现与研究者分析

python tools/research/research_scout.py report --project my-project        # 完整流水线:搜索→三阶段评估→生成报告
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"  # 自然语言搜索(自动路由数据源)
python tools/research/research_scout.py profile "Sergey Levine"             # 研究者画像
python tools/research/research_scout.py citations 2301.12597               # 引用图谱(按 arXiv ID / DOI)
python tools/research/research_scout.py deploy                              # 部署报告到 Hugo

3. Benchmark —— 性能测评

注意:所有命令都需要先 cd tools/benchmark/

cd tools/benchmark
python -m benchmark.cli                # 运行所有测评(结果追加到 CSV)
python -m benchmark.cli --cpu-only     # 仅 CPU
python -m benchmark.cli --gpu-only     # 仅 GPU
python -m benchmark.cli --report       # 运行测评 + 生成 HTML 报告
python -m benchmark.cli --report --deploy  # 生成报告 + 发布到 Hugo /benchmark/

4. Website —— Hugo 博客

pip install -e ".[website]"                          # 安装依赖(含 torch + transformers 用于翻译)
cd tools/website && bash update.sh                   # macOS/Linux:增量压缩 + Hugo 构建 + 推送 Pages
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1  # Windows(脚本会自行 cd 到自身目录)
cd tools/website && hugo server -D                   # 本地预览(开发服务器,含草稿)

5. Translator —— 文档翻译器

pip install -e ".[translator]"   # 安装依赖(gradio + GGUF 翻译栈)
python -m translator             # 启动 Gradio 图形界面(浏览器打开)

默认模型为 tencent/Hy-MT2-1.8B(首次使用自动下载),可通过环境变量 GADGET_TRANSLATION_MODEL 或 GUI 内的模型管理覆盖。

五、常用运维脚本

python scripts/sync.py          # 集中式 rclone 数据同步(push/pull/status/bootstrap/config)
bash scripts/smoke.sh           # 全工具只读冒烟测试(--help/--info/imports,无 LLM、网络、写入)
eval "$(bash scripts/serve_local_llm.sh env)"   # 创建 summarize 专用 Ollama 变体并打印环境变量

六、其他说明

  • 输出目录统一在 outputs/(logs/reports/cache/data/images/backups 子目录),已 gitignore,可自动重建
  • LLM 后端可通过 --api 参数或全局环境变量 GADGET_LLM_BACKEND 切换:ollama(默认)、claude_clianthropicopenai
  • 翻译后端由 GADGET_TRANSLATION_BACKEND 选择:默认 ollama(模型已拉取时)→ llamacpp/vllm/transformers
  • 跨设备数据同步:python scripts/sync.py push/pull(需配置 rclone)
  • 切勿 git add 自动生成内容、rclone 同步数据、构建产物(build/gadget.egg-info/)以及 tools/website/ 下的部署/主题仓库
  • 协议为 GPL-3(见 LICENSE
  • 更详细的分步操作、配置项、数据格式和 FAQ 请参考 TUTORIAL.md 以及各工具目录下的自带文档
Cursor · Composer 2.5 — 10,088 字符 · 17 个代码块 · README 事实点 16/16

Gadget 项目总结与使用教程

以下内容仅依据你提供的 README,不添加 README 中未出现的命令或参数。


一、项目总结

1. 这是什么?

Gadgets 是一个日常开发中积累下来的实用工具集合,覆盖:

  • AI 对话日报/周报/月报生成
  • 论文发现与研究分析
  • 性能基准测试
  • 博客自动化
  • 文档翻译

特点:

  • tools/ 下每个目录都是可独立使用的工具
  • 共享能力集中在仓库根目录的 common/ 包(通过 pip install -e . 安装),包括 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等
  • 开发工作流(规划/执行/变更追踪)和所有 Claude Code skills 由独立仓库 ai-companion 提供(位于同级目录 ../ai-companion/),通过 hooks 接入本仓库

更详细的逐步操作、配置、数据格式和 FAQ 见 TUTORIAL.md 及各工具自己的文档。


2. 仓库结构

gadget/
├── tools/              # 五个独立工具(改工具逻辑来这里)
│   ├── summarize/      # AI 对话日报/周报/月报
│   ├── research/       # 论文发现 + 研究者分析 + 引用图
│   ├── benchmark/      # CPU/GPU 性能基准测试
│   ├── website/        # Hugo 博客(增量媒体压缩 + 自动构建发布)
│   └── translator/     # Gradio 文档翻译器
├── common/             # 共享基础设施包(所有工具依赖)
├── scripts/            # 运维与维护脚本
├── docs/               # 设计文档、ECL 计划、审计报告、历史归档
├── outputs/            # 所有生成物(gitignored,可自动重建)
├── AGENTS.md           # AI agent 工作流协议
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # common/ 与各工具的打包配置

想改什么,去哪里:

目标 位置
改某个工具的逻辑 tools/<tool>/
改共享能力(LLM / 缓存 / 翻译 / Hugo 部署) common/
改数据同步 scripts/sync.py
新机器一次性配置 scripts/onboard.py
改开发工作流 / skill ../ai-companion/
读计划 / 设计文档 docs/ecl/docs/

其他说明:

  • build/gadget.egg-info/pip install -e . 生成,已 gitignore
  • 同步数据:python scripts/sync.py
  • 中文版文档:docs/README.zh.md

3. 各工具一览

目录 功能 关键技术
tools/summarize/ AI 对话日报/周报/月报(多设备两阶段架构) Claude/OpenAI API、ccusage 20.x、matplotlib
tools/research/ 论文发现 + 研究者分析 + 引用图 arXiv/bioRxiv/PubMed、Semantic Scholar、LLM
tools/benchmark/ CPU/GPU 跨平台性能基准测试 PyTorch、NumPy、Plotly
tools/website/ Hugo 博客(增量媒体压缩 + 自动构建发布) Hugo、pngquant、HandBrakeCLI
tools/translator/ Gradio 文档翻译器 Gradio、GGUF/transformers
common/ 共享基础设施包 pip install -e .
scripts/ 运维脚本(sync、onboard 等) rclone、Python
../ai-companion/ AI 变更追踪 + 规划/执行 skill 管线 Node.js、TypeScript

4. 每个工具分别做什么?

Summarize — AI 对话日报/周报/月报

  • 自动读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON)
  • 调用 LLM 生成结构化日报、周报、月报
  • 多设备工作流:各设备导出对话 → 云盘同步或手动拷贝 → 合并生成日报 → 积累后生成周报/月报
  • 通过 ccusage 20.x 自动发现并统计各 agent CLI 的 token 用量与费用
  • LLM 后端(--api):ollama(默认)、claude_clianthropicopenai

Research — 论文发现与研究分析

统一入口 tools/research/research_scout.py,四大能力:

  1. 论文发现:arXiv / bioRxiv / PubMed 搜索,三阶段 LLM 流水线(快筛 → 深评 → 引用影响),生成研究周报并部署到 Hugo;支持会议论文搜索、作者搜索
  2. 深度论文洞察(--insight:下载全文,分析写作结构/发表策略/可复用知识;匹配 OpenReview 获取审稿意见;合成跨论文写作指南
  3. 研究者画像:ArXiv + Semantic Scholar 数据,LLM 生成研究轨迹分析、层级评分;通过主页提取与共著模式发现师生关系;支持同名消歧与反向查找
  4. 引用图分析:基于 Semantic Scholar 的前向引用/后向参考文献分析 + LLM 影响解读

Benchmark — 性能基准测试套件

  • 跨平台 CPU/GPU FLOPS 基准测试
  • 支持 NVIDIA (CUDA)、Apple Silicon (MPS)、Intel (XPU)
  • 精度:FP64 / FP32 / FP16 / BF16 / FP8(实验性)
  • 预热 + 正式测量 + 统计分析(中位数、IQR 异常值剔除)
  • 结果追加到 CSV;可生成交互式 HTML 报告与排行榜;可部署到 Hugo 或提交公开排行榜

Website — Hugo 博客

  • 静态博客 “TzJ’s Net”(PaperMod 主题),部署到 GitHub Pages:https://tzj2006.github.io/
  • 增量图片/视频压缩(pngquant、HandBrakeCLI)
  • 本地模型双语翻译(默认 Ollama;Linux 回退 vLLM,Windows 回退 transformers;模型 tencent/Hy-MT2-1.8B 首次运行自动下载)
  • 自动生成内容写入 tools/website/content|static(带 gadget_generated 标记,手写文件不会被覆盖)
  • tools/website/public/独立部署仓库tzj2006/tzj2006.github.io),由构建脚本自动 commit + push,不要直接往里面 commit

Translator — Gradio 文档翻译器

  • 基于 common 翻译引擎的本地推理 Web 界面
  • 支持文本和文件(.md / .txt / .pdf / .docx / 图片),保留 Markdown 格式
  • 后端自动选择:优先 ollama,Windows 回退 transformers,Linux 优先 vllm,低显存可选 llamacpp
  • 默认模型 tencent/Hy-MT2-1.8B;可用 GADGET_TRANSLATION_MODEL 或 GUI 覆盖
  • 源语言 auto 按 CJK 比例检测;目标 auto 在 zh↔en 间切换

5. common / scripts / ai-companion

common/:LLM 调用、JSON 解析修复、SHA-256 磁盘缓存、原子写入、本地翻译引擎、Hugo 跨平台部署。

scripts/ 主要脚本:

脚本 作用
sync.py rclone 数据同步(push/pull/status/bootstrap/config)
onboard.py 新机器一次性配置
smoke.sh 只读冒烟测试(--help / --info / imports)
serve_local_llm.sh 创建 summarize 调优的 Ollama 变体并打印环境变量
language.py Hugo 双语审计 + summarize 报告重命名
profile_translation.py 翻译引擎 GPU 性能分析

ai-companion:独立 Node.js 仓库,提供代码变更追踪、规划/执行管线、所有 Claude Code skills;安装见 ../ai-companion/scripts/install.ts


二、详细中文使用教程(首次上手)

第 0 步:了解输出与配置位置

生成物目录(gitignored,可重建):

outputs/
├── logs/         # 中间产物(导出日志、运行日志)
├── reports/      # 最终报告(Markdown、JSON、HTML)
├── cache/        # LLM 缓存、搜索缓存
├── data/         # 结构化数据(CSV、JSON profiles)
├── images/       # 图表与生成图片
└── backups/      # 强制覆盖备份

Hugo 站点内容直接写入 tools/website/content|static(没有单独的 outputs/site)。

配置:

  • 工具设置:仓库根目录 config.json(gitignored;从 config.example.json 复制)
  • 可用环境变量 GADGET_CONFIG 覆盖配置路径
  • API 密钥与 onboarding 表:tokens/(gitignored,切勿 commit

第 1 步:环境准备

基础要求:

  • Python 3.10+(推荐 conda 环境 AIconda activate AI
  • Node.js 18+(仅 ../ai-companion/ 需要)

安装依赖:

# common + summarize / research / benchmark / website(all 不含 translator)
pip install -e ".[all]"

# translator 需单独安装
pip install -e ".[translator]"

# website 单独安装(含 torch + transformers,用于翻译)
pip install -e ".[website]"

LLM 后端(全局):

  • 各工具统一用 --api 切换:ollama(默认)、claude_clianthropicopenai
  • 也可用环境变量 GADGET_LLM_BACKEND

翻译后端:

  • 环境变量 GADGET_TRANSLATION_BACKEND
  • 默认 ollama(模型已 pull 时);也可 llamacpp / vllm / transformers
  • 默认模型 tencent/Hy-MT2-1.8B,首次运行自动下载

本地 LLM(summarize 相关):

eval "$(bash scripts/serve_local_llm.sh env)"

持久化参数写在 config.jsonsummarize 段(可用 GADGET_CONFIG 覆盖路径)。


第 2 步:新机器一次性配置(推荐)

方式 A — 本仓库机器配置:

  1. 填写 tokens/onboard.yaml
  2. 运行:
python scripts/onboard.py

会自动完成:SSH、Claude/Codex CLI 安装与认证、pip extras、ai-companion 安装、各工具配置、rclone bootstrap。

方式 B — Ubuntu 22.04/24.04 服务器系统级安装:

已迁移到 ai-companion 仓库:

bash ../ai-companion/scripts/onboard-server.sh --help

需传入 --companion-repo git@github.com:TzJ2006/ai-companion.git(不再需要 --companion-ref)。

冒烟测试(只读,不写盘、不调 LLM、不联网):

bash scripts/smoke.sh

第 3 步:数据同步(多设备 / 多机器)

python scripts/sync.py
  • 配置在仓库根 config.jsonsync
  • 可用 GADGET_CONFIG 覆盖配置路径
  • 跨设备同步示例:
python scripts/sync.py push
python scripts/sync.py pull

(需要 rclone 配置。)


第 4 步:Summarize — AI 对话日报/周报/月报

典型工作流(推荐新入口 python -m summarize):

# 阶段 1:导出所有未导出日期
python -m summarize daily export

# 阶段 2:同步所有日期并按天合并
python -m summarize daily merge --sync-all

# 周报 + 部署
python -m summarize weekly generate --week 2026-W12 --deploy

# 月报 + 部署
python -m summarize monthly generate --month 2026-02 --deploy

# 一键全流程:export → merge → weekly → monthly + deploy
python -m summarize auto --deploy

旧入口(仍可用,兼容 shim):

python tools/summarize/daily_summary.py ...
python tools/summarize/weekly_summary.py ...
python tools/summarize/monthly_summary.py ...

更细步骤见 TUTORIAL.md#summarizetools/summarize/tutorial.md


第 5 步:Research — 论文发现与研究分析

统一 CLI: tools/research/research_scout.py

# 完整流水线:搜索 → 三阶段评估 → 报告
python tools/research/research_scout.py report --project my-project

# 自然语言搜索(自动路由数据源)
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"

# 研究者画像
python tools/research/research_scout.py profile "Sergey Levine"

# 引用图(arXiv ID / DOI)
python tools/research/research_scout.py citations 2301.12597

# 部署报告到 Hugo
python tools/research/research_scout.py deploy

LLM 后端同样用 --apiollama(默认)、claude_clianthropicopenai

更细步骤见 TUTORIAL.md#researchtools/research/TUTORIAL.md


第 6 步:Benchmark — CPU/GPU 性能测试

注意:所有命令需先进入 tools/benchmark/

cd tools/benchmark

# 运行全部基准(结果追加到 CSV)
python -m benchmark.cli

# 仅 CPU
python -m benchmark.cli --cpu-only

# 仅 GPU
python -m benchmark.cli --gpu-only

# 运行基准 + 生成 HTML 报告
python -m benchmark.cli --report

# 生成报告 + 发布到 Hugo /benchmark/
python -m benchmark.cli --report --deploy

更细步骤见 TUTORIAL.md#benchmarktools/benchmark/tutorial.md


第 7 步:Website — Hugo 博客

构建与发布:

# macOS / Linux:增量压缩 + Hugo 构建 + 推送 Pages
cd tools/website && bash update.sh

# Windows
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

# 本地预览(含草稿)
cd tools/website && hugo server -D

注意:

  • 不要直接 commit tools/website/public/(独立部署仓库,由脚本自动处理)
  • 不要 git add 自动生成内容、rclone 同步数据、build/gadget.egg-info/,以及 tools/website/ 下的部署/主题仓库

更细步骤见 TUTORIAL.md#websitetools/website/CLAUDE.md


第 8 步:Translator — Gradio 文档翻译

pip install -e ".[translator]"
python -m translator

启动后在浏览器打开 Gradio GUI。更细说明见 TUTORIAL.md#translator;实现见 tools/translator/app.pytools/translator/core.pycommon/engine.pycommon/translation.py


第 9 步:其他常用运维命令

# 数据同步(完整子命令见 sync.py)
python scripts/sync.py

# 新机器配置
python scripts/onboard.py

# 只读冒烟测试
bash scripts/smoke.sh

# 本地 LLM 环境(summarize)
eval "$(bash scripts/serve_local_llm.sh env)"

ai-companion 安装:

# 见 ai-companion 仓库
../ai-companion/scripts/install.ts

重要注意事项(README Notes 摘要)

事项 说明
GPU 基准测试 自动检测 CUDA / Apple MPS / Intel XPU
tokens/ 存 API 密钥与 onboarding 表,切勿 commit
outputs/ 所有生成文件,gitignored
LLM 后端 --apiGADGET_LLM_BACKEND
翻译后端 GADGET_TRANSLATION_BACKEND;模型 tencent/Hy-MT2-1.8B
跨设备同步 python scripts/sync.py push/pull(需 rclone)
许可证 GPL-3(见 LICENSE

延伸阅读(README 中指向的文档)

  • 总教程:TUTORIAL.md
  • 中文版:docs/README.zh.md
  • Summarize:tools/summarize/tutorial.md
  • Research:tools/research/TUTORIAL.md
  • Benchmark:tools/benchmark/tutorial.md
  • Website:tools/website/CLAUDE.md
  • Translator:TUTORIAL.md#translator

以上是仅基于 README 的总结与上手路径。若你需要针对某一工具(例如 Summarize 多设备流程或 Research 的 --insight)展开到逐步操作,可切换到 Agent 模式,我可以结合仓库里的 TUTORIAL.md 再写一版更细的教程。

Cursor · Grok 4.6 High — 11,015 字符 · 14 个代码块 · README 事实点 16/16

下面全部只依据你贴出的 README,不补充其中没有出现的命令或参数。


1. 项目总结

它是什么

Gadgets 是一组日常开发里攒下来的实用工具合集,覆盖五类能力:

  • AI 对话日报 / 周报 / 月报生成
  • 论文发现与研究者分析
  • 性能基准测试
  • 博客自动化
  • 文档翻译

tools/ 下每个目录都是可独立使用的工具。公共能力集中在仓库根目录的 common/ 包里(pip install -e . 安装),包括 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署。

开发工作流(规划 / 执行 / 变更追踪)和全部 Claude Code skills 不在本仓库,而在独立仓库 ai-companiongit@github.com:TzJ2006/ai-companion.git),应放在兄弟目录 ../ai-companion/,通过本仓库的 hooks 接入。

本 README 是总览;逐步操作、配置、数据格式、FAQ 在 TUTORIAL.md 以及各工具自己的源码文档里。中文版 README 在 docs/README.zh.md

仓库结构

gadget/
├── tools/              # 五个独立工具(改某个工具就进这里)
│   ├── summarize/      # AI 对话日/周/月报
│   ├── research/       # 论文发现 + 研究者分析 + 引用图
│   ├── benchmark/      # CPU/GPU 性能基准
│   ├── website/        # Hugo 博客(增量媒体压缩 + 自动构建发布)
│   └── translator/     # Gradio 文档翻译器
├── common/             # 共享基础设施(LLM / cache / IO / translation / Hugo)
├── scripts/            # 运维脚本(sync.py、onboard.py、language.py、profile_translation.py …)
├── docs/               # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档(docs/archive/)
├── outputs/            # 全部生成物(已 gitignore,可自动重建)
├── AGENTS.md           # 所有 AI agent 的工作流协议(动手前先读)
├── CLAUDE.md           # Claude Code 仓库指南
└── pyproject.toml      # common/ + 各工具的打包配置(pip install -e .)

补充说明(README 原文):

  • 工作流引擎和 skills 在 ../ai-companion/,通过 .claude/.codex/ 下的 hooks 接入。
  • build/gadget.egg-info/pip install -e . 生成,已 gitignore,始终在仓库根目录。
  • 同步数据:python scripts/sync.py
你想改什么 去哪里
某个工具的逻辑 tools/<tool>/
共享能力(LLM / cache / 翻译 / Hugo 部署) common/
数据同步 scripts/sync.py
新机器一次性配置 scripts/onboard.py
开发工作流 / skill ai-companion../ai-companion/
读计划 / 设计文档 docs/ecl/docs/

每个工具分别做什么

tools/summarize/
自动读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化日/周/月报。多设备两阶段:各设备先导出,再经网盘同步或手动拷贝聚合后出日报;日报攒够后再出周报和月度趋势。通过 ccusage 20.x 的按来源命令(ccusage claudeccusage codexccusage gemini…)自动发现并统计各 agent CLI 的 token 用量与费用。四个摘要后端,统一用 --api 切换:ollama(默认,本地、免 key、Qwen3.8-27B)、claude_cli(复用 Claude Code CLI 登录态,免 API key)、anthropicopenai

tools/research/
统一学术研究工具箱,单一入口 tools/research/research_scout.py,四块能力:

  1. 论文发现:从 arXiv / bioRxiv / PubMed 检索,三阶段 LLM 流水线(快速筛选 → 深度评估 → 引用影响力),生成研究周报并部署到 Hugo;支持会议论文搜索和作者搜索。
  2. 深度论文洞察(--insight:下载全文,分析写作结构、发表策略、可复用核心知识;自动匹配 OpenReview 审稿意见;综合跨论文的研究写作指南。
  3. 研究者画像:从 ArXiv + Semantic Scholar 拉论文与引用,LLM 生成研究轨迹分析、计算分级分数,通过主页抽取 + 合著模式自动发现师生关系;支持同名消歧和反向查找。
  4. 引用图分析:基于 Semantic Scholar API 的前向引用 / 后向参考文献分析,配合 LLM 做影响力解读。

LLM 同样用 --api 切换,四个后端与 summarize 相同。

tools/benchmark/
跨平台 CPU/GPU FLOPS 基准,在不同硬件厂商和精度档位上统一测浮点性能。实际 GPU 运行支持 NVIDIA(CUDA)、Apple Silicon(MPS)、Intel(XPU)(OpenCL 可能只出现在 --info 检测里)。精度覆盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)。测量流程:预热 + 正式测量 + 统计分析(中位数、IQR 剔除异常值),并显式 GPU 同步以保证计时准确。结果以追加模式写入 CSV(不覆盖,天然支持多硬件累计排行榜),可生成带 Plotly 图表的交互 HTML 报告和排行榜,并可部署到 Hugo、提交到公开排行榜。

tools/website/
Hugo 静态博客站点(“TzJ’s Net”,PaperMod 主题),部署到 GitHub Pages(https://tzj2006.github.io/)。内置增量图片/视频压缩(只压缩自 .last_build 以来变更的媒体:图片走 pngquant,视频走 HandBrakeCLI),以及本地模型双语翻译(默认 Ollama;Linux 上回退 vLLM、Windows 上回退 transformers;模型 tencent/Hy-MT2-1.8B 首次运行自动下载,不走云端 LLM API)。各工具 deploy 流水线把自动生成内容直接写入 tools/website/content|static(唯一 Hugo 内容根;带 gadget_generated 标记;没有该标记的手写文件永不覆盖),再翻译、压缩、构建、推送。tools/website/public/独立部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动 commit + push——不要直接往里面提交。

tools/translator/
基于 common 翻译引擎的 Gradio 文档翻译器:类 Google 翻译的本地网页,翻译文本和文件(.md / .txt / .pdf / .docx / 图片),并保留 Markdown 格式(代码块、URL、Hugo shortcode 等片段受保护)。本地推理,不走云 API。通过 common.engine.create_engine() 自动选后端(拉好模型 tag 时优先 ollama;Windows 回退 transformers;Linux 优先 vllm;低显存 GGUF 用 llamacpp),模型常驻内存(warm),切换模型时按需懒加载。默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载,可用 GADGET_TRANSLATION_MODEL 或 GUI 内模型管理覆盖。源语言可设 auto(按文本 CJK 比例检测);目标为 auto 时在 zh↔en 之间翻转。

common/
所有工具依赖的共享层:统一两层 LLM API(四个后端)、JSON 解析与修复、SHA-256 磁盘缓存(命名空间 + TTL)、原子写入与内容哈希、本地推理翻译引擎与双语内容生成、跨平台 Hugo 部署。

scripts/
运维脚本:rclone 数据同步、新机器 onboarding、只读冒烟测试、本地 LLM 环境、Hugo 双语审计、翻译引擎 GPU profiler 等。

../ai-companion/(独立仓库)
记录函数级代码变更、生成测试和 HTML 报告,提供 /idea/ccplan/ccedit 规划-执行流水线,并托管全部 Claude Code skills。同时打包为标准 Claude Code 插件和等价的 Codex 集成,安装即可用。本仓库已不再包含 skills/ 目录。

outputs/
全部生成物集中在此(已 gitignore,可自动重建):logs/reports/cache/data/images/backups/。Hugo 站点内容直接写到 tools/website/content|static,没有单独的 outputs/site 暂存树。


2. 面向第一次接触的使用教程

2.1 环境准备

README 给出的要求:

  • Python 3.10+(推荐 conda 环境 AI
  • Node.js 18+(只有独立仓库 ../ai-companion/ 需要)
  • 各工具的具体依赖见对应目录的 requirements.txt
  • 网站/翻译功能使用本地推理引擎(默认 Ollama;Linux 上回退 vLLM、Windows 上回退 transformers);模型 tencent/Hy-MT2-1.8B 首次运行自动下载

激活推荐环境:

conda activate AI

另外请先读仓库根目录的 AGENTS.md(所有 AI agent 动手前的工作流协议)和 CLAUDE.md(Claude Code 仓库指南)。更细的逐步说明在 TUTORIAL.md

2.2 安装

在仓库根目录安装共享包 common/ 以及工具 extras。

安装 common + summarize / research / benchmark / website extras(不含 translator):

pip install -e ".[all]"

单独安装 translator(all 不包含 translator):

pip install -e ".[translator]"

只装网站相关依赖(含翻译用的 torch + transformers):

pip install -e ".[website]"

pip install -e . 会在仓库根目录生成 build/gadget.egg-info/(已 gitignore)。

ai-companion 的安装见 ../ai-companion/scripts/install.ts。它同时是 Claude Code 插件和 Codex 集成,安装即可用,无需构建。

2.3 配置

仓库级配置

  • 工具设置在仓库根目录的 config.json(已 gitignore)。
  • config.example.json 复制一份再改。
  • 路径可用环境变量 GADGET_CONFIG 覆盖。

密钥与 onboarding 表

  • tokens/ 存放 API keys 和 onboarding 表,已 gitignore——永远不要提交其中内容

新机器一次性配置(本仓库)

  1. 填写一份 YAML:tokens/onboard.yaml
  2. 运行一次 scripts/onboard.py

它会自动完成:SSH 配置、Claude/Codex CLI 安装与认证、pip extras 和 ai-companion 安装、各工具配置、rclone bootstrap。

新服务器系统级安装(Ubuntu 22.04/24.04)

脚本已迁到 ai-companion:../ai-companion/scripts/onboard-server.sh。仓库拆分后,--companion-repo 直接传 ai-companion 仓库(git@github.com:TzJ2006/ai-companion.git),不再需要 --companion-ref。用法:

bash ../ai-companion/scripts/onboard-server.sh --help

LLM 后端(全局)

统一用 --api 切换:ollama(默认)、claude_clianthropicopenai。也可用环境变量 GADGET_LLM_BACKEND 全局指定。

翻译后端 / 模型

  • 后端由 GADGET_TRANSLATION_BACKEND 选择:ollama(模型已 pull 时默认,走本地 Ollama 服务)→ llamacpp / vllm / transformers(进程内)。
  • 模型:tencent/Hy-MT2-1.8B;translator 还可用 GADGET_TRANSLATION_MODEL 或 GUI 内模型管理覆盖。

跨设备数据同步

需要先配置 rclone。配置在仓库根 config.jsonsync 段(路径同样可用 GADGET_CONFIG 覆盖)。

python scripts/sync.py
python scripts/sync.py push
python scripts/sync.py pull

README 写明 sync.py 覆盖 summarize / website / research / benchmark / backups 等类别,还有特殊的 dag 类别(生成并部署 DAG 站点);子命令还包括 status / bootstrap / config。

不要提交的内容

不要 git add:自动生成内容、rclone 同步数据、构建产物(build/gadget.egg-info/)、tools/website/ 下的部署/主题仓库。所有生成文件都在 outputs/(已 gitignore)。许可为 GPL-3(见 LICENSE)。

安装后的只读冒烟检查(不调用 LLM、不联网、不写文件):

bash scripts/smoke.sh

summarize 用的本地 Ollama 变体(把环境变量打印出来以便 eval):

eval "$(bash scripts/serve_local_llm.sh env)"

持久化旋钮写在仓库根 config.jsonsummarize 段(路径可用 GADGET_CONFIG 覆盖)。

其他运维脚本:language.py(Hugo 双语审计 + summarize 报告重命名)、profile_translation.py(翻译引擎 GPU profiler)。


2.4 各工具典型用法

Summarize:AI 对话日/周/月报

多设备流程:各设备先导出未导出日期 → 同步并按天合并 → 攒够日报后再出周报/月报。推荐新入口 python -m summarize(旧入口 python tools/summarize/daily_summary.py ... / weekly_summary.py / monthly_summary.py 仍可用,但是兼容再导出垫片)。

python -m summarize daily export                                   # 阶段 1:导出所有未导出日期
python -m summarize daily merge --sync-all                         # 阶段 2:同步全部日期并按天合并
python -m summarize weekly generate --week 2026-W12 --deploy       # 周报 + 部署
python -m summarize monthly generate --month 2026-02 --deploy      # 月报 + 部署
python -m summarize auto --deploy                                  # 一键全流水线:export → merge → weekly → monthly + deploy

LLM 后端用 --api 切换(ollama / claude_cli / anthropic / openai)。更细步骤见 TUTORIAL.md 的 Summarize 节和 tools/summarize/tutorial.md

Research:论文发现与研究者分析

统一入口是 tools/research/research_scout.py

python tools/research/research_scout.py report --project my-project        # 全流水线:检索 → 三阶段评估 → 报告
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"  # 自然语言搜索(自动路由数据源)
python tools/research/research_scout.py profile "Sergey Levine"             # 研究者画像
python tools/research/research_scout.py citations 2301.12597               # 引用图(按 arXiv ID / DOI)
python tools/research/research_scout.py deploy                              # 把报告部署到 Hugo

深度论文洞察能力在 README 里以 --insight 标出,但没有给出完整可复制命令行。LLM 同样用 --api 切换四个后端。更细步骤见 TUTORIAL.md 的 Research 节和 tools/research/TUTORIAL.md

Benchmark:性能基准套件

注意:所有命令都要先 cdtools/benchmark/ GPU 会自动检测 CUDA / Apple MPS / Intel XPU。结果以追加模式写入 CSV,不会覆盖。

cd tools/benchmark
python -m benchmark.cli                # 跑全部基准(结果追加到 CSV)
python -m benchmark.cli --cpu-only     # 只测 CPU
python -m benchmark.cli --gpu-only     # 只测 GPU
python -m benchmark.cli --report       # 跑基准 + 生成 HTML 报告
python -m benchmark.cli --report --deploy  # 生成报告并发布到 Hugo /benchmark/

--info 会做检测(OpenCL 可能只出现在检测结果里)。更细步骤见 TUTORIAL.md 的 Benchmark 节和 tools/benchmark/tutorial.md

Website:Hugo 博客

自动生成内容由各工具的 deploy 流水线写入 tools/website/content|static,再翻译、压缩、构建、推送。tools/website/public/ 是独立部署仓库,由构建脚本自动提交推送,不要直接往里面 commit。

pip install -e ".[website]"                          # 安装依赖(含翻译用的 torch + transformers)
cd tools/website && bash update.sh                   # macOS/Linux:增量压缩 + Hugo 构建 + 推送 Pages
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1  # Windows(脚本会自己 cd 到所在目录)
cd tools/website && hugo server -D                   # 本地预览(开发服务器,含草稿)

更细步骤见 TUTORIAL.md 的 Website 节和 tools/website/CLAUDE.md

Translator:Gradio 文档翻译器

本地推理,默认模型首次使用自动下载。源语言可设 auto;目标为 auto 时在中英之间翻转。

pip install -e ".[translator]"   # 安装依赖(gradio + GGUF 翻译栈)
python -m translator             # 启动 Gradio GUI(在浏览器打开)

更细步骤见 TUTORIAL.md 的 Translator 节。UI 接线在 tools/translator/app.py,翻译与文件逻辑在 tools/translator/core.py,共享引擎在 common/engine.pycommon/translation.py


2.5 建议的第一次上手顺序

严格按 README 能串起来的路径:

  1. conda activate AI,确认 Python 3.10+。若要用 ai-companion,再准备 Node.js 18+。
  2. config.example.json 复制出 config.json;需要密钥时只放在 tokens/,不要提交。
  3. 新机器:填 tokens/onboard.yaml,跑 scripts/onboard.py。新 Ubuntu 服务器还可看 bash ../ai-companion/scripts/onboard-server.sh --help
  4. pip install -e ".[all]";若要用翻译 GUI,再 pip install -e ".[translator]"
  5. bash scripts/smoke.sh 做只读冒烟。
  6. 按上面各节命令使用单个工具;跨设备数据用 python scripts/sync.py push / pull(需 rclone)。
  7. 改工具逻辑去 tools/<tool>/,改共享能力去 common/,改工作流/skill 去 ../ai-companion/

更逐步的操作、配置、数据格式和 FAQ,README 明确指向 TUTORIAL.md 以及各工具自己的源码文档,本教程没有使用那些文件里的额外命令。

Cursor · Gemini 3.7 Flash — 7,229 字符 · 31 个代码块 · README 事实点 15/16

以下基于提供的 README.md 内容为您整理的项目总结与详细使用教程。所有内容与命令均严格依据 README 原文编写。


第一部分:开源项目 Gadgets 总结

1. 项目简介

Gadgets 是一个在日常开发中积累的实用工具合集,涵盖了 AI 对话日报/周报/月报生成学术论文发现与学者分析软硬件性能基准测试Hugo 个人博客自动化构建与发布 以及 本地文档翻译 五大核心领域。

  • 架构特点tools/ 目录下的每个工具都是独立的,可以单独使用;通用基础设施(如 LLM 调用、JSON 解析、磁盘缓存、原子写、翻译引擎、Hugo 部署等)统一收敛在根目录的 common/ 包中。
  • 扩展与工作流:开发工作流引擎和所有技能(Skills)托管于同级独立仓库 ai-companion../ai-companion/),通过 Hook 机制接入本项目。

2. 仓库结构说明

gadget/
├── tools/              # 5 个独立的工具产品
│   ├── summarize/      # AI 对话日/周/月报生成
│   ├── research/       # 论文发现 + 学者分析 + 引用关系图
│   ├── benchmark/      # CPU/GPU 性能基准测试
│   ├── website/        # Hugo 博客(增量媒体压缩 + 自动化构建与发布)
│   └── translator/     # Gradio 本地文档翻译 Web 应用
├── common/             # 共享基础设施包(LLM/缓存/IO/翻译/Hugo部署,所有工具的底层依赖)
├── scripts/            # 运维与维护脚本(数据同步 sync.py、新机配置 onboard.py、冒烟测试 smoke.sh 等)
├── docs/               # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档(docs/archive/)
├── outputs/            # 所有生成产物的输出目录(已加入 .gitignore,可自动重建)
├── AGENTS.md           # AI Agent 工作流协议文件
├── CLAUDE.md           # Claude Code 指南
└── pyproject.toml      # common/ 与各工具的打包配置(供 pip install -e . 安装)

3. 各工具及模块功能介绍

工具/目录 核心功能 关键技术/后端支持
tools/summarize/ AI 对话多周期报告生成:自动读取 Claude Code / Codex / Cursor Agent / ChatGPT 等对话日志,结合 ccusage 20.x 统计各 Agent 的 Token 与费用,两阶段生成结构化日/周/月报与趋势总结。 支持 4 种 LLM 后端(ollama 默认、claude_clianthropicopenai);ccusage、matplotlib
tools/research/ 学术研究综合套件:统一入口 research_scout.py,提供四大能力:① 论文发现(三阶段 LLM 筛选评价并生成周报);② 深度洞察(--insight 分析论文写作结构、评审意见及策略);③ 学者画像(研究轨迹、分级评分、师生关系挖掘);④ 引用图谱分析。 arXiv / bioRxiv / PubMed / Semantic Scholar、OpenReview、LLM(4 种后端)
tools/benchmark/ CPU/GPU 跨平台性能基准测试:统一测量不同硬件与精度(FP64/FP32/FP16/BF16/FP8)的 FLOPS 浮点性能,采用预热+正式测量+统计分析,结果追加至 CSV,支持生成 Plotly 交互式 HTML 报告及发布至 Hugo。 PyTorch、NumPy、Plotly;支持 NVIDIA (CUDA)、Apple Silicon (MPS)、Intel (XPU)
tools/website/ Hugo 静态博客自动化:自动化处理个人博客(“TzJ’s Net”),具备媒体增量压缩(pngquant 压缩图片、HandBrakeCLI 压缩视频)与本地模型双语自动翻译能力,直接构建并推送到 GitHub Pages。 Hugo (PaperMod 主题)、pngquant、HandBrakeCLI、本地翻译模型 tencent/Hy-MT2-1.8B
tools/translator/ Gradio 本地文档翻译工具:仿 Google 翻译界面的本地 Web 应用,支持文本与文件(.md.txt.pdf.docx、图片)翻译,完整保留 Markdown 格式(保护代码块、URL、Hugo 短代码),不调用云端 API。 Gradio、本地翻译引擎(优先 Ollama,支持 vLLM / transformers / llamacpp GGUF)
common/ 共享基础设施包:提供统一的 LLM 双层调用接口、JSON 解析与修复、SHA-256 磁盘缓存、原子写入与哈希校验、本地翻译引擎及跨平台 Hugo 部署。 Python 包(pip install -e .
scripts/ 运维脚本集:提供数据跨设备同步(sync.py)、新机器配置(onboard.py)、只读冒烟测试(smoke.sh)、本地 LLM 环境调优配置(serve_local_llm.sh)、双语审计(language.py)等。 rclone、Python、Shell
../ai-companion/ 独立工作流仓库:记录函数级代码变更,提供 /idea/ccplan/ccedit 规划执行流及所有 Claude Code / Codex 技能。 Node.js、TypeScript

第二部分:Gadgets 详细使用教程

1. 环境准备

  • Python 环境:需要 Python 3.10+,推荐使用名为 AI 的 Conda 环境:
    conda activate AI
    
  • Node.js 环境:Node.js 18+(仅当需要使用同级独立仓库 ../ai-companion/ 时才需要)。
  • 本地翻译/模型环境:翻译与博客功能默认依赖本地 Ollama 运行的 tencent/Hy-MT2-1.8B 模型(初次使用时自动下载;Linux 备选 vLLM,Windows 备选 transformers)。

2. 安装与初始化

项目采用可编辑模式(editable mode)安装基础包与各工具依赖:

2.1 安装公共基础包与大部分工具依赖

安装 common/ 以及除 translator 外的所有工具依赖(summarize, research, benchmark, website):

pip install -e ".[all]"

2.2 安装特定工具依赖

  • 安装 Translator(翻译器)独立依赖(注意:.[all] 中不包含 translator,需单独安装):
    pip install -e ".[translator]"
    
  • 单独安装 Website 依赖(包含本地翻译所需 torch + transformers 等):
    pip install -e ".[website]"
    

2.3 运行只读冒烟测试

验证所有工具的环境与导入是否正常(不发起网络请求、LLM 调用或写入操作):

bash scripts/smoke.sh

3. 配置说明

  1. 全局配置文件
    • 复制根目录的模板文件生成 config.json(该文件已 gitignored):
      cp config.example.json config.json
      
    • 包含了 sync(rclone 同步配置)和 summarize 等各工具的运行设置。
    • 可通过环境变量 GADGET_CONFIG 覆盖配置文件路径。
  2. API 密钥与凭证目录
    • tokens/ 目录用于存放 API Key 以及新机器初始化清单 tokens/onboard.yaml(该目录已 gitignored,切勿提交)。
  3. 全局环境变量调节
    • GADGET_LLM_BACKEND:全局指定 LLM 后端(ollamaclaude_clianthropicopenai)。
    • GADGET_TRANSLATION_BACKEND:指定翻译后端(ollamallamacppvllmtransformers)。
    • GADGET_TRANSLATION_MODEL:覆盖默认翻译模型名称。

4. 各工具典型使用方法(直接可运行命令)

4.1 Summarize —— AI 对话报告生成

统一采用 python -m summarize 入口。LLM 后端可通过 --api 指定(可选 ollama(默认)、claude_clianthropicopenai)。

  • 第一阶段:导出未导出的对话记录
    python -m summarize daily export
    
  • 第二阶段:同步并逐日合并生成日报
    python -m summarize daily merge --sync-all
    
  • 生成指定周周报并部署到博客
    python -m summarize weekly generate --week 2026-W12 --deploy
    
  • 生成指定月月报并部署到博客
    python -m summarize monthly generate --month 2026-02 --deploy
    
  • 一键全流程执行(导出 → 合并 → 周报 → 月报 + 部署)
    python -m summarize auto --deploy
    

4.2 Research —— 学术论文与学者调研

统一入口为 tools/research/research_scout.py

  • 全流程运行论文调研(搜索 → 三阶段评估 → 生成报告)
    python tools/research/research_scout.py report --project my-project
    
  • 自然语言检索论文(自动路由数据源)
    python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
    
  • 学者学术画像分析(输入学者姓名)
    python tools/research/research_scout.py profile "Sergey Levine"
    
  • 引用图谱分析(根据 arXiv ID 或 DOI)
    python tools/research/research_scout.py citations 2301.12597
    
  • 将调研报告部署至 Hugo 博客
    python tools/research/research_scout.py deploy
    

4.3 Benchmark —— 性能基准测试

注意:执行基准测试命令前,必须先 cd 进入 tools/benchmark 目录。

cd tools/benchmark
  • 运行全量基准测试(CPU + GPU,结果追加至 CSV)
    python -m benchmark.cli
    
  • 仅运行 CPU 基准测试
    python -m benchmark.cli --cpu-only
    
  • 仅运行 GPU 基准测试
    python -m benchmark.cli --gpu-only
    
  • 运行测试并生成交互式 HTML 报告
    python -m benchmark.cli --report
    
  • 生成测试报告并发布到 Hugo 博客的 /benchmark/ 路径
    python -m benchmark.cli --report --deploy
    

4.4 Website —— Hugo 博客构建与发布

  • 本地启动预览服务器(包含草稿)
    cd tools/website && hugo server -D
    
  • macOS / Linux 环境:增量媒体压缩 + Hugo 构建 + 自动推送 GitHub Pages
    cd tools/website && bash update.sh
    
  • Windows 环境:更新并构建发布
    powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
    

4.5 Translator —— 本地文档翻译 Web 界面

  • 启动 Gradio Web GUI 界面(启动后自动在浏览器打开)
    python -m translator
    

4.6 运维与脚本工具

  • 跨设备数据同步(基于 rclone)
    python scripts/sync.py
    
    (或使用 python scripts/sync.py push / python scripts/sync.py pull)
  • 新机一键配置与初始化(填写 tokens/onboard.yaml 后执行):
    python scripts/onboard.py
    
  • 创建针对 Summarize 调优的本地 Ollama 模型并导出环境变量
    eval "$(bash scripts/serve_local_llm.sh env)"
    
  • 查看服务器系统级初始化脚本帮助(来自同级 ai-companion 仓库):
    bash ../ai-companion/scripts/onboard-server.sh --help
    

5. 产物输出与数据流向

所有生成的文件均集中存放于 outputs/ 目录(已加入 .gitignore):

  • outputs/logs/:中间导出日志与运行日志
  • outputs/reports/:生成的 Markdown、JSON、HTML 最终报告
  • outputs/cache/:LLM 调用与搜索结果缓存
  • outputs/data/:结构化数据(CSV 跑分数据、学者画像 JSON)
  • outputs/images/:图表及生成图像
  • outputs/backups/:备份文件
Claude Code · Fable 5.1 · effort high — 8,091 字符 · 15 个代码块 · README 事实点 16/16

下面基于 README 内容完成两部分:先是项目总结,再是面向新手的使用教程。所有命令和参数均只取自 README。

一、项目总结

这是什么。 gadget 是作者在日常开发中积累的一组实用工具集合,涵盖五个方向:AI 对话日报生成、论文发现与研究者分析、CPU/GPU 性能基准测试、Hugo 博客自动化、文档翻译。每个工具位于 tools/ 下独立目录,可单独使用。公共能力(LLM 调用、JSON 解析修复、磁盘缓存、原子写入、本地翻译引擎、Hugo 部署)统一放在仓库根目录的 common/ 包中,通过 pip install -e . 安装。开发流程引擎和所有 Claude Code skills 不在本仓库,而在同级目录的独立仓库 ai-companion 中,通过 .claude/.codex/ 下的 hooks 接入。项目采用 GPL-3 许可。

仓库结构。

目录 / 文件 作用
tools/summarize/ AI 对话日报 / 周报 / 月报
tools/research/ 论文发现 + 研究者分析 + 引用图谱
tools/benchmark/ CPU/GPU 性能基准测试
tools/website/ Hugo 博客(增量媒体压缩 + 自动构建发布)
tools/translator/ Gradio 文档翻译器
common/ 所有工具依赖的共享基础设施包
scripts/ 运维脚本:sync.pyonboard.pysmoke.shserve_local_llm.shlanguage.pyprofile_translation.py
docs/ 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档(docs/archive/
outputs/ 所有生成产物(已 gitignore,可自动重建),下分 logs / reports / cache / data / images / backups
tokens/ API 密钥和 onboarding 表单,已 gitignore,绝不能提交
AGENTS.md / CLAUDE.md AI agent 工作协议与 Claude Code 仓库指南
pyproject.toml 打包配置
config.json 工具设置(gitignore,从 config.example.json 复制),路径可用 GADGET_CONFIG 覆盖

每个工具做什么。

  • Summarize:读取 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON 的对话记录,调用 LLM 生成结构化日报、周报、月报。采用多设备两阶段架构:各设备先导出日志,经云盘同步或手动拷贝汇总后再合并生成日报。通过 ccusage 20.x 的分源命令(ccusage claudeccusage codexccusage gemini)自动统计各 agent CLI 的 token 用量与费用。
  • Research:统一入口 tools/research/research_scout.py,提供四类能力。论文发现:从 arXiv / bioRxiv / PubMed 搜索,经"快速筛选 → 深度评估 → 引用影响"三阶段 LLM 流水线生成研究周报并部署到 Hugo,支持会议论文和作者搜索。深度洞察(--insight):下载全文分析写作结构与发表策略,自动匹配 OpenReview 评审意见。研究者画像:结合 arXiv + Semantic Scholar 数据生成研究轨迹分析、tier 分数,自动发现导师-学生关系,支持同名消歧与反向查找。引用图谱:基于 Semantic Scholar API 做正向引用 / 反向参考分析。
  • Benchmark:跨平台 CPU/GPU FLOPS 测试,支持 NVIDIA CUDA、Apple MPS、Intel XPU(OpenCL 仅出现在 --info 检测中),覆盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)。采用预热 + 正式测量 + 统计分析(中位数、IQR 剔除离群值),显式 GPU 同步保证计时准确。结果以追加模式写入 CSV,可生成 Plotly 交互式 HTML 报告和排行榜,支持部署到 Hugo 和提交公共排行榜。
  • Website:Hugo 静态博客"TzJ’s Net"(PaperMod 主题),部署到 GitHub Pages。内置增量媒体压缩(只处理 .last_build 之后变化的文件,图片用 pngquant,视频用 HandBrakeCLI)和本地模型中英双语翻译(默认 Ollama,Linux 回退 vLLM,Windows 回退 transformers,模型 tencent/Hy-MT2-1.8B 首次运行自动下载)。自动生成内容直接写入 tools/website/content|static 并带有 gadget_generated 标记,手写文件不会被覆盖。tools/website/public/ 是独立的部署仓库,由构建脚本自动提交推送,不要直接向它提交。
  • Translator:基于 common 翻译引擎的 Gradio 网页翻译器,类似 Google 翻译的本地界面,支持文本和 .md / .txt / .pdf / .docx / 图片文件,翻译时保护代码块、URL、Hugo shortcode 等 Markdown 片段。全程本地推理,通过 common.engine.create_engine() 自动选择后端(ollama / transformers / vllm / llamacpp),模型常驻内存,切换模型时按需懒加载。源语言可设 auto(按 CJK 比例检测),目标 auto 时在中英之间翻转。

四个 LLM 后端。 所有 LLM 功能通过 --api 统一切换:ollama(默认,本地 Ollama,无需密钥,Qwen3.8-27B)、claude_cli(复用 Claude Code CLI 登录态,无需 API key)、anthropicopenai。也可用环境变量 GADGET_LLM_BACKEND 全局设置。

二、使用教程

1. 环境准备

  • Python 3.10 以上,推荐使用 conda 环境 AI
  • Node.js 18 以上,仅 ../ai-companion/ 独立仓库需要。
  • 各工具的具体依赖见对应目录下的 requirements.txt
  • 网站构建需要 Hugo、pngquant、HandBrakeCLI。
  • 跨设备同步需要配置 rclone。
  • 默认 LLM 后端是本地 Ollama,如不想装 Ollama,可用 --api claude_cli 复用 Claude Code 登录态,或用 anthropic / openai 并在 tokens/ 目录放置 API 密钥。
conda activate AI

2. 安装

在仓库根目录执行。all 包含 common 包及 summarize / research / benchmark / website 四个工具的依赖,但不包含 translator,后者需单独安装。

pip install -e ".[all]"
pip install -e ".[translator]"

只需要单个工具时,也可以只装基础包或单个 extra:

pip install -e .
pip install -e ".[website]"

安装会在仓库根目录生成 build/gadget.egg-info/,已被 gitignore,不要提交。

3. 配置

  • 复制 config.example.jsonconfig.json,按需修改。config.json 已 gitignore。需要换路径时设置环境变量 GADGET_CONFIG
  • sync.py 读取 config.jsonsync 段;serve_local_llm.sh 的持久化设置放在 summarize 段。
  • API 密钥放在 tokens/ 目录,绝不提交。
  • 全局环境变量:GADGET_LLM_BACKEND 设定 LLM 后端;GADGET_TRANSLATION_BACKEND 设定翻译引擎(ollamallamacpp / vllm / transformers);GADGET_TRANSLATION_MODEL 覆盖翻译模型。

新机器一次性配置可以走 onboarding 流程:填写 tokens/onboard.yaml,运行 scripts/onboard.py 一次,脚本会自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 与 ai-companion 安装、各工具配置以及 rclone bootstrap。

python scripts/onboard.py

安装完成后可跑一遍只读冒烟测试,检查所有工具的 --help / --info / import 是否正常,不触发 LLM、网络或写入:

bash scripts/smoke.sh

4. Summarize:日报 / 周报 / 月报

典型流程分两阶段。先在每台设备上导出未导出的日期,再在汇总设备上同步并逐日合并。日报积累够后再生成周报和月报,--deploy 会一并部署到 Hugo。

python -m summarize daily export
python -m summarize daily merge --sync-all
python -m summarize weekly generate --week 2026-W12 --deploy
python -m summarize monthly generate --month 2026-02 --deploy
python -m summarize auto --deploy

auto 是一键全流程:导出 → 合并 → 周报 → 月报 + 部署。切换 LLM 后端加 --api,例如 --api claude_cli。旧入口 python tools/summarize/daily_summary.py ...weekly_summary.pymonthly_summary.py 仍可用,但推荐新形式。

若想为 summarize 创建一个专门调优的本地 Ollama 变体并导出环境变量:

eval "$(bash scripts/serve_local_llm.sh env)"

5. Research:论文发现与研究者分析

统一入口是 tools/research/research_scout.py,在仓库根目录运行。

python tools/research/research_scout.py report --project my-project
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
python tools/research/research_scout.py profile "Sergey Levine"
python tools/research/research_scout.py citations 2301.12597
python tools/research/research_scout.py deploy
  • report --project:完整流水线,搜索 → 三阶段评估 → 生成报告。
  • ask:自然语言搜索,自动路由数据源。
  • profile:研究者画像。
  • citations:按 arXiv ID 或 DOI 做引用图谱。
  • deploy:把报告部署到 Hugo。
  • 深度论文洞察加 --insight 参数。所有 LLM 功能支持 --api 切换后端。

6. Benchmark:性能基准测试

所有命令都必须先进入 tools/benchmark/ 目录。结果追加写入 CSV,不会覆盖旧结果,多次多硬件运行自然累积成排行榜。

cd tools/benchmark
python -m benchmark.cli
python -m benchmark.cli --cpu-only
python -m benchmark.cli --gpu-only
python -m benchmark.cli --report
python -m benchmark.cli --report --deploy
  • 不带参数:运行全部测试。
  • --cpu-only / --gpu-only:只测 CPU 或 GPU。
  • --report:运行测试并生成 HTML 报告。
  • --report --deploy:生成报告并发布到 Hugo 的 /benchmark/ 页面。
  • --info:检测硬件信息。GPU 会自动识别 CUDA / Apple MPS / Intel XPU。

7. Website:Hugo 博客

先安装 website extra(含翻译所需的 torch + transformers),然后运行构建脚本。脚本会做增量压缩、翻译、Hugo 构建,并自动提交推送 tools/website/public/ 部署仓库。

pip install -e ".[website]"
cd tools/website && bash update.sh

Windows 用 PowerShell 脚本,脚本会自行切换到自己的目录:

powershell -ExecutionPolicy Bypass -File tools/website/update.ps1

本地预览(开发服务器,包含草稿):

cd tools/website && hugo server -D

注意事项:首次运行会自动下载翻译模型 tencent/Hy-MT2-1.8B。手写文章直接放在 tools/website/content,没有 gadget_generated 标记的文件不会被自动内容覆盖。不要直接向 tools/website/public/ 提交,也不要 git add 部署仓库和主题仓库。

8. Translator:文档翻译器

pip install -e ".[translator]"
python -m translator

启动后会在浏览器打开 Gradio 界面,可翻译文本或上传 .md / .txt / .pdf / .docx / 图片。默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF)首次使用自动下载。换模型可设置 GADGET_TRANSLATION_MODEL 或在界面内的模型管理中操作。后端选择规则:已拉取模型 tag 时优先 ollama,Windows 回退 transformers,Linux 优先 vllm,显存不足时用 llamacpp 加载 GGUF。

9. 跨设备数据同步

sync.py 用 rclone 集中同步 summarize / website / research / benchmark / backups 等类别的数据,支持 push / pull / status / bootstrap / config 操作,另有一个特殊的 dag 类别用于生成并部署 DAG 站点。

python scripts/sync.py
python scripts/sync.py push
python scripts/sync.py pull

10. 其他脚本与 ai-companion

  • scripts/language.py:Hugo 双语审计与 summarize 报告重命名。
  • scripts/profile_translation.py:翻译引擎 GPU 性能分析。
  • ai-companion 是独立 Node.js 仓库,需 clone 到 ../ai-companion/。它提供代码变更追踪、/idea/ccplan/ccedit 规划执行流水线和所有 skills,安装方式见 ../ai-companion/scripts/install.ts
  • Ubuntu 22.04/24.04 服务器的系统级一键安装脚本也在该仓库:
bash ../ai-companion/scripts/onboard-server.sh --help

其中 --companion-repo 直接传 ai-companion 仓库地址 git@github.com:TzJ2006/ai-companion.git--companion-ref 已不再需要。

11. 输出位置与提交规范

所有生成产物在 outputs/ 下:logs/ 中间产物、reports/ 最终报告、cache/ LLM 与搜索缓存、data/ 结构化数据、images/ 图表、backups/ 强制覆盖备份。Hugo 内容直接写入 tools/website/content|static,没有单独的 staging 目录。永远不要 git add 自动生成内容、rclone 同步数据、build/gadget.egg-info/ 以及 tokens/ 下的任何文件。

如需把这份教程发布成可分享的网页,告诉我一声即可。

复现

跑测和生成本文的两个脚本,以及 16 次运行的完整记录(含全文、计时、usage、统计): docbench.pygen_doc_post.pydocbench.json

python docbench.py       # 全部跑一遍,结果写入 docbench.json,断点续跑
python gen_doc_post.py   # 从 docbench.json 重新生成本文