把 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/chat,stream: false,think: 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 --json、claude -p --output-format json、
cursor-agent --print --output-format json,全部串行,工作目录是一个空的临时文件夹,跑完检查过没有残留文件。
prompt 从 stdin 送进去(Windows 的 .cmd shim 会把命令行参数在第一个换行处截断)。
总耗时用 perf_counter 掐整个进程,token、API 耗时、首 token 延迟从各家 JSON 的 usage 字段读。
每个模型跑 1 次。 采样带随机性,单次结果和速度数字都会浮动。
三条影响读数的事实
-
两张速度表不可互比。 本地模型的输入就是这条 prompt 本身(5 230–8 000 tokens); 云端走的是 coding agent CLI,输入里还包含它们各自的系统提示和工具定义。
-
Claude Code 的
input_tokens字段报的是个位数,真实上下文在cache_creation_input_tokens+cache_read_input_tokens里,表三的输入列已经把三者相加。 Codex 和 Cursor 报的是完整输入。 -
首 token 延迟只有 Claude Code 报(
ttft_ms),Codex 和 Cursor 的 JSON 里没有这个字段。 -
表二里两个显存数字互相不一致。「显存峰值增量」来自
nvidia-smi,「ollama ps常驻」是 ollama 自己报的 SIZE;Gemma4 26B 上前者 28.4 GB、后者 4.2 GB。两列都照原样列出。 -
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.pypython scripts/sync.py pull
- Gemma4 26B (1)
python scripts/onboard.py
- Qwen3.8 (6)
cd gadgetgit clone git@github.com:TzJ2006/ai-companion.git ../ai-companiongit clone git@github.com:TzJ2006/gadget.gitpython scripts/onboard.pypython scripts/sync.py pullpython scripts/sync.py status
- Qwen3.6 (5)
cd gadgetgit clone <gadget_repo_url>python scripts/onboard.pypython scripts/sync.py pullpython scripts/sync.py status
- Claude Code · Haiku 4.5 (29)
cd gadgetcd tools/benchmark && python -c "import torch; print(torch.cuda.is_available())"conda create -n AI python=3.10export GADGET_CONFIG=/path/to/custom/config.jsonexport GADGET_LLM_BACKEND=claude_cliexport GADGET_TRANSLATION_BACKEND=ollamaexport GADGET_TRANSLATION_BACKEND=transformersexport GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUFgit 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 → deploypython scripts/sync.py pullpython tools/summarize/monthly_summary.py ...python tools/summarize/weekly_summary.py ...
- Codex · GPT-5.6-Terra (5)
ollama → llamacpp / vllm / transformerspython scripts/onboard.pypython scripts/sync.py pullpython tools/summarize/monthly_summary.pypython tools/summarize/weekly_summary.py
- Codex · GPT-5.6-Luna (4)
python scripts/onboard.pypython scripts/sync.py pullpython tools/summarize/monthly_summary.pypython tools/summarize/weekly_summary.py
- Codex · GPT-5.5 (5)
python scripts/onboard.pypython scripts/sync.py pullpython 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 --reportpython tools/summarize/monthly_summary.py ...python tools/summarize/weekly_summary.py ...
- Claude Code · Opus 5 (10)
export GADGET_CONFIG=/path/to/your/config.jsonexport GADGET_LLM_BACKEND=ollamaexport GADGET_TRANSLATION_BACKEND=ollamaexport GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8Bexport GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUFpython -m summarize auto --deploy --api claude_clipython scripts/language.pypython scripts/onboard.pypython scripts/sync.py pullpython 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.pypython scripts/sync.py pullpython 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.pypython 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 extrasum—python -m summarizeres—research_scout.pycd—cd tools/benchmarkweb—update.sh/update.ps1trl—python -m translatorcfg—config.jsonenv—GADGET_CONFIGapi—--api claude_cli等后端 / the--apibackendsout—outputs/syn—scripts/sync.pytok—tokens/py— Python 3.10+gpl— GPL-3cmp— 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 脚本:
- 在
tokens/目录下填好onboard.yaml(包含 API Key 等信息)。 - 运行以下命令自动完成配置(包括 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
- Windows:
- 本地预览:
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 相关技能。
工具功能概览
- Summarize: AI 对话总结工具。自动读取不同设备的 AI 对话记录(Claude/ChatGPT 等),生成日/周/月报。
- Research: 学术研究工具。支持论文发现、深度论文洞察(分析写作结构/OpenReview 评论)、研究员画像分析及引用图谱分析。
- Benchmark: 性能测试套件。跨平台(NVIDIA/Apple/Intel)的 CPU/GPU 浮点运算性能测试。
- Website: Hugo 博客管理。包含媒体自动压缩、双语翻译及自动化构建与发布流程。
- Translator: 文档翻译器。基于 Gradio 的本地化翻译 Web 界面,支持保持 Markdown 格式的文档、图片及文件翻译。
2. 使用教程
本教程面向初次接触 Gadgets 的用户。
一、 环境准备
在开始之前,请确保您的系统已安装以下环境:
- Python 3.10+ (建议使用 Conda 管理环境,例如
conda activate AI) - Node.js 18+ (主要用于关联的
ai-companion仓库) - Ollama (推荐,用于本地运行 LLM)
二、 安装与配置
-
安装核心包及大部分工具: 进入项目根目录,运行以下命令安装
common包以及大部分工具所需的依赖:pip install -e ".[all]" -
安装翻译器工具 (需额外安装): 由于翻译器依赖特定的 Gradio 和模型栈,需单独安装:
pip install -e ".[translator]" -
初始化配置:
- 项目使用
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
- macOS/Linux:
5. Translator (文档翻译)
- 启动 Gradio 图形界面
启动后,在浏览器中打开显示的地址即可进行文档翻译。首次运行时会自动下载
python -m translatortencent/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,需手动创建)。
- 复制示例配置:
cp config.example.json config.json - 编辑
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 工具的日志导出功能已开启,或手动导出日志到指定目录。
典型工作流:
-
第一阶段:导出对话日志 将所有未导出的日期的对话日志提取出来。
python -m summarize daily export -
第二阶段:同步与合并 如果你有多台设备,先通过
scripts/sync.py同步数据,然后合并每日数据。# 同步所有日期的数据并逐日合并 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
提示:默认使用
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. 使用方式
- 打开浏览器中的本地地址(通常是
http://127.0.0.1:7860)。 - 上传文件或输入文本。
- 选择源语言和目标语言(支持
auto自动检测)。 - 点击翻译。
- 复制结果或下载翻译后的文件。
高级配置:
- 模型切换:默认使用
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.json 的 sync 部分。
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: 翻译使用本地推理。
- 确保
Ollama正在运行且已拉取模型 (ollama pull tencent/Hy-MT2-1.8B)。 - 如果没有 Ollama,程序会回退到
transformers(CPU/内存消耗较大) 或vllm(GPU)。 - 检查
GADGET_TRANSLATION_BACKEND环境变量是否正确指向你已安装的后端。
Q: 博客部署失败了? A:
- 检查
config.json中的 Hugo 路径和 Git 配置。 - 确保
tools/website/public/目录是一个独立的 Git 仓库(通常由脚本自动管理,不要手动git add此目录下的文件到主仓库)。 - 查看
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 仓库。
-
克隆 Gadget 仓库(如果尚未克隆):
git clone <gadget_repo_url> cd gadget -
安装共享基础设施包 (
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]" -
配置 AI Companion(工作流引擎): Gadget 的开发工作流依赖上级目录
../ai-companion/。请确保该目录存在并已正确初始化。具体安装步骤参考../ai-companion/scripts/install.ts。
第二步:配置文件与密钥
-
创建配置文件: 所有工具设置位于根目录的
config.json中(该文件被 gitignore)。# 复制示例配置并修改 cp config.example.json config.json- 可以通过环境变量
GADGET_CONFIG指定配置文件路径。
- 可以通过环境变量
-
管理密钥 (Tokens): API 密钥和 Onboarding 信息存储在
tokens/目录中(被 gitignore,切勿提交到 Git)。- API Keys: 放在
tokens/下对应位置。 - Onboarding Sheet: 填写
tokens/onboard.yaml用于一键配置机器。
- API Keys: 放在
-
设置 LLM 后端: 默认使用
ollama(本地,无需 Key,使用 Qwen3.8-27B)。 全局切换可以通过环境变量GADGET_LLM_BACKEND或在config.json中设置。支持的值:ollama,claude_cli,anthropic,openai。
3. 工具详细用法
A. Summarize: AI 对话报告生成
场景:自动汇总多设备 AI 对话,生成日报/周报。 架构:两阶段(导出 -> 合并/生成)。
-
Phase 1: 导出未导出的日期数据
python -m summarize daily export -
Phase 2: 同步所有日期并合并每日数据
python -m summarize daily merge --sync-all -
生成周报
- 指定特定周(例如 2026年第12周):
python -m summarize weekly generate --week 2026-W12 --deploy --deploy参数会将报告发布到 Hugo 博客。
- 指定特定周(例如 2026年第12周):
-
生成月报
- 指定特定月份(例如 2026年2月):
python -m summarize monthly generate --month 2026-02 --deploy
- 指定特定月份(例如 2026年2月):
-
一键全量流程 执行完整管道:导出 -> 合并 -> 周/月报生成 -> 部署。
python -m summarize auto --deploy
提示:后端切换使用
--api参数(如--api openai),具体支持ollama,claude_cli,anthropic,openai。
B. 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 最近的机器人操作论文" # 自动路由到合适的数据源(arXiv/PubMed等) -
生成研究者画像
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
提示:同样支持
--api切换后端。深入分析论文内容可使用--insight参数(需查阅源码文档获取具体用法,README仅列出入口)。
C. Benchmark: 性能基准测试
注意:所有命令需在 tools/benchmark/ 目录下执行。
cd tools/benchmark
-
运行所有测试 (CPU + GPU) 结果追加写入 CSV,不会覆盖旧数据。
python -m benchmark.cli -
仅 CPU 测试
python -m benchmark.cli --cpu-only -
仅 GPU 测试 自动检测 CUDA / MPS / XPU。
python -m benchmark.cli --gpu-only -
生成 HTML 报告
python -m benchmark.cli --report -
生成报告并部署到 Hugo 博客 将结果发布到
/benchmark/路径。python -m benchmark.cli --report --deploy
D. Website: Hugo 博客管理
目录: tools/website/
-
本地预览 (开发模式)
cd tools/website hugo server -D -
构建并发布到 GitHub Pages (macOS/Linux) 此脚本会执行增量媒体压缩、Hugo 构建和推送。
bash update.sh -
构建并发布到 GitHub Pages (Windows)
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
重要警告:
tools/website/public/是一个独立的部署仓库。不要直接对该目录进行 git commit,它由脚本自动管理。
E. Translator: 文档翻译器
场景:通过 Web UI 翻译 Markdown、PDF 等文件,保留格式。
-
启动 Gradio 界面
python -m translator # 浏览器会自动打开 (或访问 localhost:7860) -
配置默认模型 默认使用
tencent/Hy-MT2-1.8B,首次运行自动下载。 可通过环境变量GADGET_TRANSLATION_MODEL覆盖。 -
后端切换 默认优先 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.json 的 sync 部分。需先配置 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.md 或 README.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使用和对话内容,生成结构化的日报、周报、月报。
工作流程:
- 在各设备上导出未导出的对话记录(Phase 1)
- 通过云盘同步或手动复制聚合(Phase 2)
- 生成日报、周报、月报
典型命令:
# === 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 — Summarize 和 tools/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_clianthropicopenai
详细步骤教程:见 TUTORIAL.md — Research 和 tools/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 — Benchmark 和 tools/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 — Website 和 tools/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.py、common/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.json的sync字段 - 覆盖配置路径:
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 对话记录,生成结构化的日报、周报和月报。
它采用多设备、两阶段流程:
- 在每台设备上导出对话记录。
- 通过云盘同步或手动复制进行汇总,然后按日生成报告。
当日报积累到一定数量后,还可以进一步生成周报和月度趋势总结。
它通过 ccusage 20.x 的分来源命令统计不同 agent CLI 的 token 用量和费用,例如 ccusage claude、ccusage codex、ccusage gemini。
支持四种 LLM 后端:
ollama:默认,本地运行,不需要 API keyclaude_cli:复用 Claude Code CLI 登录状态,不需要 API keyanthropicopenai
Research
统一的学术研究工具,入口为:
tools/research/research_scout.py
它有四项主要能力:
- 论文发现:从 arXiv、bioRxiv、PubMed 搜索论文,通过“快速筛选 → 深度评估 → 引用影响”三阶段 LLM 流程生成研究周报,并可发布到 Hugo。
- 深度论文洞察:下载论文全文,分析写作结构、发表策略和可复用知识;匹配 OpenReview 评论,分析审稿共识和争议;最后综合生成跨论文写作指南。
- 研究者画像:从 ArXiv 和 Semantic Scholar 获取论文及引用数据,生成研究轨迹分析、分层评分,并通过个人主页和合著模式推测导师—学生关系。
- 引用图谱:利用 Semantic Scholar API 分析前向引用和后向参考文献,再由 LLM 解读论文影响。
它同样支持 ollama、claude_cli、anthropic 和 openai 四种 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 值:
ollamaclaude_clianthropicopenai
默认值是 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.json 的 sync 部分。
查看同步工具入口:
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.json 的 summarize 部分,也可以用 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/content 和 tools/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 Keyclaude_cli:复用 Claude Code CLI 登录状态,不需要 API Keyanthropicopenai
支持通过各工具的 --api 参数切换,也可以全局设置:
GADGET_LLM_BACKEND
翻译功能使用本地推理后端,可通过下列环境变量选择:
GADGET_TRANSLATION_BACKEND
README 给出的默认选择顺序是:
ollama → llamacpp / vllm / transformers
默认模型为:
tencent/Hy-MT2-1.8B
可通过下列环境变量替换翻译模型:
GADGET_TRANSLATION_MODEL
4. 使用对话总结工具: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
该工具通过 ccusage 20.x 的分来源命令,自动发现并汇总各类 Agent CLI 的 token 使用与成本。可选 LLM 后端为 ollama、claude_cli、anthropic、openai。
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.json 的 sync 部分,也可通过 GADGET_CONFIG 指定其他配置文件。
新机器的一次性初始化流程:
- 填写
tokens/onboard.yaml。 - 执行:
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 生成:
- 日报
- 周报
- 月报和趋势总结
它采用多设备两阶段流程:
- 各设备导出对话记录
- 汇总数据并按天生成报告
同时通过 ccusage 统计不同 Agent CLI 的 token 使用量和成本。
支持四种 LLM 后端:
ollama:默认,本地 Ollama,无需 API Keyclaude_cli:复用 Claude Code 登录状态anthropicopenai
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
- 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 选择:
ollamaclaude_clianthropicopenai
也可以通过全局环境变量:
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
该流程包括:
- 增量压缩媒体文件
- 执行 Hugo 构建
- 推送到 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 统一切换,包括 ollama、claude_cli、anthropic、openai。
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.json 的 sync 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.json 的 summarize 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.py、profile_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/websiteall不包含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_clianthropicopenai
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 / DOIdeploy:把报告部署到 Hugo
同样支持切换 LLM 后端:
ollamaclaude_clianthropicopenai
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/content或tools/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
如果你愿意,我下一步可以把这份内容再整理成一版“更像正式文档”的中文手册,改成:
- 适合新手阅读的长文版
- 适合放进项目文档的精炼版
- 按“安装 / 配置 / 使用 / 常见问题”重排的版本
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 claude、ccusage codex、ccusage 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.json的sync段(可用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.json的summarize段。- 其他:
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#summarize 和 tools/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#research 和 tools/research/TUTORIAL.md。
工具 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/
想只看硬件检测结果而不实际跑,用 --info(注意 OpenCL 可能只在 --info 检测中出现,不代表能实际运行)。GPU 基准测试会自动检测 CUDA / Apple MPS / Intel XPU。结果以追加模式累积,不会覆盖历史,所以可以在多台机器上跑并累积成排行榜。
详见 TUTORIAL.md#benchmark 和 tools/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
两个必须记住的红线:
tools/website/public/是独立的部署仓库,由构建脚本自动提交推送 —— 不要直接往里提交。- 自动生成的文件带
gadget_generated标记;没有标记的手写文件永远不会被覆盖 —— 所以手写内容是安全的,但不要给手写文件加那个标记。
详见 TUTORIAL.md#website 和 tools/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.py 和 common/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.json 的 sync 段。
常见注意事项(务必遵守)
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 登录态)、anthropic、openai。
使用教程
一、环境准备
- 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_cli、anthropic、openai - 翻译后端由
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_cli、anthropic、openai
Research — 论文发现与研究分析
统一入口 tools/research/research_scout.py,四大能力:
- 论文发现:arXiv / bioRxiv / PubMed 搜索,三阶段 LLM 流水线(快筛 → 深评 → 引用影响),生成研究周报并部署到 Hugo;支持会议论文搜索、作者搜索
- 深度论文洞察(
--insight):下载全文,分析写作结构/发表策略/可复用知识;匹配 OpenReview 获取审稿意见;合成跨论文写作指南 - 研究者画像:ArXiv + Semantic Scholar 数据,LLM 生成研究轨迹分析、层级评分;通过主页提取与共著模式发现师生关系;支持同名消歧与反向查找
- 引用图分析:基于 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 环境
AI:conda 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_cli、anthropic、openai - 也可用环境变量
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.json 的 summarize 段(可用 GADGET_CONFIG 覆盖路径)。
第 2 步:新机器一次性配置(推荐)
方式 A — 本仓库机器配置:
- 填写
tokens/onboard.yaml - 运行:
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.json的sync段 - 可用
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#summarize 与 tools/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 后端同样用 --api:ollama(默认)、claude_cli、anthropic、openai。
更细步骤见 TUTORIAL.md#research 与 tools/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#benchmark 与 tools/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#website 与 tools/website/CLAUDE.md。
第 8 步:Translator — Gradio 文档翻译
pip install -e ".[translator]"
python -m translator
启动后在浏览器打开 Gradio GUI。更细说明见 TUTORIAL.md#translator;实现见 tools/translator/app.py、tools/translator/core.py、common/engine.py、common/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 后端 | --api 或 GADGET_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-companion(git@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 claude、ccusage codex、ccusage gemini…)自动发现并统计各 agent CLI 的 token 用量与费用。四个摘要后端,统一用 --api 切换:ollama(默认,本地、免 key、Qwen3.8-27B)、claude_cli(复用 Claude Code CLI 登录态,免 API key)、anthropic、openai。
tools/research/
统一学术研究工具箱,单一入口 tools/research/research_scout.py,四块能力:
- 论文发现:从 arXiv / bioRxiv / PubMed 检索,三阶段 LLM 流水线(快速筛选 → 深度评估 → 引用影响力),生成研究周报并部署到 Hugo;支持会议论文搜索和作者搜索。
- 深度论文洞察(
--insight):下载全文,分析写作结构、发表策略、可复用核心知识;自动匹配 OpenReview 审稿意见;综合跨论文的研究写作指南。 - 研究者画像:从 ArXiv + Semantic Scholar 拉论文与引用,LLM 生成研究轨迹分析、计算分级分数,通过主页抽取 + 合著模式自动发现师生关系;支持同名消歧和反向查找。
- 引用图分析:基于 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——永远不要提交其中内容。
新机器一次性配置(本仓库)
- 填写一份 YAML:
tokens/onboard.yaml - 运行一次
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_cli、anthropic、openai。也可用环境变量 GADGET_LLM_BACKEND 全局指定。
翻译后端 / 模型
- 后端由
GADGET_TRANSLATION_BACKEND选择:ollama(模型已 pull 时默认,走本地 Ollama 服务)→llamacpp/vllm/transformers(进程内)。 - 模型:
tencent/Hy-MT2-1.8B;translator 还可用GADGET_TRANSLATION_MODEL或 GUI 内模型管理覆盖。
跨设备数据同步
需要先配置 rclone。配置在仓库根 config.json 的 sync 段(路径同样可用 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.json 的 summarize 段(路径可用 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:性能基准套件
注意:所有命令都要先 cd 进 tools/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.py 和 common/translation.py。
2.5 建议的第一次上手顺序
严格按 README 能串起来的路径:
conda activate AI,确认 Python 3.10+。若要用 ai-companion,再准备 Node.js 18+。- 从
config.example.json复制出config.json;需要密钥时只放在tokens/,不要提交。 - 新机器:填
tokens/onboard.yaml,跑scripts/onboard.py。新 Ubuntu 服务器还可看bash ../ai-companion/scripts/onboard-server.sh --help。 pip install -e ".[all]";若要用翻译 GUI,再pip install -e ".[translator]"。bash scripts/smoke.sh做只读冒烟。- 按上面各节命令使用单个工具;跨设备数据用
python scripts/sync.py push/pull(需 rclone)。 - 改工具逻辑去
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_cli、anthropic、openai);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. 配置说明
- 全局配置文件:
- 复制根目录的模板文件生成
config.json(该文件已 gitignored):cp config.example.json config.json - 包含了
sync(rclone 同步配置)和summarize等各工具的运行设置。 - 可通过环境变量
GADGET_CONFIG覆盖配置文件路径。
- 复制根目录的模板文件生成
- API 密钥与凭证目录:
tokens/目录用于存放 API Key 以及新机器初始化清单tokens/onboard.yaml(该目录已 gitignored,切勿提交)。
- 全局环境变量调节:
GADGET_LLM_BACKEND:全局指定 LLM 后端(ollama、claude_cli、anthropic、openai)。GADGET_TRANSLATION_BACKEND:指定翻译后端(ollama、llamacpp、vllm、transformers)。GADGET_TRANSLATION_MODEL:覆盖默认翻译模型名称。
4. 各工具典型使用方法(直接可运行命令)
4.1 Summarize —— AI 对话报告生成
统一采用 python -m summarize 入口。LLM 后端可通过 --api 指定(可选 ollama(默认)、claude_cli、anthropic、openai)。
- 第一阶段:导出未导出的对话记录
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.pypython 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.py、onboard.py、smoke.sh、serve_local_llm.sh、language.py、profile_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 claude、ccusage codex、ccusage 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)、anthropic、openai。也可用环境变量 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.json为config.json,按需修改。config.json已 gitignore。需要换路径时设置环境变量GADGET_CONFIG。 sync.py读取config.json的sync段;serve_local_llm.sh的持久化设置放在summarize段。- API 密钥放在
tokens/目录,绝不提交。 - 全局环境变量:
GADGET_LLM_BACKEND设定 LLM 后端;GADGET_TRANSLATION_BACKEND设定翻译引擎(ollama→llamacpp/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.py、monthly_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.py、gen_doc_post.py、docbench.json。
python docbench.py # 全部跑一遍,结果写入 docbench.json,断点续跑
python gen_doc_post.py # 从 docbench.json 重新生成本文