把 gadget 的 README.md(20 768 字符)原样交给 58 个模型,要求先总结项目、再写中文使用教程。按调用工具分组。
下面是开源项目 gadget 的 README。请你完成两件事:
1. 先用中文总结这个项目:它是什么、仓库结构、每个工具分别做什么。
2. 然后写一份详细的中文使用教程,面向第一次接触这个项目的人,覆盖环境准备、安装、配置,以及每个工具的典型用法(给出可以直接复制的命令)。
只依据 README 里写到的内容,不要编造 README 中没有出现的命令或参数。
===== README.md =====
<README.md 全文,20 768 字符>
条件:每个模型只跑 1 次,无 system prompt,数字按量级读。云端模型经各自的 Agent CLI
(codex exec / claude -p / cursor-agent --print)在空目录中串行调用,prompt 走 stdin,耗时含 CLI 启动;
本地模型在 RTX 5090 上冷启动,速度为纯解码速度,两类速度不可互比。
Fable 5.1 显式 --effort high,其余 Claude 模型为默认 effort。
指标(全部正则计算):「命令数」是代码块里以 pip / python / cd / bash 等开头的行;
「README 中无的命令」是去掉注释、压缩空白后在 README 原文里找不到的命令;
「事实点」是 16 个能在 README 里逐字查到的事实被提到了几个,「漏掉的」列出没提到的。
结果
Codex (OpenAI)
| 模型 | 字符数 | 耗时 | 输出 tokens | 速度 | 命令数 | README 中无的命令 | 事实点 | 漏掉的 |
|---|---|---|---|---|---|---|---|---|
| GPT-6.1 Sol | 9,278 | 151 s | 4,489 | 29.8 tok/s | 33 | 1 | 15/16 | GPL-3 |
| GPT-6 Astra | 8,800 | 132 s | 4,104 | 31.2 tok/s | 33 | 1 | 15/16 | GPL-3 |
| GPT-6 Sol | 4,765 | 55 s | 2,430 | 44.0 tok/s | 28 | — | 15/16 | GPL-3 |
| GPT-6 Luna | 4,781 | 42 s | 2,062 | 49.1 tok/s | 29 | 1 | 15/16 | GPL-3 |
| GPT-5.6 Sol | 11,731 | 104 s | 5,512 | 52.8 tok/s | 39 | 4 | 16/16 | — |
| GPT-5.6 Terra | 6,622 | 58 s | 2,984 | 51.7 tok/s | 38 | 5 | 15/16 | GPL-3 |
| GPT-5.6 Luna | 7,667 | 68 s | 3,589 | 52.8 tok/s | 39 | 4 | 16/16 | — |
| GPT-5.5 | 8,517 | 68 s | 3,595 | 52.6 tok/s | 46 | 5 | 16/16 | — |
| GPT-5.4 Mini | 6,730 | 65 s | 4,365 | 67.3 tok/s | 41 | 3 | 15/16 | GPL-3 |
Claude Code (Anthropic)
| 模型 | 字符数 | 耗时 | 输出 tokens | 速度 | 命令数 | README 中无的命令 | 事实点 | 漏掉的 |
|---|---|---|---|---|---|---|---|---|
| Opus 5.5 | 8,689 | 60 s | 7,284 | 120.8 tok/s | 33 | 2 | 16/16 | — |
| Fable 5.1 (effort high) | 8,091 | 86 s | 7,048 | 81.6 tok/s | 34 | 2 | 16/16 | — |
| Opus 5 | 12,340 | 97 s | 8,456 | 87.6 tok/s | 43 | 10 | 16/16 | — |
| Sonnet 5 | 5,754 | 36 s | 3,578 | 99.4 tok/s | 31 | 1 | 16/16 | — |
| Haiku 4.5 | 11,235 | 79 s | 7,438 | 93.6 tok/s | 75 | 29 | 15/16 | GPL-3 |
| haiku-4.5 | 8,814 | 48 s | 5,446 | 113.5 tok/s | 57 | 17 | 14/16 | GPL-3 ai-companion |
| sonnet-4.6 | 5,588 | 49 s | 3,257 | 66.1 tok/s | 30 | 3 | 14/16 | GPL-3 ai-companion |
| opus-4.6 | 4,660 | 42 s | 2,768 | 66.6 tok/s | 30 | 1 | 15/16 | ai-companion |
| sonnet-5 | 4,407 | 29 s | 2,698 | 93.3 tok/s | 29 | 2 | 15/16 | ai-companion |
| opus-4.7 | 5,138 | 44 s | 3,271 | 74.6 tok/s | 33 | 5 | 15/16 | ai-companion |
| opus-4.8 | 6,270 | 55 s | 4,223 | 77.2 tok/s | 29 | 1 | 16/16 | — |
| sonnet-5.5 | 7,112 | 31 s | 4,522 | 147.8 tok/s | 31 | 2 | 16/16 | — |
| opus-5 | 11,650 | 88 s | 7,860 | 89.3 tok/s | 41 | 9 | 16/16 | — |
| fable-5 | 6,771 | 51 s | 4,520 | 88.2 tok/s | 31 | 2 | 16/16 | — |
| fable-5.1 | 8,881 | 73 s | 6,450 | 88.7 tok/s | 38 | 6 | 16/16 | — |
| haiku-5.5 | 21,088 | 49 s | 11,562 | 234.4 tok/s | 0 | — | 0/16 | .[all] [translator] python -m summarize research_scout.py cd tools/benchmark update.sh python -m translator config.json GADGET_CONFIG --api outputs/ sync.py tokens/ Python 3.10+ GPL-3 ai-companion |
| mythos-5 | 149 | 2 s | — | — | 0 | — | 0/16 | .[all] [translator] python -m summarize research_scout.py cd tools/benchmark update.sh python -m translator config.json GADGET_CONFIG --api outputs/ sync.py tokens/ Python 3.10+ GPL-3 ai-companion |
| mythos-5.1 | 151 | 2 s | — | — | 0 | — | 0/16 | .[all] [translator] python -m summarize research_scout.py cd tools/benchmark update.sh python -m translator config.json GADGET_CONFIG --api outputs/ sync.py tokens/ Python 3.10+ GPL-3 ai-companion |
Cursor
| 模型 | 字符数 | 耗时 | 输出 tokens | 速度 | 命令数 | README 中无的命令 | 事实点 | 漏掉的 |
|---|---|---|---|---|---|---|---|---|
| Grok 4.7 High | 13,143 | 79 s | 5,740 | 72.9 tok/s | 36 | 5 | 16/16 | — |
| Grok 4.6 High | 11,015 | 89 s | 5,690 | 64.1 tok/s | 32 | 1 | 16/16 | — |
| Composer 2.5 | 10,088 | 57 s | 4,119 | 72.5 tok/s | 38 | 5 | 16/16 | — |
| Gemini 3.7 Flash | 7,229 | 48 s | 3,165 | 65.9 tok/s | 29 | 1 | 15/16 | GPL-3 |
| gpt-5.3-codex-high | 4,293 | 33 s | 3,028 | 92.6 tok/s | 30 | 1 | 16/16 | — |
| gpt-5.2-high | 7,699 | 56 s | 3,777 | 66.8 tok/s | 30 | 1 | 15/16 | GPL-3 |
| gpt-5.6-sol-high | 7,638 | 39 s | 3,738 | 96.8 tok/s | 33 | 1 | 16/16 | — |
| grok-4.5-high | 7,678 | 52 s | 3,311 | 63.8 tok/s | 32 | 2 | 16/16 | — |
| gpt-5.6-luna-high | 9,263 | 41 s | 4,975 | 120.1 tok/s | 41 | 7 | 15/16 | GPL-3 |
| gemini-4-argon-high | 10,220 | 102 s | 4,345 | 42.8 tok/s | 33 | 1 | 16/16 | — |
| muse-wonder-1.0-high | 13,751 | 46 s | 7,545 | 164.7 tok/s | 30 | — | 16/16 | — |
| gpt-5.5-high | 6,341 | 32 s | 3,142 | 97.3 tok/s | 34 | 1 | 15/16 | GPL-3 |
| gemini-3.8-flash-high | 7,393 | 44 s | 3,223 | 73.0 tok/s | 33 | 2 | 16/16 | — |
| muse-spark-1.3-high | 10,692 | 31 s | 6,396 | 209.7 tok/s | 31 | — | 15/16 | GPL-3 |
| gpt-5.6-terra-high | 6,552 | 27 s | 3,201 | 117.3 tok/s | 37 | 4 | 15/16 | GPL-3 |
| gpt-5.4-high | 14,597 | 69 s | 6,897 | 99.7 tok/s | 74 | 3 | 16/16 | — |
| gemini-3.6-flash-high | 5,930 | 42 s | 2,525 | 60.1 tok/s | 29 | 1 | 16/16 | — |
| gemini-3.1-pro | 4,422 | 38 s | 2,014 | 52.5 tok/s | 25 | 1 | 13/16 | sync.py GPL-3 ai-companion |
| gpt-5.4-mini-high | 6,677 | 32 s | 6,829 | 212.9 tok/s | 34 | 1 | 15/16 | GPL-3 |
| gpt-5.4-nano-high | 9,295 | 50 s | 6,143 | 122.3 tok/s | 30 | — | 15/16 | GPL-3 |
| gpt-5.1-high | 10,795 | 127 s | 8,294 | 65.5 tok/s | 33 | 2 | 15/16 | GPL-3 |
| gemini-3-flash | 2,767 | 18 s | 1,192 | 64.5 tok/s | 15 | 1 | 13/16 | GADGET_CONFIG GPL-3 ai-companion |
| gemini-3.5-flash | 5,722 | 44 s | 6,651 | 149.9 tok/s | 29 | 2 | 14/16 | GPL-3 ai-companion |
| gpt-5-mini | 9,165 | 70 s | 5,375 | 77.2 tok/s | 41 | 2 | 16/16 | — |
| kimi-k3-high | 6,354 | 15 s | 2,491 | 169.1 tok/s | 32 | 2 | 15/16 | ai-companion |
| kimi-k2.7-code | 5,907 | 20 s | 2,411 | 121.0 tok/s | 39 | 9 | 15/16 | GPL-3 |
| glm-5.2-high | 10,360 | 31 s | 442 | 14.4 tok/s | 42 | 11 | 16/16 | — |
本地 Ollama
| 模型 | 字符数 | 耗时 | 输出 tokens | 速度 | 命令数 | README 中无的命令 | 事实点 | 漏掉的 |
|---|---|---|---|---|---|---|---|---|
| Gemma4 26B | 3,442 | 23 s | 1,439 | 217.8 tok/s | 18 | 1 | 12/16 | GADGET_CONFIG --api sync.py GPL-3 |
| Gemma4 12B | 3,465 | 19 s | 1,493 | 117.4 tok/s | 17 | 2 | 14/16 | GADGET_CONFIG GPL-3 |
| Qwen3.8 27B | 8,044 | 46 s | 3,713 | 122.9 tok/s | 32 | 6 | 14/16 | GADGET_CONFIG GPL-3 |
| Qwen3.6 36B | 7,847 | 31 s | 3,288 | 211.3 tok/s | 31 | 5 | 15/16 | GPL-3 |
全部输出
Codex (OpenAI)
GPT-6.1 Sol — 9,278 字符 · 事实点 15/16
第一部分:项目总结
Gadgets 是什么
Gadgets(仓库目录名为 gadget/)是一组日常开发工具,覆盖五类需求:AI 对话总结、论文研究、性能测试、博客发布和文档翻译。
tools/ 下的五个工具可以独立使用。它们共用仓库根目录的 common/ 包,该包提供 LLM 调用、缓存、文件写入、翻译和 Hugo 部署等能力。
开发工作流和 Claude Code skills 放在另一个仓库 ai-companion 中,位置是同级目录 ../ai-companion/,通过本仓库的 hooks 接入。
仓库结构
gadget/
├── tools/
│ ├── summarize/ # AI 对话日报、周报、月报
│ ├── research/ # 论文发现、研究者分析、引用图分析
│ ├── benchmark/ # CPU/GPU 性能测试
│ ├── website/ # Hugo 博客、媒体压缩、构建和发布
│ └── translator/ # Gradio 文档翻译器
├── common/ # 工具共用的基础能力
├── scripts/ # 同步、机器配置、检查等维护脚本
├── docs/ # 设计文档、计划、审计报告、历史归档
├── outputs/ # 可重新生成的输出,已被 Git 忽略
├── AGENTS.md # AI agent 工作协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # Python 打包与安装配置
修改工具逻辑时进入 tools/<工具名>/;修改公共能力时进入 common/;修改同步逻辑时查看 scripts/sync.py;修改开发工作流或 skills 时进入独立的 ai-companion 仓库。
五个工具分别做什么
| 工具 | 主要功能 | 关键特点 |
|---|---|---|
| Summarize | 将 AI 对话生成日报、周报和月报 | 支持 Claude Code、Codex、Cursor Agent、ChatGPT 和通用 JSON;支持多设备导出后合并;统计 token 用量和费用 |
| Research | 发现论文、分析论文和研究者、分析引用关系 | 从 arXiv、bioRxiv、PubMed 等来源搜索;提供三阶段 LLM 评估、论文全文分析、OpenReview 评论分析和研究者画像 |
| Benchmark | 测量 CPU/GPU 浮点性能 | GPU 实际测试支持 CUDA、Apple MPS、Intel XPU;覆盖多种精度;结果追加到 CSV,可生成交互式 HTML 报告 |
| Website | 构建和发布 Hugo 博客 | 使用 PaperMod 主题;增量压缩图片和视频;本地模型双语翻译;构建后推送 GitHub Pages |
| Translator | 在浏览器中翻译文本和文件 | 基于 Gradio;支持 .md、.txt、.pdf、.docx 和图片;保护 Markdown 中的代码块、URL、Hugo shortcode 等内容 |
common/ 还包括 JSON 解析与修复、带命名空间和 TTL 的 SHA-256 磁盘缓存、原子写入及内容哈希。scripts/ 负责运维;ai-companion 负责代码变更跟踪、测试与 HTML 报告,以及 /idea → /ccplan → /ccedit 等开发流程。
第二部分:新手使用教程
以下命令全部来自提供的 README。除 Benchmark 和明确包含 cd 的命令外,默认在 gadget/ 仓库根目录执行。
README 定位是总览,未提供完整安装与配置步骤。缺失的内容会明确说明,不补写猜测性的命令。
1. 准备环境
需要的基础环境如下:
| 环境或组件 | README 中的要求 |
|---|---|
| Python | 3.10 或更新版本 |
| Conda | 推荐使用名为 AI 的环境,但未提供创建命令 |
| Node.js | 18 或更新版本,仅独立的 ai-companion 仓库需要 |
| 各工具依赖 | 查看对应目录的 requirements.txt |
| rclone | 跨设备同步需要先配置 |
| Hugo | 网站构建与本地预览使用 |
| pngquant、HandBrakeCLI | 网站图片、视频压缩使用 |
| 本地推理后端 | Ollama、vLLM、transformers 或 GGUF/llamacpp,具体选择见下文 |
如果已有 AI Conda 环境,可以执行:
conda activate AI
README 没有给出 gadget 仓库的克隆地址,也没有提供 Python、Conda、Ollama、Hugo、rclone、pngquant 或 HandBrakeCLI 的安装命令,因此这里不能给出完整的“从空机器开始”安装流程。
2. 安装 Python 包和工具依赖
安装公共基础包:
pip install -e .
安装 common 及 Summarize、Research、Benchmark、Website 的 extras:
pip install -e ".[all]"
注意:all 不包含 Translator。需要翻译器时另行安装:
pip install -e ".[translator]"
如果只需要 Website 对应的依赖,README 也提供了:
pip install -e ".[website]"
其中 Website extras 包含翻译所用的 torch 和 transformers;Translator extras 包含 Gradio 和 GGUF 翻译栈。
3. 准备配置
在仓库根目录,将 config.example.json 复制为 config.json,再按需修改。README 没有展示配置字段的完整结构,因此不应自行编造配置内容。
相关配置入口如下:
| 配置入口 | 用途 |
|---|---|
根目录 config.json |
工具设置 |
config.json 的 sync 部分 |
数据同步设置 |
config.json 的 summarize 部分 |
Summarize 本地 Ollama 相关持久设置 |
GADGET_CONFIG |
覆盖配置文件路径 |
GADGET_LLM_BACKEND |
全局选择 LLM 后端 |
GADGET_TRANSLATION_BACKEND |
选择本地翻译后端 |
GADGET_TRANSLATION_MODEL |
覆盖翻译模型 |
tokens/ |
API 密钥和机器初始化配置表 |
config.json 和 tokens/ 已被 Git 忽略;不要提交 tokens/ 的内容。README 未给出 API 密钥文件名、格式或上述环境变量的赋值示例。
Summarize 和 Research 的 LLM 功能支持用 --api 选择:
| 值 | 含义 |
|---|---|
ollama |
默认,本地 Ollama,无需 API key;README 描述使用 Gemma4-26B |
claude_cli |
复用 Claude Code CLI 登录状态,无需 API key |
anthropic |
Anthropic API |
openai |
OpenAI API |
README 没有提供这几个后端的完整配置过程,也没有展示带 --api 的完整命令示例。
翻译功能使用本地推理。需要特别注意,README 对默认翻译模型的描述存在差异:
- Website 和 Translator 专节描述了
tencent/Hy-MT2-1.8B,首次使用自动下载;Translator 还列出其 GGUF 变体。 - 环境要求和 Notes 又描述 Ollama 默认复用
gemma4:26b,其他进程内后端使用tencent/Hy-MT2-1.8B。
因此,仅依据这份 README,不能断言所有翻译路径都默认使用同一个模型。
4. 可选:机器初始化与基础检查
如果希望配置新机器,README 提供两条路径:
- 仓库级初始化:填写
tokens/onboard.yaml后运行scripts/onboard.py。它会配置 SSH、Claude/Codex 安装与认证、pip extras、ai-companion、工具设置和 rclone bootstrap。README 未给出完整执行命令或 YAML 示例。 - Ubuntu 服务器级初始化:脚本位于 ai-companion 仓库,支持 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。README 未提供完整安装命令。
安装后,可运行只读烟雾检查:
bash scripts/smoke.sh
它检查各工具的 --help、--info 和导入,不调用 LLM、不访问网络、不写文件。
5. 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
2026-W12 和 2026-02 是 README 的示例值,使用时替换为目标周、月份。
也可以运行完整自动流程:
python -m summarize auto --deploy
它执行导出、合并、周报、月报和部署。
该工具通过 ccusage 20.x 的分来源命名空间命令统计各 agent CLI 的 token 和费用。README 未提供 ccusage 的安装命令、对话来源路径或导出数据格式。
旧的 daily_summary.py、weekly_summary.py、monthly_summary.py 入口仍兼容,但推荐使用上述 python -m summarize 形式。
6. Research:发现论文、分析研究者和引用关系
Research 使用单一入口 tools/research/research_scout.py。
运行一个项目的完整论文研究流程:
python tools/research/research_scout.py report --project my-project
它执行搜索、三阶段评估和报告生成。三阶段分别是快速筛选、深度评价和引用影响分析。
my-project 是示例项目名。README 未说明项目如何定义,也未给出项目配置格式,所以无法仅凭这份 README 完成项目配置。
使用自然语言搜索:
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
该命令会自动选择搜索来源。
生成研究者画像:
python tools/research/research_scout.py profile "Sergey Levine"
画像功能结合 arXiv、Semantic Scholar 和 LLM,分析研究轨迹、计算层级评分,并通过主页信息和共同署名模式发现导师—学生关系。也支持同名消歧和反向查找。
分析论文引用图:
python tools/research/research_scout.py citations 2301.12597
输入支持 arXiv ID 或 DOI;分析包含向前引用、向后参考文献及 LLM 影响解读。
部署研究报告到 Hugo:
python tools/research/research_scout.py deploy
README 还介绍了 --insight 深度论文分析:下载全文,分析写作结构、发表策略和可复用知识,匹配 OpenReview 评论,并综合跨论文写作指南。但没有提供完整调用示例,因此这里不拼接猜测性的命令。
7. Benchmark:测试 CPU/GPU 性能
Benchmark 的命令有特殊目录要求:先进入 tools/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
这些是不同的运行方式,按需要选择。
测试使用预热、正式测量、中位数统计和 IQR 异常值剔除,并显式同步 GPU。结果以追加方式保存到 CSV,便于积累多种硬件的成绩。
实际 GPU 测试支持 NVIDIA CUDA、Apple Silicon MPS 和 Intel XPU。OpenCL 可能出现在 --info 的检测结果中,但不属于 README 列出的实际 GPU 测试后端。精度包括 FP64、FP32、FP16、BF16 和实验性的 FP8。
README 提到公共排行榜提交功能,但未提供提交命令;也未给出具体硬件驱动安装步骤。
执行完后,后续工具的根目录命令需要在终端回到 gadget/ 根目录再运行。
8. Website:预览和发布 Hugo 博客
如果还未安装 Website extras,在根目录执行:
pip install -e ".[website]"
本地预览:
cd tools/website && hugo server -D
-D 表示预览时包含草稿。
macOS/Linux 构建并发布:
cd tools/website && bash update.sh
Windows 在仓库根目录执行:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
Windows 脚本会自行进入它所在的目录。
发布脚本执行增量媒体压缩、Hugo 构建,并推送 Pages。增量压缩以 .last_build 为依据:图片使用 pngquant,视频使用 HandBrakeCLI。
这两个更新脚本会发布网站,不只是生成本地预览。 README 对应的站点是 https://tzj2006.github.io/,部署仓库是 tzj2006/tzj2006.github.io;README 没有说明如何更换为自己的站点或配置推送认证。
自动生成内容直接写入:
tools/website/contenttools/website/static
这些文件带有 gadget_generated 标记;没有该标记的手写文件不会被覆盖。
tools/website/public/ 是独立的部署仓库,由构建脚本自动提交和推送,不要直接向它提交。
9. Translator:在浏览器中翻译文档
在仓库根目录安装依赖:
pip install -e ".[translator]"
启动界面:
python -m translator
它会打开浏览器中的 Gradio GUI。可以在界面中翻译文本或 .md、.txt、.pdf、.docx、图片文件,并通过界面的模型管理切换模型。
语言选择行为:
- 源语言设为
auto时,根据文本的 CJK 字符比例检测。 - 目标语言设为
auto时,在中文和英文之间切换。
翻译器复用 common.engine.create_engine() 自动选择后端:模型 tag 已拉取时自动优先使用 Ollama;Windows 的回退是 transformers,Linux 优先使用 vLLM,低显存场景提供 llamacpp/GGUF 选项。
模型会驻留内存;切换模型时按需延迟加载。默认模型及环境要求中的描述差异已在配置部分说明。README 未提供手动拉取模型、指定端口或命令行翻译文件的命令。
10. 数据同步与输出管理
同步由 scripts/sync.py 统一管理,需要事先配置 rclone。配置位于根目录 config.json 的 sync 部分。
README 给出的基础入口是:
python scripts/sync.py
跨设备推送和拉取:
python scripts/sync.py push
python scripts/sync.py pull
脚本还支持 status、bootstrap、config 操作,覆盖 summarize、website、research、benchmark 和 backups 等类别;特殊的 dag 类别用于生成并部署 DAG 站点。README 没有给出这些类别的完整命令语法。
对于 Summarize,本地 Ollama 辅助脚本还提供以下环境加载命令:
eval "$(bash scripts/serve_local_llm.sh env)"
该脚本用于创建适合 Summarize 的 Ollama 变体并输出环境设置;它不是 README 提供的 Ollama 安装命令。
常规生成产物集中在:
outputs/
├── logs/ # 导出日志、运行日志等中间产物
├── reports/ # Markdown、JSON、HTML 报告
├── cache/ # LLM 缓存、搜索缓存
├── data/ # CSV、JSON 画像等结构化数据
├── images/ # 图表和生成图片
└── backups/ # 强制覆盖操作的备份
网站内容是明确的例外:直接写入 tools/website/content|static,没有单独的 outputs/site 暂存目录。
不要把自动生成内容、rclone 同步数据、build/、gadget.egg-info/,以及 Website 下的部署和主题仓库加入本仓库提交。
README 尚未提供的关键细节
要真正完成所有功能的首次配置,还需要 README 指向的文档:根目录 TUTORIAL.md、各工具教程,以及 ai-companion 的安装说明。当前内容未给出配置 JSON/YAML 的字段、API 密钥格式、Ollama 安装与模型准备、rclone remote 配置、Research 项目定义,以及自有 Hugo 站点的部署设置;以上教程因此保留这些缺口,没有补造命令或参数。
GPT-6 Astra — 8,800 字符 · 事实点 15/16
以下仅依据你提供的 README。README 定位为项目概览,因此没有给出的配置字段、安装步骤或命令参数,本文会明确标注,不补造。
一、项目总结
Gadgets(仓库目录名为 gadget/)是一组开发过程中积累的实用工具,包含五个可以独立使用的工具:
| 工具 | 用途 | 主要特点 |
|---|---|---|
| Summarize | 将 AI 对话生成日报、周报、月报 | 支持多设备汇总、多种对话来源,以及 token 用量和费用统计 |
| Research | 发现论文、深入解读论文、分析研究者和引用关系 | 整合 arXiv、bioRxiv、PubMed、Semantic Scholar 和 LLM |
| Benchmark | 测量 CPU/GPU 浮点性能 | 支持多种硬件和精度,结果追加到 CSV,可生成交互式排行榜 |
| Website | 构建和发布 Hugo 博客 | 包含双语翻译、增量图片/视频压缩、自动构建和推送 |
| Translator | 通过网页翻译文本和文档 | 本地模型推理,支持多种文件格式,保护 Markdown 特殊片段 |
它们共同依赖根目录的 common/ Python 包。开发工作流和 Claude Code skills 则来自独立的 ai-companion 仓库。
仓库结构如下:
gadget/
├── tools/
│ ├── summarize/ # AI 对话日报、周报、月报
│ ├── research/ # 论文发现、研究者分析、引用图
│ ├── benchmark/ # CPU/GPU 性能测试
│ ├── website/ # Hugo 博客
│ └── translator/ # Gradio 文档翻译器
├── common/ # LLM、缓存、读写、翻译、Hugo 部署等共享能力
├── scripts/ # 同步、机器初始化、检查和维护脚本
├── docs/ # 设计文档、计划、审计报告、历史归档
├── outputs/ # 生成结果,已被 Git 忽略
├── AGENTS.md # AI agent 工作流协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # Python 打包和安装配置
修改某个工具时,进入 tools/<工具名>/;修改共用的 LLM、缓存、翻译或部署能力时,进入 common/;修改开发工作流或 skill 时,进入同级的 ../ai-companion/。
二、使用前准备
需要准备的环境:
| 项目 | README 中的要求 |
|---|---|
| Python | 3.10 或更高版本 |
| Conda | 推荐使用名为 AI 的环境,但未提供创建命令 |
| Node.js | 18 或更高版本,仅独立的 ai-companion 仓库需要 |
| 工具依赖 | 各工具目录中的 requirements.txt |
| 数据同步 | 需要配置 rclone |
| 网站功能 | 使用 Hugo、pngquant、HandBrakeCLI 等工具 |
| 本地推理 | 使用 Ollama 或对应的本地推理后端 |
如果已经创建好 README 推荐的 Conda 环境,可以运行:
conda activate AI
README 没有给出 gadget 仓库的克隆地址,也没有给出 Python、Conda、Ollama、Hugo、rclone 等软件的安装命令,因此这里不补充这些命令。
下文除 Benchmark 和明确包含 cd 的命令外,均按在 gadget 仓库根目录执行来组织。进入子目录后,执行下一节的根目录命令前,请先回到仓库根目录。
三、安装项目依赖
仅安装共享包及项目的基础可编辑安装:
pip install -e .
如果准备使用 Summarize、Research、Benchmark 和 Website,可以安装 README 提供的合集:
pip install -e ".[all]"
all 不包含 Translator。 如果还需要文档翻译网页,单独安装:
pip install -e ".[translator]"
如果只准备使用网站功能,README 也提供了对应安装方式:
pip install -e ".[website]"
网站依赖包含用于翻译的 torch 和 transformers;Translator 的依赖包含 Gradio 和 GGUF 翻译组件。
这些安装方式按需要选择,不必逐条重复执行。安装生成的 build/ 和 gadget.egg-info/ 位于仓库根目录,已被 Git 忽略。
四、配置项目
-
准备主配置文件
将根目录的
config.example.json复制为config.json,再根据实际需要填写。README 明确说明:
- 工具设置位于根目录
config.json。 GADGET_CONFIG可以覆盖配置文件路径。- rclone 同步配置位于
sync节。 - Summarize 的持久配置位于
summarize节。
README 未展示 JSON 的具体字段和值,因此不能据此写出一份可靠的完整配置示例。
- 工具设置位于根目录
-
选择 LLM 后端
Summarize 和 Research 的 LLM 功能支持以下后端:
后端值 README 中的说明 ollama默认,本地 Ollama,无需 API key,使用 Gemma4-26B claude_cli复用 Claude Code CLI 登录状态,无需 API key anthropicAnthropic API 后端 openaiOpenAI API 后端 通过
--api参数切换,或通过GADGET_LLM_BACKEND全局选择。README 没有给出 API key 的具体字段、文件格式或完整后端切换示例,因此下文保留原文命令,不自行拼接参数。
-
理解翻译配置
翻译在本地执行,不调用云端翻译 API。相关配置入口为:
配置入口 作用 GADGET_TRANSLATION_BACKEND选择本地翻译后端 GADGET_TRANSLATION_MODEL覆盖 Translator 默认模型 Translator 界面中的模型管理 在界面中管理模型 后端涉及
ollama、llamacpp、vllm和transformers;其中 GGUF/llamacpp 是低显存选项。README 对默认翻译模型的描述存在差异: Website 和 Translator 段落提到
tencent/Hy-MT2-1.8B,Translator 还列出 GGUF 版本;环境要求和 Notes 则说明默认 Ollama 路径复用gemma4:26b,其他进程内后端使用 Hy-MT2。仅凭这份 README,不能将所有翻译场景统一描述为使用同一个默认模型。 -
保存敏感配置
tokens/用于保存 API keys 和机器初始化表,已被 Git 忽略,不要提交其中的内容。根目录的config.json也已被 Git 忽略。
五、Summarize:从 AI 对话生成报告
支持读取 Claude Code、Codex、Cursor Agent、ChatGPT 和通用 JSON 对话记录。
它采用两个阶段:先在各设备导出,再集中合并生成日报;积累日报后,可以生成周报和月报。
第一步,在每台需要收集对话记录的设备上,导出所有尚未导出的日期:
python -m summarize daily export
第二步,通过云盘同步或手动复制聚合导出记录,然后同步所有日期并逐日合并:
python -m summarize daily merge --sync-all
第三步,根据已有日报生成周报或月报。以下使用 README 中的示例日期,并带部署操作:
python -m summarize weekly generate --week 2026-W12 --deploy
python -m summarize monthly generate --month 2026-02 --deploy
也可以运行完整流水线,依次执行导出、合并、周报、月报和部署:
python -m summarize auto --deploy
使用提示:
--deploy会触发部署,使用前应准备好相关网站配置。- token 用量和费用统计通过 ccusage 20.x 的各来源命令完成。
- 旧的
daily_summary.py、weekly_summary.py、monthly_summary.py入口仍兼容,但推荐使用上述模块入口。 - README 未提供各对话来源的路径配置、通用 JSON 格式或 ccusage 安装命令。
进一步说明位于 TUTORIAL.md 和 tools/summarize/tutorial.md,但它们的正文不在本次提供的材料中。
六、Research:论文发现与学者分析
统一入口为 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"
研究者分析包含论文和引用数据、研究轨迹、分层评分,以及通过主页和合著模式发现导师—学生关系;还支持同名消歧和反向查找。
典型用法四:分析某篇论文的引用关系:
python tools/research/research_scout.py citations 2301.12597
支持用 arXiv ID 或 DOI 指定论文,分析后续引用和参考文献,并结合 LLM 解读影响。
典型用法五:把报告部署到 Hugo:
python tools/research/research_scout.py deploy
README 还描述了 --insight 深度解读功能:下载全文,分析写作结构、发表策略和可复用知识,匹配 OpenReview 评论,并综合形成跨论文写作指南。原文没有给出该参数的完整调用命令,因此这里不推断它应接在哪个子命令后面。
七、Benchmark:测试 CPU/GPU 性能
先从仓库根目录进入指定目录:
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
结果和硬件支持:
- 实际 GPU 测试支持 NVIDIA CUDA、Apple Silicon MPS 和 Intel XPU。
- OpenCL 可能仅出现在
--info的检测信息中,不代表支持实际测试。 - 覆盖 FP64、FP32、FP16、BF16 等精度,FP8 为实验性支持。
- 测量包含预热、正式测量和统计分析,并进行显式 GPU 同步。
- 结果以追加方式写入 CSV,不覆盖已有记录,便于积累多硬件排行榜。
README 提到可以提交到公共排行榜,但没有提供提交命令。
八、Website:预览和发布 Hugo 博客
该网站使用 PaperMod 主题,README 对应的站点为 https://tzj2006.github.io/。
尚未安装网站依赖时,在仓库根目录执行:
pip install -e ".[website]"
本地预览:
cd tools/website && hugo server -D
其中 -D 会包含草稿。
正式构建和发布按操作系统选择。macOS/Linux 从仓库根目录运行:
cd tools/website && bash update.sh
Windows 从仓库根目录运行:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
Windows 脚本会自行进入所在目录。这些更新脚本会执行网站构建发布流程,包含媒体增量压缩和推送 Pages。
需要理解的文件关系:
- 自动生成的网站内容直接写入
tools/website/content和tools/website/static。 - 自动生成的文件带有
gadget_generated标记;没有该标记的手写文件不会被覆盖。 - 图片通过 pngquant 压缩,视频通过 HandBrakeCLI 压缩,仅处理自
.last_build以来变化的媒体。 tools/website/public/是独立部署仓库,构建脚本会自动提交和推送,不要直接向其中提交。
README 未给出如何将该站点改成个人域名或个人 GitHub Pages 仓库的配置步骤。
九、Translator:在网页中翻译文本和文件
在仓库根目录安装依赖并启动:
pip install -e ".[translator]"
python -m translator
启动后会在浏览器中打开 Gradio 界面。
典型使用过程:
- 输入待翻译文本,或提供
.md、.txt、.pdf、.docx、图片文件。 - 选择源语言和目标语言。
- 按需通过界面中的模型管理选择模型。
- 执行翻译。
语言自动选择的含义:
- 源语言为
auto:依据文本中的 CJK 字符比例判断。 - 目标语言为
auto:在中文和英文之间切换。
翻译引擎会保护代码块、URL 和 Hugo shortcodes 等 Markdown 片段;模型保持驻留,切换模型时按需加载。README 说明默认 Hy-MT2 模型会在首次使用时自动下载,具体默认模型差异见前文配置说明。
README 未提供界面端口、监听地址或启动参数,也未说明各文件类型的导出操作。
十、同步、检查与新机器初始化
集中式数据同步入口:
python scripts/sync.py
跨设备推送或拉取:
python scripts/sync.py push
python scripts/sync.py pull
使用前需要配置 rclone 和根目录 config.json 的 sync 节。同步覆盖 summarize、website、research、benchmark、backups,并包含用于生成和部署 DAG 站点的特殊 dag 类别。README 还列出 status、bootstrap、config 功能,但未给出详细参数。
运行只读冒烟检查:
bash scripts/smoke.sh
该检查覆盖帮助信息、检测信息和导入,不调用 LLM、不访问网络、不写文件。它可用于基础检查,但不能证明 API、同步或发布流程已经配置成功。
在 Bash 中加载本地 LLM 辅助脚本输出的环境设置:
eval "$(bash scripts/serve_local_llm.sh env)"
README 说明该脚本用于创建面向 Summarize 调优的 Ollama 变体并输出环境设置,但没有展开完整服务准备步骤。
新机器初始化有两条路径:
- 仓库级初始化:填写
tokens/onboard.yaml,再运行scripts/onboard.py,用于 SSH、Claude/Codex 安装认证、pip extras、ai-companion、工具配置和 rclone 初始化。README 未提供 YAML 字段或完整执行命令。 - Ubuntu 22.04/24.04 系统级安装:脚本位于独立的 ai-companion 仓库,可以先查看其帮助:
bash ../ai-companion/scripts/onboard-server.sh --help
ai-companion 应位于同级 ../ai-companion/,需要 Node.js 18+。README 提供仓库地址 git@github.com:TzJ2006/ai-companion.git,但没有提供完整安装命令;安装说明指向其 scripts/install.ts。
十一、运行后去哪里找结果
通常生成结果集中在:
outputs/
├── logs/ # 导出日志、运行日志等中间产物
├── reports/ # Markdown、JSON、HTML 最终报告
├── cache/ # LLM 和搜索缓存
├── data/ # CSV、JSON profiles 等结构化数据
├── images/ # 图表和生成图片
└── backups/ # 强制覆盖时的备份
网站内容是明确的特殊路径:直接写入 tools/website/content 和 tools/website/static,没有 outputs/site 暂存目录。
不要把自动生成内容、rclone 同步数据、构建产物,以及 tools/website/ 下的部署仓库和主题仓库加入 gadget 的 Git 提交。
这份 README 足以提供安装入口和典型运行命令,但完整配置仍需它所指向的 TUTORIAL.md、配置示例及各工具文档;上文未补写这些未提供的内容。
GPT-6 Sol — 4,765 字符 · 事实点 15/16
一、项目概览
Gadgets 是一个日常开发工具集合,涵盖 AI 对话总结、论文检索、性能测试、博客发布和文档翻译。tools/ 下的五个工具可以分别使用;它们共用仓库根目录的 common/ 包。
| 位置 | 作用 |
|---|---|
tools/summarize/ |
汇总 Claude Code、Codex、Cursor Agent、ChatGPT 等对话,生成日、周、月报告,并统计用量与费用 |
tools/research/ |
检索和评估论文、分析研究者、分析引用关系,并生成研究报告 |
tools/benchmark/ |
测量 CPU 和 GPU 的浮点性能,积累 CSV 结果并生成交互式 HTML 报告 |
tools/website/ |
Hugo 博客;处理媒体压缩、内容翻译、构建和发布 |
tools/translator/ |
基于 Gradio 的本地文档翻译页面,支持文本及多种文件格式 |
common/ |
各工具共用的 LLM 调用、缓存、文件写入、翻译和 Hugo 发布能力 |
scripts/ |
数据同步、新机器配置、冒烟检查等运维脚本 |
docs/ |
设计文档、计划和历史资料 |
outputs/ |
生成的日志、报告、缓存、数据、图片和备份;已被 Git 忽略 |
ai-companion 是放在 ../ai-companion/ 的独立仓库,提供开发流程和技能,不属于 Gadgets 的 tools/。博客生成内容会直接写入 tools/website/content 或 tools/website/static;网站的 public/ 则是单独的部署仓库。
二、从零开始使用
以下命令均来自所给 README。除特别注明外,在 Gadgets 仓库根目录运行。
1. 准备环境并安装
需要 Python 3.10 或更高版本。README 推荐使用名为 AI 的 conda 环境:
conda activate AI
如果要使用独立的 ai-companion 仓库,还需要 Node.js 18 或更高版本。各工具的具体依赖可查看其目录下的 requirements.txt。
安装共用包及 summarize、research、benchmark、website 的依赖:
pip install -e ".[all]"
all 不包含 translator。需要翻译工具时,另行安装:
pip install -e ".[translator]"
只准备博客相关依赖时,README 给出的命令是:
pip install -e ".[website]"
2. 配置
工具配置位于仓库根目录的 config.json:以 config.example.json 为模板建立该文件。README 没有列出具体字段和值;修改前应查看模板。GADGET_CONFIG 可用于指定其他配置文件路径。
LLM 功能默认使用本地 Ollama;README 列出的后端还有 claude_cli、anthropic、openai,可通过各工具的 --api 参数选择,或用 GADGET_LLM_BACKEND 全局指定。claude_cli 复用 Claude Code CLI 的登录状态;anthropic 和 openai 涉及相应 API 凭据。README 未给出凭据填写步骤。
翻译使用本地推理。README 列出 GADGET_TRANSLATION_BACKEND 用于选择翻译后端,GADGET_TRANSLATION_MODEL 用于覆盖默认翻译模型。首次使用可能下载模型。tokens/ 存放 API 密钥及新机器配置表,已被 Git 忽略,不要提交其中内容。
如需跨设备同步,须先配置 rclone。新机器的一次性配置入口是填写 tokens/onboard.yaml,再运行 scripts/onboard.py;README 没有给出该脚本的精确运行命令或 YAML 字段,因此这里不补写。
3. 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
也可以运行 README 给出的完整流程,依次完成导出、合并、周报、月报和发布:
python -m summarize auto --deploy
多设备使用时,对话日志可通过云盘同步或手动复制后汇总。具体数据格式和分步配置需查阅 README 指向的 TUTORIAL.md 与 tools/summarize/tutorial.md。
4. Research:检索论文与分析研究者
运行完整的项目报告流程,包含检索、三阶段评估和报告生成:
python tools/research/research_scout.py report --project my-project
用自然语言提问,让工具选择检索来源:
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
生成研究者画像,或按 arXiv ID/DOI 分析引用关系:
python tools/research/research_scout.py profile "Sergey Levine"
python tools/research/research_scout.py citations 2301.12597
将报告发布到 Hugo:
python tools/research/research_scout.py deploy
该工具还支持论文全文深度分析、OpenReview 评论分析等能力;README 只提到 --insight,没有给出完整示例命令。项目设置和这些功能的详细操作应参照 TUTORIAL.md 与 tools/research/TUTORIAL.md。
5. Benchmark:测试 CPU/GPU 性能
先进入 tools/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
它们依次表示:运行全部测试、只测 CPU、只测 GPU、测试并生成 HTML 报告、测试并生成报告且发布到 Hugo 的 /benchmark/。结果以追加方式写入 CSV。实际 GPU 测试支持 CUDA、Apple MPS 和 Intel XPU;OpenCL 可能只出现在检测信息中。
6. Website:预览、构建与发布博客
博客基于 Hugo。README 给出了本地预览命令;从仓库根目录运行:
cd tools/website && hugo server -D
-D 会在开发服务器中包含草稿。发布脚本会增量压缩自上次构建后变动的图片和视频,随后翻译、构建并推送站点。按操作系统选择 README 中对应的命令:
macOS/Linux
cd tools/website && bash update.sh
Windows PowerShell
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
发布脚本会自动处理独立的 tools/website/public/ 部署仓库,不应直接向它提交。生成内容带有 gadget_generated 标记;没有该标记的手写文件不会被覆盖。
7. Translator:打开文档翻译页面
安装 translator 依赖后,从仓库根目录启动:
python -m translator
它会打开 Gradio 页面。README 列出的输入包括文本、.md、.txt、.pdf、.docx 和图片;翻译时会保护代码块、URL、Hugo shortcode 等 Markdown 片段。源语言可设为 auto,目标语言设为 auto 时会在中英文之间切换。模型会按需加载,首次使用可能下载。
8. 常用维护命令与输出位置
数据同步脚本的入口,以及 README 给出的跨设备推送/拉取形式:
python scripts/sync.py
python scripts/sync.py push/pull
第二行是 README 对两个操作的合写表示;实际使用时在 push 和 pull 中选一个。同步需要预先配置 rclone,设置位于 config.json 的 sync 部分。
进行不调用 LLM、不访问网络、不写入文件的跨工具冒烟检查:
bash scripts/smoke.sh
查看本地 Ollama 服务脚本输出的环境设置:
eval "$(bash scripts/serve_local_llm.sh env)"
生成物集中在 outputs/:logs/ 放中间日志,reports/ 放最终报告,cache/ 放缓存,data/ 放结构化数据,images/ 放图表和图片,backups/ 放覆盖操作的备份。该目录已被 Git 忽略。更细的配置值、数据格式及故障排查,README 明确指向仓库的 TUTORIAL.md 和各工具自己的文档;本教程没有补造那些未展示的步骤。
GPT-6 Luna — 4,781 字符 · 事实点 15/16
项目总结
Gadgets 是一个把日常开发中常用工具集中起来的仓库,包含 AI 对话报告、论文发现与分析、性能基准测试、Hugo 博客自动化和文档翻译。tools/ 下的工具彼此独立;common/ 提供共用的 LLM、缓存、文件读写、翻译和 Hugo 部署能力。
仓库结构
| 路径 | 用途 |
|---|---|
tools/summarize/ |
生成 AI 对话的每日、每周和每月报告 |
tools/research/ |
搜索论文、分析研究者、构建引用关系图 |
tools/benchmark/ |
测量 CPU/GPU 浮点性能并生成报告 |
tools/website/ |
Hugo 博客及媒体压缩、构建和发布 |
tools/translator/ |
基于 Gradio 的本地文档翻译器 |
common/ |
所有工具共用的基础能力 |
scripts/ |
数据同步、机器初始化及维护脚本 |
docs/ |
设计文档、计划和历史资料 |
outputs/ |
工具生成的报告、缓存、数据、图片和备份 |
../ai-companion/ |
独立的相邻仓库,提供开发工作流和 Claude Code 技能 |
中文使用教程
以下仅整理 README 中给出的环境要求、配置说明和命令。各工具更细的操作、数据格式及 FAQ 请参阅 README 指向的 TUTORIAL.md 和各工具文档。
1. 环境准备
-
准备 Python 3.10 或更高版本。README 推荐使用 Conda 环境
AI:conda activate AI -
Node.js 18 或更高版本仅供独立的
../ai-companion/仓库使用。 -
根据需要准备工具所需的依赖。每个工具目录有自己的
requirements.txt;也可以安装 common、summarize、research、benchmark 和 website 的依赖:pip install -e ".[all]".[all]不包含 translator。如果需要翻译器,单独安装:pip install -e ".[translator]" -
Website 的
.[website]安装命令会包含翻译所需的torch和transformers:pip install -e ".[website]"
2. 配置说明
- 工具设置放在仓库根目录的
config.json。README 提到可以从config.example.json复制;该文件被 git 忽略。 - 如需使用其他配置文件路径,可设置
GADGET_CONFIG。 - API 密钥和机器初始化表放在被 git 忽略的
tokens/目录中,切勿提交其中内容。 - Summarize 和 Research 的 LLM 后端可通过
--api选择:ollama(默认)、claude_cli、anthropic或openai;也可用GADGET_LLM_BACKEND全局指定。 - Ollama 是默认的本地推理选项。README 提到网站和翻译功能默认使用本地推理;翻译后端还可通过
GADGET_TRANSLATION_BACKEND指定。 - 跨设备数据同步依赖 rclone 配置。可用
python scripts/sync.py查看 README 所述的同步入口。
README 没有列出各工具配置文件的完整字段、API 密钥的具体设置方式或 Ollama 的安装命令;这些细节需查看仓库教程和工具文档。
3. Summarize:生成 AI 对话报告
该工具读取 Claude Code、Codex、Cursor Agent、ChatGPT 或通用 JSON 格式的对话记录,通过 LLM 生成日、周、月报告。多设备场景下,先在设备上导出记录,再同步或手动汇总,之后按日期合并生成报告。
在仓库根目录执行:
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
支持 --api 切换 LLM 后端。README 还说明旧入口 python tools/summarize/daily_summary.py、weekly_summary.py 和 monthly_summary.py 仍兼容,但推荐使用 python -m summarize。
4. Research:论文发现与研究者分析
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
Research 的 LLM 功能支持通过 --api 选择后端。README 还介绍了深度论文洞察和会议论文、作者搜索等能力;具体参数和操作步骤请查阅工具教程。
5. Benchmark:CPU/GPU 性能基准测试
Benchmark 测量 CPU/GPU 浮点性能。README 要求先进入工具目录:
cd tools/benchmark
运行所有基准测试,结果追加到 CSV:
python -m benchmark.cli
只测 CPU 或只测 GPU:
python -m benchmark.cli --cpu-only
python -m benchmark.cli --gpu-only
运行测试并生成 HTML 报告:
python -m benchmark.cli --report
生成报告并发布到 Hugo 的 /benchmark/:
python -m benchmark.cli --report --deploy
README 提到 GPU 测试会检测 CUDA、Apple MPS 和 Intel XPU;OpenCL 仅可能出现在 --info 检测信息中,并非实际 GPU 测试后端。
6. Website:Hugo 博客
Website 是 Hugo 静态博客,包含增量媒体压缩、构建和发布流程。安装依赖:
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 说明 Hugo 内容位于 tools/website/content|static;自动生成的文件带有 gadget_generated 标记。tools/website/public/ 是单独的部署仓库,由构建脚本自动提交并推送。
7. Translator:Gradio 文档翻译器
Translator 可翻译文本及 .md、.txt、.pdf、.docx 和图片文件,并尽量保留 Markdown 格式。它使用本地推理引擎,默认模型为 tencent/Hy-MT2-1.8B,首次使用时自动下载;模型也可通过 GADGET_TRANSLATION_MODEL 或 GUI 中的模型管理覆盖。
安装并启动:
pip install -e ".[translator]"
python -m translator
命令会启动 Gradio 图形界面并在浏览器中打开。README 没有给出 GUI 中逐步操作的细节。
8. 同步、初始化和辅助脚本
跨设备同步数据需要 rclone 配置。README 给出的入口是:
python scripts/sync.py
新机器初始化可先填写 tokens/onboard.yaml,再运行:
python scripts/onboard.py
该脚本会处理 SSH、Claude/Codex CLI 安装与认证、pip extras、ai-companion 安装、工具配置及 rclone 初始化。
运行只读的工具 smoke 检查:
bash scripts/smoke.sh
README 还列出 serve_local_llm.sh、language.py 和 profile_translation.py 等辅助脚本,但未提供它们的完整使用流程;使用前应查阅对应脚本或教程文档。
GPT-5.6 Sol — 11,731 字符 · 事实点 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 无法可靠补充。
GPT-5.6 Terra — 6,622 字符 · 事实点 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
GPT-5.6 Luna — 7,667 字符 · 事实点 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 许可证。
GPT-5.5 — 8,517 字符 · 事实点 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。
GPT-5.4 Mini — 6,730 字符 · 事实点 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 (Anthropic)
Opus 5.5 — 8,689 字符 · 事实点 16/16
一、项目总结
1. 这是什么
gadget(Gadgets) 是作者在日常开发中积累的一组实用工具,涵盖五个方向:
- AI 对话日报
- 论文发现
- 性能基准测试
- 博客自动化
- 文档翻译
tools/ 下每个目录都是一个独立工具,可以单独使用。所有工具共用仓库根目录的 common/ 包,它提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译和 Hugo 部署等能力,通过 pip install -e . 安装。
开发工作流(规划、执行、变更追踪)和所有 Claude Code skills 不在本仓库里,由另一个仓库 ai-companion 提供。它放在同级目录 ../ai-companion/,通过 .claude/ 和 .codex/ 下的 hooks 接入本仓库。
2. 仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日报 / 周报 / 月报
│ ├── research/ # 论文发现 + 研究者分析 + 引用图谱
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo 博客(增量媒体压缩 + 自动构建发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包,所有工具都依赖它
├── scripts/ # 运维与维护脚本(sync.py、onboard.py、smoke.sh 等)
├── docs/ # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档
├── outputs/ # 所有生成产物(已 gitignore,可自动重建)
├── 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/ |
3. 各工具的作用
| 工具 | 作用 | 关键技术 |
|---|---|---|
| summarize | 读取 Claude Code、Codex、Cursor Agent、ChatGPT 和通用 JSON 格式的对话记录,调用 LLM 生成日报、周报和月报。支持多设备两阶段流程:先在各设备导出,再汇总合并。借助 ccusage 20.x 统计各 agent CLI 的 token 用量和费用 | Claude/OpenAI API、ccusage、matplotlib |
| research | 统一入口是 research_scout.py,提供四项能力:① 论文发现(arXiv、bioRxiv、PubMed 三阶段 LLM 评估,生成研究周报);② 深度论文洞察 --insight(下载全文、分析写作结构、匹配 OpenReview 审稿意见);③ 研究者画像(研究轨迹、tier 评分、师生关系发现、同名消歧);④ 引用图谱(前向引用和后向参考文献分析) |
arXiv/bioRxiv/PubMed、Semantic Scholar、LLM |
| benchmark | 跨平台 CPU/GPU FLOPS 测试。GPU 支持 NVIDIA CUDA、Apple MPS 和 Intel XPU;精度支持 FP64、FP32、FP16、BF16 和实验性的 FP8。流程是预热、正式测量,再做统计(中位数、IQR 去异常)。结果以追加模式写入 CSV,可以生成 Plotly HTML 报告和排行榜,并部署到 Hugo | PyTorch、NumPy、Plotly |
| website | Hugo 静态博客 “TzJ’s Net”(PaperMod 主题),部署到 GitHub Pages。压缩是增量的:图片用 pngquant,视频用 HandBrakeCLI。它还会用本地模型做中英双语翻译,然后构建并推送 | Hugo、pngquant、HandBrakeCLI |
| translator | 类似 Google 翻译的本地 Gradio 网页,可以翻译文本和文件(.md、.txt、.pdf、.docx、图片)。它会保留 Markdown 格式,代码块、URL 和 Hugo shortcode 不会被翻译。推理在本地进行,不调用云端 API |
Gradio、GGUF/transformers |
| common/ | 共享层,提供四种 LLM 后端、JSON 修复、SHA-256 磁盘缓存、原子写入、本地翻译引擎和跨平台 Hugo 部署 | — |
| scripts/ | sync.py 做 rclone 同步;onboard.py 做新机器配置;smoke.sh 做只读冒烟测试;serve_local_llm.sh 配置 Ollama;language.py 和 profile_translation.py 做其他维护 |
rclone、Python |
二、使用教程
说明:以下命令都直接取自 README。README 没有写明具体命令行的地方,我会标注出来,请以
TUTORIAL.md或各工具的源文档为准。
第 1 步:环境准备
所需环境:
- Python 3.10+,推荐使用名为
AI的 conda 环境 - Node.js 18+,只有
../ai-companion/仓库需要 - 本地推理引擎:默认是 Ollama,对话和翻译都使用
gemma4:26b。备选方案是 Linux 上的 vLLM 和 Windows 上的 transformers,它们使用tencent/Hy-MT2-1.8B,首次运行时自动下载 - 按需安装的外部程序:
- website 需要 Hugo、pngquant 和 HandBrakeCLI
- 数据同步需要 rclone
conda activate AI
第 2 步:安装
在仓库根目录执行:
# common 包 + summarize / research / benchmark / website 的依赖
pip install -e ".[all]"
# translator 不包含在 all 里,需要单独安装
pip install -e ".[translator]"
# 只需要 website 时(包含翻译用的 torch 和 transformers)
pip install -e ".[website]"
安装后会在仓库根目录生成 build/ 和 gadget.egg-info/。它们已经被 gitignore,不要提交。各工具的具体依赖见对应目录下的 requirements.txt。
可选:安装 ai-companion。 只有需要开发工作流和 skills 时才装。
- 把
git@github.com:TzJ2006/ai-companion.git检出到同级目录../ai-companion/ - 安装方法见
../ai-companion/scripts/install.ts
第 3 步:配置
1. 配置文件
- 手动把仓库根目录的
config.example.json复制为config.json。这个文件已被 gitignore。 - 如需使用其他路径,用环境变量
GADGET_CONFIG指定。 - 各部分用途:
sync段:sync.py的配置summarize段:本地 LLM 的持久参数
2. 密钥
API key 和 onboarding 表单放在 tokens/ 目录。该目录已被 gitignore,绝对不要提交。
3. 选择 LLM 后端
所有带 LLM 的功能都可以用 --api 切换后端,也可以用环境变量 GADGET_LLM_BACKEND 全局设置。
| 后端 | 说明 |
|---|---|
ollama |
默认。本地 Ollama,不需要 key,使用 Gemma4-26B |
claude_cli |
复用 Claude Code CLI 的登录状态,不需要 API key |
anthropic |
Anthropic API |
openai |
OpenAI API |
全局设置示例:
export GADGET_LLM_BACKEND=claude_cli
4. 翻译相关的环境变量
GADGET_TRANSLATION_BACKEND:取值ollama(默认)、llamacpp、vllm或transformersGADGET_TRANSLATION_MODEL:覆盖默认的翻译模型tencent/Hy-MT2-1.8B
5. 可选:生成针对 summarize 调优的 Ollama 变体并导出环境变量
eval "$(bash scripts/serve_local_llm.sh env)"
6. 新机器一键配置
先填写 tokens/onboard.yaml,然后运行一次 scripts/onboard.py。它会自动完成:
- SSH 配置
- Claude/Codex CLI 安装与认证
- pip extras 和 ai-companion 安装
- 各工具的配置
- rclone bootstrap
README 只写了"运行一次脚本",没有给出完整的命令行参数。
如果是 Ubuntu 22.04/24.04 服务器,需要系统级安装,请使用 ai-companion 仓库里的脚本,先查看帮助:
bash ../ai-companion/scripts/onboard-server.sh --help
7. 验证安装
冒烟测试是只读的:它只检查 --help、--info 和各模块能否导入,不调用 LLM,不联网,也不写文件。
bash scripts/smoke.sh
第 4 步:各工具用法
4.1 Summarize:AI 对话日报 / 周报 / 月报
流程分两阶段:
- 在每台设备上导出对话日志
- 通过云盘同步或手动拷贝把日志汇总到一处,再逐日合并出日报
日报积累够了以后,就可以生成周报和月报。
# 阶段 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
# 一键跑完整流程:导出 → 合并 → 周报 → 月报 + 部署
python -m summarize auto --deploy
- token 用量和费用由 ccusage 20.x 自动统计,它按来源分命令:
ccusage claude、ccusage codex、ccusage gemini等。 - 旧入口
python tools/summarize/daily_summary.py、weekly_summary.py、monthly_summary.py仍然可用,但推荐使用python -m summarize。 - 详细说明见
tools/summarize/tutorial.md。
4.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"
# 引用图谱,参数可以是 arXiv ID 或 DOI
python tools/research/research_scout.py citations 2301.12597
# 把报告部署到 Hugo
python tools/research/research_scout.py deploy
- 深度论文洞察通过
--insight开启。README 没有说明它挂在哪个子命令下。 - 会议论文搜索和作者搜索都支持,但 README 没有给出具体命令。
- 以上两项请查阅
tools/research/TUTORIAL.md。
4.3 Benchmark:性能基准测试
所有命令都必须先进入 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
- GPU 会被自动检测(CUDA、MPS 或 XPU)。
- OpenCL 只会出现在
--info的检测结果里,不能实际跑测试。 - CSV 采用追加模式、永不覆盖,所以在不同机器上跑的结果会自然累积成排行榜。
4.4 Website:Hugo 博客
# 安装依赖
pip install -e ".[website]"
# macOS/Linux:增量压缩 + Hugo 构建 + 推送到 Pages
cd tools/website && bash update.sh
# Windows:脚本会自动 cd 到自己所在的目录
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 本地预览,启动开发服务器,包含草稿
cd tools/website && hugo server -D
注意事项:
- 各工具生成的内容会直接写入
tools/website/content和tools/website/static,并带有gadget_generated标记。手写的、没有这个标记的文件不会被覆盖。 - 压缩只处理自
.last_build以来有变化的媒体文件。 tools/website/public/是一个独立的部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动提交和推送。不要手动往里提交。- 首次运行时会自动下载翻译模型。
4.5 Translator:Gradio 文档翻译器
# 安装 gradio 和 GGUF 翻译栈
pip install -e ".[translator]"
# 启动 GUI,会在浏览器中打开
python -m translator
后端选择: 翻译器会自动选择推理后端。
- 已拉取对应模型 tag 时,优先使用 ollama
- Linux 上优先使用 vllm
- Windows 上回退到 transformers
- 显存较小时可以选 llamacpp(GGUF 格式)
模型:
- 默认模型是
tencent/Hy-MT2-1.8B,GGUF 版本是tencent/Hy-MT2-1.8B-GGUF,首次使用时自动下载。 - 可以用
GADGET_TRANSLATION_MODEL或 GUI 里的模型管理来更换。 - 模型加载后常驻内存;切换模型时再按需加载。
语言:
- 源语言设为
auto时,按文本中 CJK 字符的比例判断语言。 - 目标语言设为
auto时,在中文和英文之间互翻。
4.6 跨设备数据同步
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段。
第 5 步:输出在哪里
所有产物都在 outputs/ 下。该目录已被 gitignore,可以随时删除后重建。
outputs/
├── logs/ # 中间产物(导出日志、运行日志)
├── reports/ # 最终报告(Markdown、JSON、HTML)
├── cache/ # LLM 缓存、搜索缓存
├── data/ # 结构化数据(CSV、JSON 画像)
├── images/ # 图表和生成的图片
└── backups/ # 强制覆盖前的备份
Hugo 站点内容是例外:它直接写入 tools/website/content 和 tools/website/static。
常见注意事项
- 不要
git add以下内容:- 自动生成的内容
- rclone 同步下来的数据
build/和gadget.egg-info/tools/website/下的部署仓库和主题仓库tokens/目录
- 每个工具的逐步操作、数据格式和 FAQ,请看根目录的
TUTORIAL.md。中文版 README 在docs/README.zh.md。 - 项目使用 GPL-3 许可证。
Fable 5.1 (effort high) — 8,091 字符 · 事实点 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/ 下的任何文件。
如需把这份教程发布成可分享的网页,告诉我一声即可。
Opus 5 — 12,340 字符 · 事实点 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)。
Sonnet 5 — 5,754 字符 · 事实点 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 以及各工具目录下的自带文档
Haiku 4.5 — 11,235 字符 · 事实点 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 和源码文档。
haiku-4.5 — 8,814 字符 · 事实点 14/16
Gadget 项目总结与使用教程
第一部分:项目总结
项目介绍
Gadget 是一个开源工具集合,汇集了日常开发中积累的实用工具,涵盖以下功能:
- AI 对话日报/周报/月报生成
- 学术论文发现与研究者分析
- 性能基准测试(CPU/GPU)
- 技术博客自动化(Hugo)
- 文档翻译服务
仓库结构
gadget/
├── tools/ # 5 个独立工具产品
│ ├── summarize/ # AI 对话日/周/月报告
│ ├── research/ # 论文发现 + 研究者分析 + 引用图
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo 博客(增量压缩+自动发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包(LLM/缓存/IO/翻译/Hugo)
├── scripts/ # 运维和维护脚本
├── docs/ # 设计文档和存档
├── outputs/ # 生成的所有产物(.gitignore)
├── AGENTS.md # AI 代理工作流协议
└── CLAUDE.md # Claude Code 仓库指南
各工具功能详解
| 工具 | 功能 | 关键技术 |
|---|---|---|
| summarize | 自动生成 AI 对话的日/周/月报告 | Claude/OpenAI API, 多源 token 统计, matplotlib |
| research | 论文发现、研究者分析、引用图 | arXiv/bioRxiv/PubMed, Semantic Scholar, LLM |
| benchmark | 跨平台 CPU/GPU FLOPS 性能测试 | PyTorch, NumPy, Plotly |
| website | Hugo 技术博客(增量媒体压缩+自动发布) | Hugo, pngquant, HandBrakeCLI |
| translator | Gradio 文档翻译器 | Gradio, 本地推理 (GGUF/transformers) |
| common | 所有工具依赖的共享基础设施包 | LLM 统一接口、缓存、翻译引擎、Hugo 部署 |
| scripts | 运维脚本(数据同步、机器初始化等) | rclone, Python |
第二部分:详细使用教程
一、环境准备
1. 系统要求
- Python 3.10+(推荐使用 conda 环境
AI:conda activate AI) - Node.js 18+(仅用于可选的 AI Companion 工具)
2. 基础安装
# 克隆仓库
git clone <gadget-repo-url>
cd gadget
# 安装 common 包及所有工具依赖
pip install -e ".[all]"
# 如果需要翻译工具,单独安装
pip install -e ".[translator]"
3. 配置文件
- 从
config.example.json复制为config.json(在仓库根目录) - API 密钥放在
tokens/目录(已 .gitignore,不会提交) - 覆盖配置路径:设置环境变量
GADGET_CONFIG=/path/to/custom/config.json
4. 初次机器配置(可选但推荐)
如果是新机器,使用一键配置脚本:
# 编辑机器初始化配置(YAML 格式)
vim tokens/onboard.yaml
# 运行初始化脚本:自动配置 SSH、Claude/Codex 认证、pip 依赖、rclone 等
python scripts/onboard.py
二、Summarize(AI 对话日周月报)
功能说明
自动整合来自多个 AI 助手(Claude Code、Codex、ChatGPT 等)的对话记录,生成结构化的日报、周报、月报,并统计 token 使用量。
工作流
两阶段流程:
- Phase 1 (Export):各设备导出对话日志
- Phase 2 (Merge):云盘同步并按日期合并
典型命令
# Phase 1: 导出所有未导出日期的对话记录
python -m summarize daily export
# Phase 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
# 一键完整流程:导出 → 合并 → 周报 → 月报 + 自动发布
python -m summarize auto --deploy
LLM 后端切换
默认使用本地 Ollama(无需 API 密钥),也可切换为云端:
# 使用 Claude Code CLI(无需单独 API 密钥)
python -m summarize daily export --api claude_cli
# 使用 Anthropic API
python -m summarize daily export --api anthropic
# 使用 OpenAI API
python -m summarize daily export --api openai
详细文档
- 分步教程:
TUTORIAL.md#summarize - 工具源文档:
tools/summarize/tutorial.md
三、Research(论文发现与研究者分析)
功能说明
学术研究工具集,提供四大功能:
- 论文发现:搜索 arXiv/bioRxiv/PubMed 论文(三阶段 LLM 筛选→深度评估→引用影响分析)
- 深度论文洞察:分析写作结构、发表策略、可复用知识
- 研究者分析:生成研究轨迹分析、分级评分、发现学生-导师关系
- 引用图分析:前向/反向引用分析及 LLM 解读
典型命令
# 完整流程:搜索 → 三阶段评估 → 生成报告
python tools/research/research_scout.py report --project my-project
# 自然语言搜索(自动路由数据源)
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
# 研究者分析(自动从 ArXiv + Semantic Scholar 获取数据)
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 后端切换
同 Summarize 工具,支持四个后端:
# 使用 Claude CLI
python tools/research/research_scout.py report --project my-project --api claude_cli
# 使用 Anthropic API
python tools/research/research_scout.py report --project my-project --api anthropic
详细文档
- 分步教程:
TUTORIAL.md#research - 工具源文档:
tools/research/TUTORIAL.md
四、Benchmark(CPU/GPU 性能测试)
功能说明
跨平台 FLOPS 基准测试工具,支持:
- GPU:NVIDIA (CUDA)、Apple Silicon (MPS)、Intel (XPU)
- 精度:FP64、FP32、FP16、BF16、FP8(实验性)
- 统计:预热 + 正式测量 + 中位数/IQR 异常值剔除
- 输出:追加到 CSV(支持多硬件排行榜)+ 交互式 HTML 报告 + Hugo 部署
典型命令
# 进入工具目录(所有命令都需要)
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
五、Website(Hugo 技术博客)
功能说明
Hugo 静态博客站点,具有:
- 自动内容生成:从 summarize/research/benchmark 工具直接写入博客内容
- 增量媒体压缩:自上次构建后,仅压缩变化的图片(pngquant)和视频(HandBrakeCLI)
- 本地翻译:使用 Ollama(默认)或 vLLM/transformers 进行双语翻译,无云端调用
- 自动发布:构建后自动推送到 GitHub Pages
安装和运行
# 安装网站工具的依赖(包括 torch 和 transformers)
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
# 本地预览(开发服务器,包含草稿)
cd tools/website && hugo server -D
重要说明
- 自动生成的内容(日报、周报、报告等)直接写入
tools/website/content|static - 生成文件标记为
gadget_generated,手写文件不会被覆盖 tools/website/public/是单独的部署仓库,由脚本自动提交和推送,不要手动提交- 翻译默认使用本地推理引擎(不调用云端 LLM API)
详细文档
- 分步教程:
TUTORIAL.md#website - 工具源文档:
tools/website/CLAUDE.md
六、Translator(文档翻译器)
功能说明
Gradio 网页翻译器,基于本地推理引擎:
- 支持文本和文件翻译(
.md、.txt、.pdf、.docx、图片) - 保留 Markdown 格式(代码块、URL、Hugo 快捷码等)
- 本地推理,无云端调用
- 源语言支持自动检测(基于 CJK 比例)
- 目标语言为
auto时自动在 zh↔en 之间切换
安装和运行
# 安装翻译工具依赖(gradio + GGUF 翻译栈)
pip install -e ".[translator]"
# 启动 Gradio GUI(自动打开浏览器)
python -m translator
环境变量配置
# 指定翻译模型(默认为 tencent/Hy-MT2-1.8B)
export GADGET_TRANSLATION_MODEL=your-model-name
# 指定翻译后端(默认 ollama,其他选项:llamacpp, vllm, transformers)
export GADGET_TRANSLATION_BACKEND=ollama
模型自动下载
首次使用时,默认模型 tencent/Hy-MT2-1.8B 会自动下载(或使用 GGUF 变体)。
详细文档
- 分步教程:
TUTORIAL.md#translator
七、运维脚本(Scripts)
数据同步
# 中央化 rclone 数据同步(push/pull/status 等)
python scripts/sync.py
# 配置文件:repo 根目录的 config.json 的 sync 部分
# 覆盖路径:GADGET_CONFIG 环境变量
健康检查
# 轻量级无写入测试(--help / --info / imports,无 LLM 调用)
bash scripts/smoke.sh
本地 LLM 服务
# 创建 summarize 优化的 Ollama 变体
eval "$(bash scripts/serve_local_llm.sh env)"
其他脚本
language.py:Hugo 双语审计 + 报告重命名profile_translation.py:翻译引擎 GPU 性能分析
八、全局配置
环境变量
| 环境变量 | 说明 | 默认值 |
|---|---|---|
GADGET_CONFIG |
自定义配置文件路径 | config.json |
GADGET_LLM_BACKEND |
LLM 后端(全局) | ollama |
GADGET_TRANSLATION_MODEL |
翻译模型 | tencent/Hy-MT2-1.8B |
GADGET_TRANSLATION_BACKEND |
翻译推理引擎 | ollama |
LLM 后端选择
所有工具通过 --api 参数统一切换:
| 后端 | 说明 | 是否需要密钥 |
|---|---|---|
ollama |
本地 Ollama 服务器(默认,使用 Gemma4-26B) | ❌ 无 |
claude_cli |
Claude Code CLI(无需单独 API 密钥) | ❌ 无 |
anthropic |
Anthropic API | ✅ 需要 |
openai |
OpenAI API | ✅ 需要 |
翻译推理引擎选择
通过 GADGET_TRANSLATION_BACKEND 指定(优先级顺序):
- ollama(首选):本地 Ollama 服务器,使用
gemma4:26b聊天模型 - llamacpp:GGUF 低 VRAM 选项
- vllm:Linux 上的高性能推理
- transformers:Windows 上的备选方案,使用
tencent/Hy-MT2-1.8B
九、常见操作速查表
# 一键启动所有依赖(Python 3.10+ conda 环境)
conda activate AI
pip install -e ".[all]"
pip install -e ".[translator]"
# 快速健康检查
bash scripts/smoke.sh
# 生成日报(最常用)
python -m summarize daily export
python -m summarize daily merge --sync-all
# 启动翻译服务
python -m translator
# 本地预览博客
cd tools/website && hugo server -D
# 查看具体工具帮助
python -m summarize --help
python tools/research/research_scout.py --help
cd tools/benchmark && python -m benchmark.cli --help
十、完整初次上手流程
# 1. 克隆仓库
git clone <url>
cd gadget
# 2. 创建虚拟环境
conda create -n AI python=3.10
conda activate AI
# 3. 安装依赖
pip install -e ".[all]"
pip install -e ".[translator]"
# 4. 配置(可选但推荐)
cp config.example.json config.json
vim tokens/onboard.yaml
python scripts/onboard.py
# 5. 健康检查
bash scripts/smoke.sh
# 6. 尝试第一个工具(以翻译器为例)
python -m translator
# 7. 查看生成的文件
ls -la outputs/
十一、输出文件组织
所有生成的产物都在 outputs/ 目录中(已 .gitignore):
outputs/
├── logs/ # 中间产物(导出日志、运行日志)
├── reports/ # 最终报告(Markdown、JSON、HTML)
├── cache/ # LLM 缓存、搜索缓存
├── data/ # 结构化数据(CSV、JSON 档案)
├── images/ # 图表和生成的图片
└── backups/ # 强制覆盖备份(website-force 等)
Hugo 网站内容直接写入 tools/website/content|static(无单独的 outputs/site 暂存树)。
十二、注意事项
- ❌ 不要
git add自动生成的内容、rclone 同步数据、构建产物(build/、gadget.egg-info/)、部署仓库 - ✅ 所有工具通过
--api参数统一管理 LLM 后端 - ✅ token 和 API 密钥放在
tokens/目录(已 .gitignore) - ✅ 本地翻译和推理无云端调用,保护隐私
- ✅ 每个工具在
tools/<tool>/目录中是独立的,可单独使用
这是 gadget 的完整中文入门指南。所有命令均来自 README 或对应的文档说明,可直接复制使用。
sonnet-4.6 — 5,588 字符 · 事实点 14/16
一、项目总结
项目是什么
Gadget 是一个开发者日常积累的实用工具集合,涵盖 AI 日报生成、论文发现、性能基准测试、博客自动化和文档翻译五个方向。每个工具独立可用,共享底层基础设施包 common/。
仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日/周/月报
│ ├── research/ # 论文发现 + 研究者分析 + 引用图
│ ├── benchmark/ # CPU/GPU 性能基准
│ ├── website/ # Hugo 博客
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础包(LLM/缓存/翻译/Hugo 部署)
├── scripts/ # 运维脚本(sync.py / onboard.py 等)
├── docs/ # 设计文档、ECL 计划、审计报告
├── outputs/ # 所有生成产物(已 gitignore,可重建)
├── AGENTS.md # AI 代理工作流协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # 打包配置
各工具功能
| 工具 | 功能 |
|---|---|
| summarize | 读取多设备 AI 对话记录(Claude Code/Codex/Cursor/ChatGPT),调用 LLM 生成结构化日报/周报/月报;支持 ccusage 20.x 统计 token 用量和费用 |
| research | 从 arXiv/bioRxiv/PubMed/Semantic Scholar 搜索论文,三阶段 LLM 评估(快速筛选→深度评估→引用影响),支持研究者画像、引用图分析、论文深度洞察 |
| benchmark | 跨平台 CPU/GPU FLOPS 基准测试,支持 NVIDIA CUDA / Apple MPS / Intel XPU,覆盖 FP64~FP8 精度,结果追加到 CSV,可生成 Plotly 交互式 HTML 报告 |
| website | Hugo 静态博客(PaperMod 主题),内置增量图片/视频压缩(pngquant/HandBrakeCLI),本地模型双语翻译,自动构建并推送到 GitHub Pages |
| translator | 基于 Gradio 的本地文档翻译 Web UI,支持 .md/.txt/.pdf/.docx/图片,本地推理(Ollama 优先),保护代码块/URL/Hugo shortcode 不被翻译 |
| common | 所有工具的共享层:LLM 调用、JSON 解析修复、SHA-256 磁盘缓存、原子写入、翻译引擎、跨平台 Hugo 部署 |
| scripts | 运维脚本:sync.py(rclone 数据同步)、onboard.py(新机器一键配置)、smoke.sh(冒烟测试) |
二、详细中文使用教程
环境准备
必要条件:
- Python 3.10+(推荐使用 conda 环境
AI) - Node.js 18+(仅 Companion 图和 DAG 发布功能需要)
# 推荐:激活 conda 环境
conda activate AI
克隆仓库后的第一步——安装基础包:
# 安装 common 包 + summarize/research/benchmark/website 扩展(不含 translator)
pip install -e ".[all]"
# 如果需要 translator,单独安装
pip install -e ".[translator]"
配置文件准备:
工具设置存放在仓库根目录的 config.json(已 gitignore),从示例文件复制一份开始:
cp config.example.json config.json
# 然后编辑 config.json 填入你的配置
可通过环境变量 GADGET_CONFIG 覆盖配置文件路径。
API 密钥:
密钥存放在 tokens/ 目录(已 gitignore,切勿 git add)。
新机器一键配置(可选)
如果是全新机器,可以用 onboard.py 自动完成 SSH 配置、CLI 安装和认证、pip 扩展安装、rclone bootstrap:
# 1. 填写配置表
# 编辑 tokens/onboard.yaml
# 2. 运行一次
python scripts/onboard.py
工具一:summarize — AI 对话日/周/月报
LLM 后端选择
通过 --api 参数切换,四个选项:
ollama(默认,本地 Ollama,无需 API key,使用 Gemma4-26B)claude_cli(复用 Claude Code CLI 登录状态,无需 API key)anthropicopenai
典型用法
两阶段工作流(多设备场景):
# 第一阶段:在每台设备上导出尚未导出的日期
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 -m summarize形式。
工具二: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
所有 LLM 功能同样支持 --api 参数切换后端(同 summarize 的四个选项)。
工具三:benchmark — 性能基准测试
注意:所有命令都需要先
cd到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
GPU 类型自动检测(NVIDIA CUDA / Apple MPS / Intel XPU),覆盖精度:FP64 / FP32 / FP16 / BF16 / FP8(实验性)。
工具四:website — Hugo 博客
安装依赖(含 torch + transformers 用于翻译):
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
本地预览(开发服务器,包含草稿):
cd tools/website && hugo server -D
tools/website/public/是独立的部署仓库,由构建脚本自动 commit + push,不要手动 commit 到该目录。
工具五:translator — Gradio 文档翻译器
安装依赖:
pip install -e ".[translator]"
启动 Gradio Web UI(自动在浏览器打开):
python -m translator
- 支持格式:
.md/.txt/.pdf/.docx/ 图片 - 默认模型:
tencent/Hy-MT2-1.8B(首次运行自动下载) - 可通过环境变量
GADGET_TRANSLATION_MODEL或 GUI 内模型管理切换模型 - 源语言设为
auto时按 CJK 比例自动检测;目标语言设为auto时在 zh↔en 之间自动切换
数据同步(多设备)
# 推送本地数据到云端
python scripts/sync.py push
# 从云端拉取数据
python scripts/sync.py pull
# 查看同步状态
python scripts/sync.py status
需要提前配置 rclone(可通过 scripts/onboard.py 自动完成)。
冒烟测试(验证安装是否正常)
对所有工具做只读冒烟检查(无 LLM 调用、无网络、无写入):
bash scripts/smoke.sh
全局环境变量速查
| 变量 | 作用 | 默认值 |
|---|---|---|
GADGET_CONFIG |
覆盖 config.json 路径 |
仓库根目录 config.json |
GADGET_LLM_BACKEND |
全局切换 LLM 后端 | ollama |
GADGET_TRANSLATION_BACKEND |
切换翻译推理引擎 | ollama |
GADGET_TRANSLATION_MODEL |
覆盖翻译模型 | tencent/Hy-MT2-1.8B |
opus-4.6 — 4,660 字符 · 事实点 15/16
Gadget 项目总结
是什么
Gadget 是一个日常开发中积累的实用工具集合,涵盖 AI 日报生成、论文发现、性能基准测试、博客自动化和文档翻译五大功能。每个工具独立可用,共享基础设施统一放在 common/ 包中。
仓库结构
| 目录 | 作用 |
|---|---|
tools/summarize/ |
AI 对话日报/周报/月报生成 |
tools/research/ |
论文发现 + 学者分析 + 引用图谱 |
tools/benchmark/ |
CPU/GPU 性能基准测试 |
tools/website/ |
Hugo 博客(增量媒体压缩 + 自动构建发布) |
tools/translator/ |
Gradio 文档翻译器 |
common/ |
共享基础设施包(LLM 调用、缓存、IO、翻译、Hugo 部署) |
scripts/ |
运维脚本(数据同步、新机器配置等) |
docs/ |
设计文档、审计报告 |
outputs/ |
所有生成产物(已 gitignore) |
各工具功能
- Summarize:读取多平台 AI 对话记录(Claude Code / Codex / Cursor / ChatGPT 等),通过 LLM 生成结构化日报、周报、月报。支持多设备聚合,通过 ccusage 20.x 统计 token 用量和费用。四种 LLM 后端:
ollama(默认)、claude_cli、anthropic、openai。 - Research:统一学术研究工具包——论文搜索(arXiv/bioRxiv/PubMed,三阶段 LLM 筛选)、深度论文洞察(全文分析+OpenReview 评审)、学者画像(论文/引用数据+导师学生关系发现)、引用图谱分析。
- Benchmark:跨平台 CPU/GPU FLOPS 基准测试,支持 NVIDIA CUDA / Apple MPS / Intel XPU,多精度(FP64/FP32/FP16/BF16/FP8),结果追加写入 CSV,可生成 Plotly 交互式 HTML 报告并部署到 Hugo。
- Website:Hugo 静态博客,内置增量图片/视频压缩管线(pngquant + HandBrakeCLI)和本地模型双语翻译(默认 Ollama,翻译模型
tencent/Hy-MT2-1.8B首次运行自动下载),自动构建并推送到 GitHub Pages。 - Translator:基于 Gradio 的本地文档翻译网页,支持 .md/.txt/.pdf/.docx/图片,保留 Markdown 格式,本地推理不调用云 API,自动选择后端(ollama/transformers/vllm/llamacpp)。
- common/:所有工具的共享层——统一 LLM 调用(四后端)、JSON 解析修复、SHA-256 磁盘缓存、原子写入、本地翻译引擎、Hugo 部署。
- scripts/:
sync.py(rclone 数据同步)、onboard.py(新机器一键配置)、smoke.sh(只读冒烟测试)、serve_local_llm.sh(Ollama 变体创建)等。
Gadget 使用教程
一、环境准备
-
Python 3.10+,推荐使用 conda 环境:
conda activate AI -
Node.js 18+(仅 Companion 图和 DAG 发布需要,可选)
-
工具特定依赖:各工具目录下有
requirements.txt
二、安装
克隆仓库后,在仓库根目录安装共享包:
# 安装 common 包 + summarize/research/benchmark/website 的依赖
pip install -e ".[all]"
# translator 需要单独安装
pip install -e ".[translator]"
# 或只装 website 相关
pip install -e ".[website]"
三、配置
-
工具配置位于仓库根目录
config.json(已 gitignore),从config.example.json复制:cp config.example.json config.json可通过环境变量
GADGET_CONFIG覆盖路径。 -
API 密钥和配置放在
tokens/目录(已 gitignore,不要提交)。 -
LLM 后端统一通过
--api参数切换:ollama(默认,免密钥)、claude_cli(复用 Claude Code 登录态)、anthropic、openai。也可通过GADGET_LLM_BACKEND环境变量全局设置。 -
翻译后端通过
GADGET_TRANSLATION_BACKEND选择:ollama(默认)→llamacpp/vllm/transformers。
新机器一键配置
填写 tokens/onboard.yaml,然后运行:
python scripts/onboard.py
自动完成 SSH 配置、CLI 安装认证、pip 依赖、工具配置、rclone 引导。
四、各工具使用
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
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"
# 引用图谱(arXiv ID 或 DOI)
python tools/research/research_scout.py citations 2301.12597
# 部署报告到 Hugo
python tools/research/research_scout.py deploy
3. Benchmark — 性能基准测试
注意:所有命令需要先 cd 到 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
python -m benchmark.cli --report --deploy
4. Website — Hugo 博客
# 安装依赖
pip install -e ".[website]"
# 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
5. Translator — Gradio 文档翻译器
# 安装依赖
pip install -e ".[translator]"
# 启动 Gradio 界面(自动打开浏览器)
python -m translator
默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载。可通过 GADGET_TRANSLATION_MODEL 环境变量或界面内模型管理切换。源语言支持 auto(按 CJK 比例检测),目标语言 auto 时在中英之间自动翻转。
五、运维脚本
# 数据同步(push/pull/status/bootstrap/config)
python scripts/sync.py
# 只读冒烟测试(不需要 LLM/网络/写入)
bash scripts/smoke.sh
# 创建 summarize 专用 Ollama 变体并输出环境变量
eval "$(bash scripts/serve_local_llm.sh env)"
六、注意事项
tokens/目录存放 API 密钥,已 gitignore,绝不提交outputs/存放所有生成产物,已 gitignore,可自动重建- 不要
git add自动生成内容、rclone 同步数据、构建产物(build/、gadget.egg-info/)或tools/website/下的部署/主题仓库 - GPU 基准测试自动检测 CUDA / Apple MPS / Intel XPU
- 项目使用 GPL-3 许可证
sonnet-5 — 4,407 字符 · 事实点 15/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等)
├── docs/ # 设计文档、历史存档
├── outputs/ # 所有生成产物(已gitignore,可重建)
├── AGENTS.md # AI agent工作协议
└── pyproject.toml # 打包配置
每个工具做什么
- summarize:读取本机 AI 对话记录(Claude Code/Codex/Cursor/ChatGPT),调用 LLM 生成结构化日报/周报/月报,支持多设备同步聚合,用 ccusage 统计各 CLI 的 token 用量和花费。
- research:通过
research_scout.py单一入口提供论文搜索(arXiv/bioRxiv/PubMed)、论文深度解读(含 OpenReview 评审匹配)、研究者画像(师生关系推断)、引用图分析(Semantic Scholar)。 - benchmark:跨平台 CPU/GPU FLOPS 跑分,支持 NVIDIA/Apple Silicon/Intel,多精度(FP64~FP8),结果累积写入 CSV,可生成 Plotly 交互报告并发布到 Hugo。
- website:Hugo 静态博客站(PaperMod 主题),内置增量图片/视频压缩(pngquant/HandBrakeCLI)和本地模型双语翻译,自动构建推送到 GitHub Pages。
- translator:基于 common 翻译引擎的 Gradio 网页版文档翻译器,保留 Markdown 格式,支持本地模型推理(Ollama/vLLM/transformers/GGUF)。
所有 LLM 功能统一通过 --api 切换后端:ollama(默认,本地免key)、claude_cli、anthropic、openai。
使用教程
一、环境准备
- Python 3.10+(建议 conda 环境
AI:conda activate AI) - Node.js 18+(仅 Companion 图谱/DAG 发布可选功能需要)
- 推荐默认使用本地 Ollama 作为 LLM 后端(免 API key)
二、安装
# 克隆仓库后,在仓库根目录执行
# 安装共享包 + summarize/research/benchmark/website 四个工具的依赖
pip install -e ".[all]"
# translator 需单独安装(all 不包含它)
pip install -e ".[translator]"
三、配置
# 复制配置模板
cp config.example.json config.json
然后编辑 config.json(已 gitignore,不会被提交)。可用环境变量 GADGET_CONFIG 覆盖配置文件路径。
如果是全新机器,可以用一次性 onboarding 脚本自动完成 SSH、Claude/Codex CLI 登录、pip extras、rclone 等配置:
# 先填好 tokens/onboard.yaml,再运行
python scripts/onboard.py
四、各工具典型用法
1. Summarize(AI 对话日报/周报/月报)
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 # 一键全流程:导出→合并→周报→月报+部署
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用于翻译)
# macOS/Linux:增量压缩+Hugo构建+推送Pages
cd tools/website && bash update.sh
# Windows(脚本会自动cd到自身目录)
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 本地预览(开发服务器,包含草稿)
cd tools/website && hugo server -D
5. Translator(文档翻译器)
pip install -e ".[translator]" # 安装依赖(gradio + GGUF翻译栈)
python -m translator # 启动Gradio网页界面(自动打开浏览器)
五、运维脚本
python scripts/sync.py # rclone跨设备数据同步(push/pull/status/bootstrap/config)
python scripts/onboard.py # 一次性机器配置
bash scripts/smoke.sh # 只读全工具烟雾测试(--help/--info/imports,无网络无写入)
eval "$(bash scripts/serve_local_llm.sh env)" # 创建summarize专用Ollama变体并打印环境变量
六、注意事项
tokens/目录存放API key和onboarding表单,已gitignore,切勿提交- 所有生成文件输出到
outputs/目录,已gitignore - 翻译后端由
GADGET_TRANSLATION_BACKEND控制:ollama(默认)→llamacpp/vllm/transformers - 不要
git add自动生成内容、rclone同步数据、构建产物(build/、gadget.egg-info/)以及tools/website/下的部署/主题仓库 - 许可协议为 GPL-3
更详细的逐步说明可参考仓库中的 TUTORIAL.md 和各工具目录下的 tutorial.md/CLAUDE.md。
opus-4.7 — 5,138 字符 · 事实点 15/16
Gadget 项目总结与使用教程
一、项目总结
是什么:日常开发中积累的实用工具集合,覆盖 AI 日报生成、论文发现、性能基准测试、博客自动化、文档翻译。
仓库结构:
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日/周/月报
│ ├── research/ # 论文发现 + 学者分析 + 引用图
│ ├── benchmark/ # CPU/GPU 性能基准
│ ├── website/ # Hugo 博客(增量压缩 + 自动构建发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包(LLM/缓存/IO/翻译/Hugo 部署)
├── scripts/ # 运维脚本(sync.py / onboard.py / smoke.sh 等)
├── docs/ # 设计文档、ECL 计划、历史归档
├── outputs/ # 所有生成产物(gitignore)
├── AGENTS.md / CLAUDE.md
└── pyproject.toml
每个工具做什么:
| 工具 | 功能 |
|---|---|
| summarize | 读取 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON 的 AI 对话记录,调 LLM 生成结构化日/周/月报;通过 ccusage 20.x 统计跨 CLI 的 token 用量和成本;多设备两阶段架构(导出 → 汇总合并) |
| research | 统一的学术研究 CLI (research_scout.py),四大能力:论文发现(arXiv/bioRxiv/PubMed 三阶段 LLM 流水线)、论文深度洞察(--insight,含 OpenReview 评审匹配)、学者画像(ArXiv + Semantic Scholar,含师承关系发现)、引用图分析 |
| benchmark | 跨平台 CPU/GPU FLOPS 基准测试(NVIDIA CUDA / Apple MPS / Intel XPU;FP64/FP32/FP16/BF16/FP8),结果追加到 CSV,可生成 Plotly 交互 HTML 报告并部署到 Hugo |
| website | Hugo 静态博客(PaperMod 主题,部署到 GitHub Pages),内置增量图/视频压缩(pngquant + HandBrakeCLI)和本地模型双语翻译 |
| translator | 基于 common 翻译引擎的 Gradio 本地翻译 Web 页,支持 .md/.txt/.pdf/.docx/图片,保留 Markdown 格式,本地推理不走云 API |
| common/ | 共享包:LLM 调用(四后端统一 API)、JSON 修复、SHA-256 磁盘缓存、原子写、本地翻译引擎、Hugo 部署 |
| scripts/ | sync.py(rclone 跨设备同步)、onboard.py(新机器一键初始化)、smoke.sh(只读冒烟测试)、serve_local_llm.sh、language.py、profile_translation.py |
二、使用教程
1. 环境准备
- Python 3.10+(推荐 conda 环境
AI:conda activate AI) - Node.js 18+(仅可选的 Companion 图谱 / DAG 发布工具需要)
- 跨设备数据同步需要 rclone
2. 安装
# 基础 + summarize/research/benchmark/website 全部 extras(不含 translator)
pip install -e ".[all]"
# translator 需单独装
pip install -e ".[translator]"
# website 单独装(含 torch + transformers 翻译)
pip install -e ".[website]"
3. 配置
- 工具配置写在仓库根的
config.json(gitignore,从config.example.json复制)。用GADGET_CONFIG环境变量可覆盖路径。 - API Key 和 onboarding 表放
tokens/目录(gitignore)。 - LLM 后端通过
--api切换:ollama(默认,本地无密钥,Gemma4-26B)/claude_cli(复用 Claude Code CLI 登录态)/anthropic/openai;也可用环境变量GADGET_LLM_BACKEND全局设置。 - 翻译后端通过
GADGET_TRANSLATION_BACKEND切换:ollama(默认,复用gemma4:26b)→llamacpp/vllm/transformers(走tencent/Hy-MT2-1.8B,首次自动下载)。翻译模型可用GADGET_TRANSLATION_MODEL覆盖。
新机器一键初始化
# 填好 tokens/onboard.yaml 后运行
python scripts/onboard.py
自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras、每个工具的配置、rclone bootstrap。
冒烟测试
bash scripts/smoke.sh
4. 各工具用法
Summarize — AI 对话日/周/月报
# Phase 1:导出所有未导出日期
python -m summarize daily export
# Phase 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
# 一键全流水线:导出 → 合并 → 周 → 月 + 部署
python -m summarize auto --deploy
旧入口
python tools/summarize/daily_summary.py等仍可用(向后兼容 shim),推荐用上面的python -m summarize新形式。
本地 LLM 变体(可选):
eval "$(bash scripts/serve_local_llm.sh env)"
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"
# 引用图(按 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。
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/
所有命令都要先
cd tools/benchmark/。
Website — Hugo 博客
pip install -e ".[website]"
# 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
tools/website/public/是独立的部署仓库,脚本自动提交推送,别手动git add。
Translator — Gradio 文档翻译器
pip install -e ".[translator]"
python -m translator # 启动 Gradio GUI(浏览器自动打开)
源语言可设 auto(按 CJK 比例检测);目标设 auto 时在 zh↔en 之间翻转。默认模型 tencent/Hy-MT2-1.8B,首次使用自动下载。
跨设备数据同步
python scripts/sync.py push # 推
python scripts/sync.py pull # 拉
python scripts/sync.py status
python scripts/sync.py bootstrap
python scripts/sync.py config
配置在 config.json 的 sync 段。
5. 注意事项
- 生成产物都在
outputs/(logs//reports//cache//data//images//backups/),已 gitignore。 - Hugo 内容直接写入
tools/website/content|static,带gadget_generated标记的文件才会被覆盖;手写文件不会被动。 - 别
git add:自动生成内容、rclone 同步数据、build/、gadget.egg-info/、tools/website/下的部署和主题仓库。 - 许可证 GPL-3。
opus-4.8 — 6,270 字符 · 事实点 16/16
一、项目总结
这是什么
Gadget 是一个日常开发中积累的实用工具合集,用 Python 打包(GPL-3 许可)。它涵盖五大能力:AI 对话日报/周报/月报生成、论文发现与研究者分析、硬件性能基准测试、Hugo 博客自动化、文档翻译。设计理念是:tools/ 下每个目录都是可独立使用的工具,而公共能力(LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署)集中在仓库根部的 common/ 包里,通过 pip install -e . 安装。
仓库结构
| 目录/文件 | 作用 |
|---|---|
tools/summarize/ |
AI 对话日报/周报/月报(多设备两阶段架构) |
tools/research/ |
论文发现 + 研究者分析 + 引用图谱 |
tools/benchmark/ |
CPU/GPU 跨平台性能基准 |
tools/website/ |
Hugo 博客(增量媒体压缩 + 自动构建发布) |
tools/translator/ |
Gradio 文档翻译器 |
common/ |
所有工具依赖的共享基础设施包 |
scripts/ |
运维/维护脚本(sync.py、onboard.py、language.py、profile_translation.py 等) |
docs/ |
设计文档、ECL 计划、审计报告、历史归档 |
outputs/ |
所有生成产物(gitignore,可重建) |
AGENTS.md |
所有 AI agent 的工作协议 |
CLAUDE.md |
Claude Code 的仓库指南 |
pyproject.toml |
common/ 及各工具的打包配置 |
此外,../ai-companion/(独立的兄弟仓库)提供可选的 DAG 发布工具。
每个工具做什么
-
Summarize:自动读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化的日/周/月总结。多设备流程:各设备导出对话日志 → 云盘同步或手动汇总 → 生成日报 → 积累后生成周报和月趋势。借助 ccusage 20.x 的分源命令自动统计各 agent CLI 的 token 用量和成本。四种后端:
ollama(默认,本地无密钥)、claude_cli、anthropic、openai,用--api切换。 -
Research:统一的学术研究工具,单一入口
research_scout.py。四大能力:① 论文发现(arXiv/bioRxiv/PubMed,三阶段 LLM 流水线:快速筛选→深度评估→引用影响,生成研究周报并部署到 Hugo);② 深度论文洞察(--insight,下载全文、分析写作结构、匹配 OpenReview 评审);③ 研究者画像(ArXiv + Semantic Scholar,研究轨迹分析、层级评分、师生关系发现);④ 引用图谱分析(基于 Semantic Scholar API 的前向引用/后向参考)。 -
Benchmark:跨平台 CPU/GPU FLOPS 基准测试。支持 NVIDIA(CUDA)、Apple Silicon(MPS)、Intel(XPU)实际运行,覆盖 FP64/FP32/FP16/BF16/FP8(实验性)。采用预热+正式测量+统计分析(中位数、IQR 剔除异常),结果以追加模式写入 CSV(天然支持多硬件累积排行榜),可生成 Plotly 交互式 HTML 报告并部署、提交公共排行榜。
-
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 文档翻译器,类似本地版谷歌翻译。翻译文本和文件(.md/.txt/.pdf/.docx/图片),保留 Markdown 格式(代码块、URL、Hugo shortcode 受保护)。本地推理而非云 API,引擎自动选择(Ollama 优先 / transformers 为 Windows 兜底 / vLLM 为 Linux 首选 / llamacpp 为低显存 GGUF 选项),模型常驻内存。默认模型tencent/Hy-MT2-1.8B,可用GADGET_TRANSLATION_MODEL覆盖。 -
common/:共享层,提供统一两级 LLM API(四后端)、JSON 解析修复、SHA-256 磁盘缓存(命名空间+TTL)、原子写入与内容哈希、本地推理翻译引擎、跨平台 Hugo 部署。
-
scripts/:
sync.py(rclone 数据同步:push/pull/status/bootstrap/config,含特殊dag类别);onboard.py(一次性新机配置);smoke.sh(只读冒烟测试);serve_local_llm.sh(创建 summarize 专用 Ollama 变体);language.py、profile_translation.py。
二、详细使用教程(面向新手)
1. 环境准备
- Python 3.10+(推荐用 conda 环境
AI):conda activate AI - Node.js 18+(仅可选的 Companion 图谱 / DAG 发布工具需要)
- 各工具的具体依赖见对应目录的
requirements.txt - website/翻译功能使用本地推理引擎(默认 Ollama,用
gemma4:26b;Linux 用 vLLM、Windows 用 transformers 兜底,用tencent/Hy-MT2-1.8B,首次运行自动下载)
2. 安装
安装 common 包 + summarize/research/benchmark/website 的 extras:
pip install -e ".[all]"
注意:all 不包含 translator,需单独安装:
pip install -e ".[translator]"
website 的翻译依赖(含 torch + transformers):
pip install -e ".[website]"
执行
pip install -e .会在仓库根部生成build/和gadget.egg-info/(已 gitignore)。
3. 配置
- 工具设置放在仓库根部的
config.json(gitignore,从config.example.json复制)。用GADGET_CONFIG可覆盖路径。 tokens/目录存放 API 密钥和 onboarding 表(gitignore,切勿提交)。- LLM 后端统一用
--api切换:ollama(默认)、claude_cli、anthropic、openai,也可用环境变量GADGET_LLM_BACKEND全局设置。 - 翻译路径的后端用
GADGET_TRANSLATION_BACKEND选择:ollama(默认)→llamacpp/vllm/transformers。
新机一次性配置(填好 tokens/onboard.yaml 后):
python scripts/onboard.py
跨设备数据同步(需配置 rclone):
python scripts/sync.py # 查看/运行同步
全工具只读冒烟测试(不碰 LLM/网络/写入):
bash scripts/smoke.sh
4. 各工具典型用法
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 # 一键全流程:导出→合并→周报→月报 + 部署
旧入口
python tools/summarize/daily_summary.py ...等仍兼容,但推荐用上面的python -m summarize形式。
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
深度论文洞察用 --insight。所有 LLM 功能都支持 --api 切后端。
Benchmark
cd tools/benchmark # 注意:所有命令都要先 cd 进该目录
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。)
Website
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 # 本地预览(含草稿的开发服务器)
Translator
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
python -m translator # 启动 Gradio GUI(浏览器打开)
5. 输出与注意事项
- 所有生成产物都在
outputs/(gitignore,可重建):logs/中间产物、reports/最终报告、cache/缓存、data/结构化数据、images/图表、backups/备份。Hugo 站点内容直接写入tools/website/content|static。 - 切勿
git add自动生成内容、rclone 同步数据、构建产物(build/、gadget.egg-info/)或tools/website/下的部署/主题仓库。
说明:以上全部来自 README,未提及的命令/参数(如 TUTORIAL.md、各工具源文档里的细节)我没有编造。每个工具的分步操作、数据格式和 FAQ 需查阅 README 指向的 TUTORIAL.md 和各工具自带文档。
sonnet-5.5 — 7,112 字符 · 事实点 16/16
第一部分:项目总结
1. 它是什么
Gadgets 是作者在日常开发中积累的一套实用工具集,涵盖五个方向:AI 对话日报/周报/月报生成、论文发现与研究者分析、CPU/GPU 性能基准测试、Hugo 博客自动化、文档翻译。
tools/下每个目录都是独立工具,可单独使用。- 公共能力放在仓库根目录的
common/包中(通过pip install -e .安装),提供 LLM 调用、JSON 解析修复、磁盘缓存、原子写入、翻译、Hugo 部署等。 - 可选的 Companion 图谱/规划工具在本地可用,其中 DAG 发布由同级仓库
../ai-companion/提供。编码 Agent 遵循AGENTS.md,不经过 Companion 拦截。 - 协议为 GPL-3。
2. 仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ research/ benchmark/ website/ translator/
├── common/ # 共享基础设施包
├── scripts/ # 运维脚本(sync.py、onboard.py、language.py、profile_translation.py 等)
├── docs/ # 设计文档、ECL 计划、审计报告、归档
├── outputs/ # 所有生成产物(gitignore,可重建)
├── AGENTS.md # AI Agent 工作流协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml
build/ 和 gadget.egg-info/ 由 pip install -e . 生成(已忽略)。
3. 各工具做什么
| 工具 | 功能 |
|---|---|
| summarize | 读取 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON 的对话记录,调用 LLM 生成日/周/月报;多设备两阶段(导出→合并);借助 ccusage 20.x 统计 token 与费用 |
| research | 统一入口 research_scout.py:论文发现(arXiv/bioRxiv/PubMed,三阶段 LLM 流水线)、--insight 深度论文洞察、研究者画像(含师生关系发现)、引用图分析(Semantic Scholar) |
| benchmark | 跨平台 CPU/GPU FLOPS 测试,支持 CUDA / MPS / XPU,精度 FP64/FP32/FP16/BF16/FP8(实验性);结果追加到 CSV,可生成 Plotly HTML 报告和排行榜 |
| website | Hugo 博客(PaperMod 主题,部署到 GitHub Pages);增量压缩图片(pngquant)与视频(HandBrakeCLI);本地模型双语翻译 |
| translator | Gradio 本地翻译网页,支持文本与 .md/.txt/.pdf/.docx/图片,保护代码块、URL、Hugo shortcode;默认模型 tencent/Hy-MT2-1.8B |
| common | 共享包(见上) |
| scripts | sync.py(rclone 同步)、onboard.py(新机器一次性配置)、smoke.sh(只读冒烟检查)、serve_local_llm.sh(创建 Ollama 变体)等 |
LLM 后端统一用 --api 切换:ollama(默认,本地、无需密钥)、claude_cli(复用 Claude Code 登录态)、anthropic、openai;也可用环境变量 GADGET_LLM_BACKEND 全局设置。
第二部分:使用教程
说明:以下命令均来自 README。README 没写的细节(如具体 API Key 的环境变量名、config.json 各字段)我不会编造,会标注"请查阅对应文档"。
一、环境准备
- Python 3.10+,推荐 conda 环境
AI:conda activate AI - Node.js 18+:仅在使用可选的 Companion 图谱 / DAG 发布工具时需要。
- 各工具的具体依赖见对应目录下的
requirements.txt。 - 按需准备外部程序:
- 默认 LLM 后端需要本地 Ollama(默认聊天模型
gemma4:26b)。 - website 需要 Hugo、pngquant、HandBrakeCLI。
- 跨设备同步需要 rclone。
- summarize 的用量统计依赖 ccusage 20.x。
- 默认 LLM 后端需要本地 Ollama(默认聊天模型
二、安装
在仓库根目录执行:
# common 包 + summarize / research / benchmark / website 全部 extras
pip install -e ".[all]"
# translator 不包含在 all 里,需单独安装
pip install -e ".[translator]"
# 只装 website 依赖(含翻译用的 torch + transformers)
pip install -e ".[website]"
安装后可以做一次只读冒烟检查(不调用 LLM、不联网、不写文件):
bash scripts/smoke.sh
三、配置
- 工具配置:根目录
config.json(已 gitignore),从config.example.json复制:用环境变量cp config.example.json config.jsonGADGET_CONFIG可指定其他路径。具体字段请看config.example.json。 - 密钥:
tokens/目录存放 API Key 和 onboarding 表,已 gitignore,切勿提交。 - LLM 后端:每条命令加
--api ollama|claude_cli|anthropic|openai,或全局设置:export GADGET_LLM_BACKEND=claude_cli - 翻译后端:
GADGET_TRANSLATION_BACKEND可选ollama(默认)、llamacpp、vllm、transformers;翻译模型用GADGET_TRANSLATION_MODEL覆盖。 - 本地 LLM 调优(可选):
持久参数写在
eval "$(bash scripts/serve_local_llm.sh env)"config.json的summarize部分。 - 新机器一键配置:填写
tokens/onboard.yaml,然后运行一次:它会配置 SSH、Claude/Codex CLI 安装与认证、pip extras、各工具配置和 rclone bootstrap。python scripts/onboard.py
四、各工具典型用法
1. 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 # 全流程:导出→合并→周报→月报 + 部署
- 多设备流程:每台设备各自导出,通过网盘同步或手动拷贝汇总,再合并生成日报。
- 切换后端:追加
--api claude_cli等(README 说明--api在 LLM 功能上通用)。 - 旧入口
python tools/summarize/daily_summary.py ...、weekly_summary.py、monthly_summary.py仍可用,但推荐新写法。 - 详细文档:
TUTORIAL.md#summarize、tools/summarize/tutorial.md。
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
--insight可做论文全文深度分析(含 OpenReview 评审意见),但 README 未给出完整命令,请查阅tools/research/TUTORIAL.md。- 同样支持
--api切换后端。
3. Benchmark:性能基准
所有命令需先进入 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/
- 结果以追加方式写入 CSV,不会覆盖,适合多机器累积排行榜。
- README 提到
--info可用于硬件检测(OpenCL 只会在其中出现),完整用法见tools/benchmark/tutorial.md。
4. Website:Hugo 博客
pip install -e ".[website]" # 安装依赖
cd tools/website && bash update.sh # macOS/Linux:增量压缩 + Hugo 构建 + 推送 Pages
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1 # Windows
cd tools/website && hugo server -D # 本地预览(含草稿)
注意:
- 只压缩自
.last_build以来变化的媒体文件。 - 翻译走本地模型,首次运行自动下载
tencent/Hy-MT2-1.8B。 - 自动生成内容带
gadget_generated标记;没有该标记的手写文件不会被覆盖。 tools/website/public/是独立的部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动提交推送,不要手动提交。
5. Translator:Gradio 翻译器
pip install -e ".[translator]"
python -m translator
浏览器会打开本地网页。
- 支持文本及
.md/.txt/.pdf/.docx/图片,保留 Markdown 格式。 - 源语言可设为
auto(按 CJK 占比检测);目标语言为auto时在中↔英之间自动切换。 - 默认模型首次使用时自动下载,可通过
GADGET_TRANSLATION_MODEL或界面内的模型管理更换。
6. 数据同步(scripts/sync.py)
python scripts/sync.py
- 支持 push / pull / status / bootstrap / config,覆盖 summarize / website / research / benchmark / backups 类别,另有特殊的
dag类别。 - 配置在
config.json的sync部分,需先配置好 rclone。 - README 中写到的具体用法为
python scripts/sync.py push/pull和python scripts/sync.py --category dag。
五、输出位置
所有产物都在 outputs/(已 gitignore,可重建):logs/、reports/、cache/、data/、images/、backups/。Hugo 站点内容则直接写入 tools/website/content|static。
六、注意事项
- 不要
git add自动生成的内容、rclone 同步的数据、build/、gadget.egg-info/,以及tools/website/下的部署仓库和主题仓库。 - 不要提交
tokens/的内容。 - 想改工具逻辑去
tools/<tool>/,改共享能力去common/。 - 更详细的步骤见
TUTORIAL.md,中文版为docs/README.zh.md。
七、建议的上手顺序
conda activate AI→pip install -e ".[all]"cp config.example.json config.json,并准备好 Ollama(或改用--api claude_cli)bash scripts/smoke.sh验证安装- 先试最简单的
cd tools/benchmark && python -m benchmark.cli --cpu-only,再试python -m translator - 之后再配置 summarize / research 等依赖 LLM 的工具
opus-5 — 11,650 字符 · 事实点 16/16
一、项目总结
是什么
Gadgets 是一个日常开发中积累的实用工具合集,覆盖 AI 日报生成、论文发现、性能基准测试、博客自动化和文档翻译。tools/ 下每个目录都是一个可独立使用的工具;共用能力集中在仓库根目录的 common/ 包(通过 pip install -e . 安装),提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等通用功能。许可证为 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/ # 所有生成产物(gitignore,可自动重建)
├── AGENTS.md # 所有 AI agent 的工作流协议(动手前先读)
├── CLAUDE.md # Claude Code 的仓库指南
└── pyproject.toml # common/ 与各工具的打包配置
outputs/ 内部分为 logs/(中间产物)、reports/(最终报告 MD/JSON/HTML)、cache/(LLM 与搜索缓存)、data/(CSV、JSON profile)、images/(图表与生成图片)、backups/(强制覆盖前的备份)。Hugo 站点内容直接写入 tools/website/content|static,没有单独的 outputs/site 暂存目录。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 用量和成本。关键技术: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 基准测试工具,在不同硬件厂商和精度档位上统一测量浮点性能。GPU 实际运行支持 NVIDIA(CUDA)、Apple Silicon(MPS)、Intel(XPU)(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 安装、各工具配置、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/(独立仓库)
提供 scripts/sync.py --category dag 使用的 DAG 发布工具,以及 AI 代码变更追踪 + 计划/执行 skill 流水线 + 所有 skills(Node.js、TypeScript)。Companion 工具是可选的、显式运行,本仓库没有 Companion 拦截 hook,onboarding 也不安装 Companion;旧的 install.ai_companion 设置会被忽略。现有的本地 idea graph、手动 graph 命令和 skills 仍然可用。Coding agent 遵循 AGENTS.md,不经 Companion 拦截。
二、使用教程(面向初次接触者)
README 本身是总览;每个工具逐步的操作、配置、数据格式和 FAQ 另见
TUTORIAL.md和各工具自己的源文档。本教程只覆盖 README 中明确写到的命令与参数。
第 0 步:环境准备
- Python 3.10+(推荐使用 conda 环境
AI) - Node.js 18+(仅在需要可选的 Companion graph 和 DAG 发布工具时)
- 各工具的具体依赖见对应目录下的
requirements.txt - GPU 基准测试会自动检测 CUDA / Apple MPS / Intel XPU
- website / 翻译功能使用本地推理引擎(默认 Ollama,用同一个
gemma4:26bchat 模型做翻译;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]"
也可以按需只装单个 extras:
pip install -e ".[website]" # 含翻译所需的 torch + transformers
pip install -e ".[translator]" # gradio + GGUF 翻译栈
安装完成后可以跑一遍只读冒烟检查(不触发 LLM、网络和写入)确认环境正常:
bash scripts/smoke.sh
第 2 步:配置
工具设置文件:工具设置位于仓库根目录的 config.json(已 gitignore),从 config.example.json 复制而来:
cp config.example.json config.json
想用别的路径时,用环境变量 GADGET_CONFIG 覆盖。其中 sync 段是 scripts/sync.py 的配置,summarize 段放 serve_local_llm.sh 的持久化参数。
密钥目录:tokens/ 目录存放 API key 和 onboarding 表,已 gitignore ——绝不要提交其中内容。
LLM 后端:所有工具统一通过 --api 参数切换,可选 ollama(默认,本地 Ollama,无需 key,Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录态,不需要 API key)、anthropic、openai。也可以用环境变量 GADGET_LLM_BACKEND 全局设置。
翻译后端:翻译路径走本地推理引擎,由 GADGET_TRANSLATION_BACKEND 选择:ollama(默认,本地 Ollama 服务,复用已服务的 chat tag gemma4:26b)→ llamacpp / vllm / transformers(进程内,模型 tencent/Hy-MT2-1.8B)。翻译模型可用 GADGET_TRANSLATION_MODEL 覆盖。
本地 LLM 环境变量:创建针对 summarize 调优的 Ollama 变体并导出环境:
eval "$(bash scripts/serve_local_llm.sh env)"
新机器一次性配置:填好 tokens/onboard.yaml 后跑一次,自动完成 SSH 配置、Claude/Codex 认证、pip extras、各工具配置和 rclone bootstrap:
python scripts/onboard.py
服务器系统级安装(Ubuntu 22.04/24.04 一键装 SSH 公钥、Claude Code、Codex、Superpowers、Ponytail 和 AI Companion)的脚本已随平台迁移到 ai-companion 仓库。仓库拆分后 --companion-repo 直接传 ai-companion 仓库(git@github.com:TzJ2006/ai-companion.git),--companion-ref 不再需要:
bash ../ai-companion/scripts/onboard-server.sh --help
第 3 步:数据同步(跨设备)
跨设备数据同步使用 scripts/sync.py(需要先配置 rclone)。子命令有 push / pull / status / bootstrap / config,类别覆盖 summarize / website / research / benchmark / backups,另有特殊的 dag 类别用于生成 + 部署 DAG 站点:
python scripts/sync.py # 查看用法
python scripts/sync.py push # 推送数据
python scripts/sync.py pull # 拉取数据
python scripts/sync.py --category dag # 生成 + 部署 DAG 站点
第 4 步:各工具典型用法
Summarize —— AI 对话日/周/月报
多设备两阶段架构:先在各设备导出,再汇总合并。
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 # 一键全流程:导出 → 合并 → 周报 → 月报 + 部署
切换 AI 总结后端(四种后端统一用 --api):
python -m summarize daily export --api claude_cli
python -m summarize daily export --api anthropic
python -m summarize daily export --api openai
旧入口 python tools/summarize/daily_summary.py ... / weekly_summary.py / monthly_summary.py 仍然可用(向后兼容的 re-export shim),但推荐使用上面的 python -m summarize 形式。
详细步骤见 TUTORIAL.md#summarize 和源文档 tools/summarize/tutorial.md。
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
深度论文洞察用 --insight;所有 LLM 功能都支持 --api 切换后端:
python tools/research/research_scout.py report --project my-project --api claude_cli
详细步骤见 TUTORIAL.md#research 和源文档 tools/research/TUTORIAL.md。
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。结果以追加模式累积到 CSV,从不覆盖,所以可以在多台机器上反复跑来累积排行榜。
详细步骤见 TUTORIAL.md#benchmark 和源文档 tools/benchmark/tutorial.md。
Website —— Hugo 博客
pip install -e ".[website]" # 安装依赖(含翻译用的 torch + transformers)
cd tools/website && bash update.sh # macOS/Linux:增量压缩 + Hugo 构建 + 推送 Pages
Windows 下(脚本自己会 cd 到所在目录):
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
本地预览(开发服务器,包含草稿):
cd tools/website && hugo server -D
Hugo 双语审计(以及 summarize 报告重命名):
python scripts/language.py
重要:tools/website/public/ 是独立的部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动提交 + 推送,不要直接往里提交。自动生成的内容带 gadget_generated 标记;没有标记的手写文件永不被覆盖。
详细步骤见 TUTORIAL.md#website 和源文档 tools/website/CLAUDE.md。
Translator —— Gradio 文档翻译器
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
python -m translator # 启动 Gradio GUI(会在浏览器中打开)
启动后在网页里粘贴文本或上传文件(.md / .txt / .pdf / .docx / 图片)即可翻译。源语言可设为 auto(按 CJK 比例检测);目标语言设为 auto 时在中英之间翻转。换模型可以用环境变量:
GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF python -m translator
也可以在 GUI 内的模型管理里切换(切换时按需懒加载)。想换推理后端:
GADGET_TRANSLATION_BACKEND=llamacpp python -m translator # 低显存 GGUF
GADGET_TRANSLATION_BACKEND=vllm python -m translator # Linux 优先
GADGET_TRANSLATION_BACKEND=transformers python -m translator # Windows 回退
翻译引擎的 GPU 性能分析:
python scripts/profile_translation.py
UI 接线见 tools/translator/app.py,翻译与文件逻辑见 tools/translator/core.py,共享引擎见 common/engine.py 和 common/translation.py。详细步骤见 TUTORIAL.md#translator。
第 5 步:几条必须记住的纪律
- 所有生成文件输出到
outputs/目录,已 gitignore,可自动重建。 - 绝不要
git add:自动生成的内容、rclone 同步的数据、构建产物(build/、gadget.egg-info/),以及tools/website/下的部署仓库和主题仓库。 tokens/的内容绝不提交。- 动手改代码前先读
AGENTS.md(所有 AI agent 的工作流协议);Claude Code 另见CLAUDE.md。
fable-5 — 6,771 字符 · 事实点 16/16
Gadget 项目总结
这是什么
Gadget 是一个日常开发中积累的实用工具集合,涵盖 AI 日报生成、论文发现、性能基准测试、博客自动化和文档翻译五大方向。tools/ 下每个目录都是可独立使用的工具,共享能力统一放在仓库根的 common/ 包中(通过 pip install -e . 安装),提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等通用功能。项目采用 GPL-3 许可。
仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日报/周报/月报
│ ├── research/ # 论文发现 + 研究者分析 + 引用图谱
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo 博客(增量媒体压缩 + 自动构建发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包(LLM/缓存/IO/翻译/Hugo)
├── scripts/ # 运维脚本(sync.py、onboard.py、smoke.sh 等)
├── docs/ # 设计文档、ECL 计划、审计报告、历史归档
├── outputs/ # 所有生成产物(gitignored,可重建)
├── AGENTS.md / CLAUDE.md
└── pyproject.toml
另有一个兄弟仓库 ../ai-companion/(独立 repo),提供 DAG 发布工具和开发工作流/skill 相关内容。
每个工具做什么
| 工具 | 功能 |
|---|---|
| summarize | 自动读取各设备的 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化的日报、周报、月报;通过 ccusage 20.x 统计各 agent CLI 的 token 用量和费用。两阶段多设备架构:各设备导出 → 云盘同步聚合 → 合并生成日报,积累后再生成周报/月报。 |
| research | 统一学术研究工具(单一入口 research_scout.py):① 论文发现——arXiv/bioRxiv/PubMed 三阶段 LLM 流水线(快筛→深评→引用影响),生成研究周报并部署到 Hugo;② 论文深度洞察(--insight)——下载全文分析写作结构,自动匹配 OpenReview 评审;③ 研究者画像——基于 ArXiv + Semantic Scholar 生成研究轨迹分析、tier 分数、师生关系发现;④ 引用图谱分析。 |
| benchmark | 跨平台 CPU/GPU FLOPS 基准测试,支持 NVIDIA CUDA / Apple MPS / Intel XPU,覆盖 FP64/FP32/FP16/BF16/FP8(实验性)。预热 + 正式测量 + 统计分析(中位数、IQR 剔除离群值),结果追加写入 CSV(天然支持多硬件累积榜单),可生成 Plotly 交互式 HTML 报告并部署到 Hugo。 |
| website | Hugo 静态博客(“TzJ’s Net”,PaperMod 主题,部署到 GitHub Pages)。内置增量图片/视频压缩(只压缩 .last_build 之后变化的媒体:图片用 pngquant,视频用 HandBrakeCLI)和本地模型双语翻译。自动生成内容直接写入 `tools/website/content |
| translator | 基于 common 翻译引擎的 Gradio 本地翻译网页,翻译文本和文件(.md/.txt/.pdf/.docx/图片),保留 Markdown 格式(代码块、URL、Hugo shortcode 受保护)。纯本地推理,自动选择后端(ollama / vllm / transformers / llamacpp),默认模型 tencent/Hy-MT2-1.8B,首次使用自动下载。 |
scripts/ 中的运维脚本:sync.py(rclone 数据同步,push/pull/status/bootstrap/config)、onboard.py(新机器一次性配置)、smoke.sh(只读冒烟测试)、serve_local_llm.sh(创建 summarize 调优的 Ollama 变体)、language.py(Hugo 双语审计)、profile_translation.py(翻译引擎 GPU 性能分析)。
使用教程(新手向)
一、环境准备
- Python 3.10+,推荐使用 conda 环境
AI:conda activate AI - Node.js 18+(可选,仅 Companion graph 和 DAG 发布工具需要)。
- 各工具的具体依赖见对应目录下的
requirements.txt。 - 本地推理(website 翻译 / translator)默认使用 Ollama(聊天模型
gemma4:26b);Linux 可用 vLLM、Windows 可用 transformers 作为回退(使用tencent/Hy-MT2-1.8B,首次运行自动下载)。 - 跨设备数据同步需要配置 rclone。
二、安装
在仓库根目录执行:
# common 包 + summarize/research/benchmark/website 的依赖(注意:不含 translator)
pip install -e ".[all]"
# translator 需单独安装
pip install -e ".[translator]"
# 如只需 website(含翻译用的 torch + transformers)
pip install -e ".[website]"
安装会在仓库根生成 build/ 和 gadget.egg-info/(已 gitignored,不要提交)。
三、配置
- 主配置文件:仓库根
config.json(gitignored),从config.example.json复制而来;可用环境变量GADGET_CONFIG覆盖路径。sync.py读取其中的sync节,summarize 的持久化设置放在summarize节。 - 密钥:放在
tokens/目录(gitignored,切勿提交)。 - LLM 后端:所有 LLM 功能统一用
--api参数切换,四个选项:ollama(默认,本地 Ollama,免密钥,Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录态,无需 API key)、anthropic、openai。也可用环境变量GADGET_LLM_BACKEND全局设置。 - 翻译后端:用
GADGET_TRANSLATION_BACKEND选择(ollama默认 →llamacpp/vllm/transformers);翻译模型可用GADGET_TRANSLATION_MODEL覆盖。 - 新机器一次性配置:填写
tokens/onboard.yaml后运行一次:会自动完成 SSH 配置、Claude/Codex CLI 安装认证、pip extras 安装、各工具配置和 rclone bootstrap。python scripts/onboard.py - 验证安装(只读冒烟测试,不调 LLM、不联网、不写文件):
bash scripts/smoke.sh
四、各工具典型用法
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 等仍可用(兼容垫片),但推荐上面的新形式。
可选:用 bash scripts/serve_local_llm.sh 创建 summarize 调优的 Ollama 变体并导入环境变量:
eval "$(bash scripts/serve_local_llm.sh env)"
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
所有 LLM 功能同样支持 --api ollama|claude_cli|anthropic|openai;深度洞察用 --insight。
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/
GPU 自动检测 CUDA / Apple MPS / Intel XPU(OpenCL 只出现在 --info 检测中)。
4. Website — Hugo 博客
pip install -e ".[website]" # 安装依赖(含翻译所需 torch + transformers)
# macOS/Linux:增量压缩 + Hugo 构建 + 推送 Pages
cd tools/website && bash update.sh
# Windows(脚本会自动 cd 到自己的目录)
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 本地预览(含草稿)
cd tools/website && hugo server -D
注意:不要直接向 tools/website/public/ 提交(它是独立部署仓库,由构建脚本自动提交推送);不要 git add 自动生成的内容、部署/主题仓库。
5. Translator — 文档翻译器
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
python -m translator # 启动 Gradio GUI(浏览器打开)
源语言可设 auto(按文本 CJK 比例检测);目标语言为 auto 时在中英间自动翻转。模型可通过 GADGET_TRANSLATION_MODEL 或 GUI 内模型管理覆盖。
6. 数据同步
python scripts/sync.py push # 推送
python scripts/sync.py pull # 拉取
另支持 status / bootstrap / config 操作,覆盖 summarize / website / research / benchmark / backups 类别,以及特殊的 dag 类别(生成并部署 DAG 站点,依赖兄弟仓库 ai-companion)。
五、输出与注意事项
所有生成产物统一在 outputs/ 下(gitignored,可重建):logs/(中间产物)、reports/(最终报告)、cache/(LLM/搜索缓存)、data/(结构化数据)、images/(图表)、backups/(强制覆盖备份)。Hugo 站点内容直接写入 tools/website/content|static,没有单独的 staging 目录。
关键禁忌:不要提交 tokens/ 内容;不要 git add 自动生成内容、rclone 同步数据、构建产物(build/、gadget.egg-info/)或 tools/website/ 下的部署/主题仓库。
更详细的分步操作、数据格式和 FAQ 见仓库中的 TUTORIAL.md 及各工具目录下的源文档。
fable-5.1 — 8,881 字符 · 事实点 16/16
下面直接给出项目总结和使用教程,全部内容仅依据 README。
一、项目总结
Gadgets 是什么
Gadgets(仓库名 gadget)是作者在日常开发中积累的一组实用工具集合,覆盖五个方向:AI 对话日报生成、论文发现、性能基准测试、博客自动化、文档翻译。tools/ 下每个目录是一个可独立使用的工具,公共能力集中在仓库根目录的 common/ 包中(通过 pip install -e . 安装),提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等通用功能。许可证为 GPL-3。
仓库结构
| 路径 | 作用 |
|---|---|
tools/summarize/ |
AI 对话日报 / 周报 / 月报 |
tools/research/ |
论文发现 + 研究者分析 + 引用图谱 |
tools/benchmark/ |
CPU/GPU 性能基准测试 |
tools/website/ |
Hugo 博客(增量媒体压缩 + 自动构建发布) |
tools/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/ 和各工具的打包配置 |
另有一个同级独立仓库 ../ai-companion/,提供 DAG 发布工具和开发工作流 / skills,本仓库不依赖它的拦截钩子。
每个工具做什么
- Summarize:读取 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON 的对话记录,调用 LLM 生成结构化日报、周报、月报。多设备两阶段架构:各设备先导出,再通过网盘同步或手动拷贝汇总合并。借助 ccusage 20.x 自动统计各 agent CLI 的 token 用量和费用。
- Research:单一入口
tools/research/research_scout.py,四大能力:论文发现(arXiv / bioRxiv / PubMed,三阶段 LLM 流水线,生成周报并部署到 Hugo)、深度论文洞察(--insight,下载全文分析写作结构,自动匹配 OpenReview 评审)、研究者画像(ArXiv + Semantic Scholar,研究轨迹、tier 分数、师生关系发现)、引用图谱分析。 - Benchmark:跨平台 CPU/GPU FLOPS 测试,支持 NVIDIA CUDA、Apple MPS、Intel XPU,精度覆盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)。预热 + 正式测量 + 统计分析(中位数、IQR 剔除离群值)。结果以追加模式写入 CSV,可生成 Plotly 交互式 HTML 报告和排行榜,支持部署到 Hugo 和提交公共排行榜。
- Website:Hugo 静态博客 “TzJ’s Net”(PaperMod 主题),部署到 GitHub Pages。内置增量图片/视频压缩(pngquant、HandBrakeCLI,只压缩
.last_build之后变动的媒体)和本地模型双语翻译。其他工具的自动生成内容直接写入tools/website/content|static,带gadget_generated标记,手写文件不会被覆盖。tools/website/public/是独立部署仓库,由构建脚本自动提交推送,不要手动提交。 - Translator:基于
common翻译引擎的 Gradio 本地翻译网页,支持文本和.md/.txt/.pdf/.docx/ 图片文件,保留 Markdown 格式(代码块、URL、Hugo shortcode 受保护)。纯本地推理,自动选择后端(ollama / transformers / vllm / llamacpp),模型常驻内存。默认模型tencent/Hy-MT2-1.8B。源语言可设auto(按 CJK 比例检测),目标为auto时在中英间翻转。
scripts/ 中的脚本
sync.py:基于 rclone 的集中数据同步(push / pull / status / bootstrap / config),覆盖 summarize / website / research / benchmark / backups 类别,另有dag类别用于生成并部署 DAG 站点。onboard.py:新机器一次性配置,填好tokens/onboard.yaml后运行一次,自动完成 SSH、Claude/Codex CLI 安装认证、pip extras、各工具配置、rclone bootstrap。smoke.sh:只读冒烟测试(--help/--info/ import),不调用 LLM、不联网、不写文件。serve_local_llm.sh:创建 summarize 专用的 Ollama 变体并输出环境变量。language.py:Hugo 双语审计 + summarize 报告重命名。profile_translation.py:翻译引擎 GPU 性能分析。
二、使用教程
1. 环境准备
基础要求
- Python 3.10 及以上。README 推荐使用名为
AI的 conda 环境。 - Node.js 18 及以上,仅在使用可选的 Companion 图谱和 DAG 发布工具时需要。
- 各工具的具体依赖见对应目录下的
requirements.txt。
按需准备的外部工具
- Ollama:LLM 默认后端和翻译默认后端都是本地 Ollama,默认使用
gemma4:26b聊天模型。如不想装 Ollama,可用claude_cli后端(复用 Claude Code CLI 登录态,无需 API key),或anthropic/openai后端(需要 API key)。 - Hugo、pngquant、HandBrakeCLI:Website 工具的构建和媒体压缩需要。
- rclone:跨设备数据同步需要。
- ccusage 20.x:Summarize 统计 token 用量需要。
- GPU 驱动:Benchmark 会自动检测 CUDA / Apple MPS / Intel XPU。
激活环境:
conda activate AI
2. 安装
在仓库根目录执行。all 包含 common 包以及 summarize / research / benchmark / website 的额外依赖,但不包含 translator,translator 需要单独安装。
# common 包 + summarize / research / benchmark / website
pip install -e ".[all]"
# 翻译器(gradio + GGUF 翻译栈),需单独安装
pip install -e ".[translator]"
# 仅 website(含翻译用的 torch + transformers)
pip install -e ".[website]"
安装会在仓库根目录生成 build/ 和 gadget.egg-info/,它们已被 gitignore,不要提交。
安装后可做一次只读冒烟测试,确认各工具可导入、--help 可用:
bash scripts/smoke.sh
3. 配置
主配置文件
工具设置放在仓库根目录的 config.json(已 gitignore),从示例复制:
cp config.example.json config.json
可用环境变量 GADGET_CONFIG 覆盖配置文件路径。sync.py 读取其中的 sync 段,serve_local_llm.sh 的持久化参数放在 summarize 段。
密钥目录
tokens/ 目录存放 API key 和新机器配置表 tokens/onboard.yaml,已 gitignore,切勿提交其中内容。
LLM 后端选择
所有 LLM 功能通过 --api 参数统一切换,可选值:ollama(默认)、claude_cli、anthropic、openai。也可通过环境变量 GADGET_LLM_BACKEND 全局设置。
翻译后端选择
通过 GADGET_TRANSLATION_BACKEND 设置:ollama(默认,复用本地 gemma4:26b)、llamacpp、vllm、transformers(后三者为进程内推理,使用 tencent/Hy-MT2-1.8B,首次运行自动下载)。翻译模型可用 GADGET_TRANSLATION_MODEL 覆盖。
本地 Ollama 变体(可选,针对 Summarize)
eval "$(bash scripts/serve_local_llm.sh env)"
新机器一次性配置(可选)
填好 tokens/onboard.yaml 后运行一次:
python scripts/onboard.py
服务器系统级安装脚本已迁移到 ai-companion 仓库,用法见:
bash ../ai-companion/scripts/onboard-server.sh --help
4. Summarize:AI 对话日报 / 周报 / 月报
工作流分两阶段。阶段一在每台设备上导出对话记录,阶段二在汇总设备上同步并逐日合并生成日报。日报积累足够后可生成周报和月报,加 --deploy 则同时部署到 Hugo 博客。
# 阶段 1:导出所有尚未导出的日期(在每台设备上执行)
python -m summarize daily export
# 阶段 2:同步所有日期并逐日合并生成日报
python -m summarize daily merge --sync-all
# 生成 2026 年第 12 周周报并部署
python -m summarize weekly generate --week 2026-W12 --deploy
# 生成 2026 年 2 月月报并部署
python -m summarize monthly generate --month 2026-02 --deploy
# 一键全流程:导出 → 合并 → 周报 → 月报 + 部署
python -m summarize auto --deploy
切换 LLM 后端示例(--api 为统一参数):
python -m summarize auto --deploy --api claude_cli
旧入口 python tools/summarize/daily_summary.py ...、weekly_summary.py、monthly_summary.py 仍可用,但推荐使用上面的 python -m summarize 形式。
多设备之间的数据同步使用 rclone:
python scripts/sync.py push
python scripts/sync.py pull
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 最近的机器人操作论文"
# 研究者画像(论文、引用、研究轨迹、tier 分数、师生关系)
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
深度论文洞察通过 --insight 开启,会下载论文全文、分析写作结构与发表策略、匹配 OpenReview 评审意见并综合成跨论文写作指南。README 只给出了该参数名,未给出完整示例命令,具体搭配请参考 tools/research/TUTORIAL.md。
所有 LLM 功能同样支持 --api 切换后端:
python tools/research/research_scout.py profile "Sergey Levine" --api anthropic
6. Benchmark:性能基准测试
所有命令必须先进入 tools/benchmark/ 目录。结果以追加模式写入 CSV,多次运行、多台硬件的结果会自然累积成排行榜。
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
GPU 类型自动检测 CUDA / MPS / XPU,无需手动指定。--info 可用于检测硬件信息,OpenCL 设备只会出现在检测结果中,不会实际运行测试。
7. Website:Hugo 博客
先安装 website 依赖:
pip install -e ".[website]"
本地预览(开发服务器,包含草稿):
cd tools/website && hugo server -D
一键增量压缩媒体、翻译、Hugo 构建并推送到 GitHub Pages:
# macOS / Linux
cd tools/website && bash update.sh
# Windows(脚本会自行切换到所在目录)
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
注意事项:
- 只压缩
.last_build之后变动的图片(pngquant)和视频(HandBrakeCLI)。 - 翻译在本地完成,默认 Ollama,Linux 回退 vLLM,Windows 回退 transformers,模型
tencent/Hy-MT2-1.8B首次运行自动下载。 - 其他工具的
--deploy会把生成内容写入tools/website/content|static并打上gadget_generated标记,没有标记的手写文件不会被覆盖。 tools/website/public/是独立的部署仓库,由脚本自动提交推送,不要手动 commit,也不要git add其下的部署仓库和主题仓库。
8. Translator:Gradio 文档翻译器
安装并启动,启动后会自动在浏览器中打开界面:
pip install -e ".[translator]"
python -m translator
使用要点:
- 支持直接输入文本或上传
.md/.txt/.pdf/.docx/ 图片文件,翻译时保留 Markdown 格式。 - 源语言可选
auto,按文本中 CJK 字符比例自动判断;目标语言为auto时在中英之间自动翻转。 - 后端自动选择:已拉取模型 tag 时优先
ollama,Windows 回退transformers,Linux 优先vllm,低显存可选llamacpp(GGUF)。 - 默认模型
tencent/Hy-MT2-1.8B(GGUF 版为tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载。可通过环境变量GADGET_TRANSLATION_MODEL或界面内的模型管理更换,切换模型时按需懒加载。
9. 数据同步与输出目录
同步
scripts/sync.py 支持 push / pull / status / bootstrap / config 操作,覆盖 summarize / website / research / benchmark / backups 类别,需先配置 rclone。README 给出的命令形式:
python scripts/sync.py
python scripts/sync.py push
python scripts/sync.py pull
python scripts/sync.py --category dag # 生成并部署 DAG 站点,依赖 ../ai-companion/
输出目录
所有生成文件统一位于 outputs/,已 gitignore,可自动重建:
| 子目录 | 内容 |
|---|---|
logs/ |
导出日志、运行日志等中间产物 |
reports/ |
最终报告(Markdown、JSON、HTML) |
cache/ |
LLM 缓存、搜索缓存 |
data/ |
结构化数据(CSV、JSON 画像) |
images/ |
图表和生成的图片 |
backups/ |
强制覆盖前的备份 |
Hugo 站点内容直接写入 tools/website/content|static,没有单独的 outputs/site 暂存目录。
10. 注意事项汇总
- 不要提交
tokens/、outputs/、build/、gadget.egg-info/、rclone 同步数据,以及tools/website/下的部署仓库和主题仓库。 config.json已 gitignore,新机器需从config.example.json复制。- 修改工具逻辑去
tools/<tool>/,修改共享能力去common/,修改同步去scripts/sync.py,开发工作流和 skills 在 ai-companion 仓库。 - 更详细的步骤、数据格式和 FAQ 见仓库内的
TUTORIAL.md以及各工具目录下的文档。
haiku-5.5 — 21,088 字符 · 事实点 0/16
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
mythos-5 — 149 字符 · 事实点 0/16
There’s an issue with the selected model (claude-mythos-5). It may not exist or you may not have access to it. Run –model to pick a different model.
mythos-5.1 — 151 字符 · 事实点 0/16
There’s an issue with the selected model (claude-mythos-5-1). It may not exist or you may not have access to it. Run –model to pick a different model.
Cursor
Grok 4.7 High — 13,143 字符 · 事实点 16/16
这是一份只依据你贴出的 README 整理的中文说明,没有补充 README 里没写过的命令或参数。
一、项目总结
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 / 缓存 / IO / 翻译 / Hugo),所有工具都依赖它
├── scripts/ # 运维与维护脚本
├── docs/ # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档(docs/archive/)
├── outputs/ # 全部生成物(已 gitignore,可自动重建)
├── AGENTS.md # 所有 AI agent 的工作流协议(动手前先读)
├── CLAUDE.md # Claude Code 的仓库指南
└── pyproject.toml # common/ 与各工具的打包配置(pip install -e .)
build/ 和 gadget.egg-info/ 由 pip install -e . 生成,已 gitignore,始终在仓库根目录。同步数据用 python scripts/sync.py。
| 你想改什么 | 去哪里 |
|---|---|
| 某个工具的逻辑 | tools/<tool>/ |
| 共享能力(LLM / 缓存 / 翻译 / Hugo 部署) | common/ |
| 数据同步 | scripts/sync.py |
| 新机器一次性配置 | scripts/onboard.py |
| 开发工作流 / skill | ai-companion(兄弟目录 ../ai-companion/) |
| 计划 / 设计文档 | docs/ecl/、docs/ |
各工具做什么
| 目录 | 作用 | 关键技术 |
|---|---|---|
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/ |
基于 common 翻译引擎的 Gradio 文档翻译 | Gradio、GGUF/transformers |
common/ |
共享基础设施 | pip install -e . |
scripts/ |
运维脚本(rclone 同步、机器配置等) | rclone、Python |
../ai-companion/ |
AI 代码变更追踪 + 规划/执行 skill 流水线 + 全部 skills | Node.js、TypeScript |
Summarize:读取每天的 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化日、周、月摘要。多设备流程是:各设备导出对话日志,经网盘同步或手动拷贝汇总,再生成最终日报;日报攒够后可继续生成周报和月度趋势。通过 ccusage 20.x 的按来源命令(ccusage claude、ccusage codex、ccusage gemini…)自动发现并统计各 agent CLI 的 token 用量和费用。四个 AI 摘要后端用 --api 统一切换:ollama(默认,本地 Ollama,无需密钥,Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录态,无需 API key)、anthropic、openai。
Research:单一入口 tools/research/research_scout.py,四项能力:
- 论文发现:从 arXiv / bioRxiv / PubMed 搜索,三阶段 LLM 流水线(快速筛选 → 深度评估 → 引用影响),生成研究周报并部署到 Hugo。支持会议论文搜索和作者搜索。
- 深度论文洞察(
--insight):下载全文,分析写作结构、发表策略和可复用核心知识;自动匹配 OpenReview 获取审稿意见并分析共识与分歧;综合成跨论文的研究写作指南。 - 研究者画像:从 ArXiv + Semantic Scholar 取论文和引用数据,生成研究轨迹分析、计算层级分数,通过主页抽取 + 合作署名模式自动发现导师–学生关系。支持同名消歧和反向查找。
- 引用图:基于 Semantic Scholar API 做前向引用 / 后向参考文献分析,并配 LLM 的影响力解读。
LLM 同样用 --api 切换:ollama(默认)、claude_cli、anthropic、openai。
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 网站、提交到公开排行榜。所有命令都要先 cd tools/benchmark。
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)。自动生成的内容(日/周/月报、研究报告、基准页、图片)由部署流水线直接写入 tools/website/content|static(唯一的 Hugo 内容根;带 gadget_generated 标记的文件会被写入,没有该标记的手写文件不会被覆盖),然后翻译、压缩、构建、推送。tools/website/public/ 是另一个部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动 commit + push,不要直接往里面提交。
Translator:基于 common 翻译引擎的 Gradio 页面,风格类似 Google 翻译。翻译文本和文件(.md / .txt / .pdf / .docx / 图片),并保留 Markdown 格式(代码块、URL、Hugo shortcode 等片段受保护)。本地推理,不是云 API。通过 common.engine.create_engine() 自动选后端:模型 tag 已拉取时优先 ollama;Windows 回退 transformers,Linux 优先 vllm,低显存可选 llamacpp(GGUF)。模型常驻内存(warm),切换模型时按需懒加载。默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载,可用 GADGET_TRANSLATION_MODEL 或界面里的模型管理覆盖。源语言可设为 auto(按文本 CJK 比例检测);目标为 auto 时在中英之间对翻。
common/:所有工具依赖的共享层。
- 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/ imports;不调用 LLM、不联网、不写文件)。serve_local_llm.sh:创建面向 summarize 调过的 Ollama 变体并打印环境变量。持久开关写在仓库根config.json的summarize段(路径可用GADGET_CONFIG覆盖)。- 其他:
language.py(Hugo 双语审计 + summarize 报告重命名)、profile_translation.py(翻译引擎 GPU 分析)。
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 整理。领域 skills:summarize 代码概览、slurm-gpu 集群检测、nature-benchmark / NIPS-2025-paper 论文写作顾问。本仓库不再有 skills/ 目录。安装见 ../ai-companion/scripts/install.ts。
新服务器接入有两条互补路径:本仓库用 scripts/onboard.py;Ubuntu 22.04/24.04 的系统级一键安装(SSH 公钥、Claude Code、Codex、Superpowers、Ponytail、AI Companion)已迁到 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。
输出目录 outputs/(已 gitignore,可自动重建):
outputs/
├── logs/ # 中间产物(导出日志、运行日志)
├── reports/ # 最终报告(Markdown、JSON、HTML)
├── cache/ # LLM 缓存、搜索缓存
├── data/ # 结构化数据(CSV、JSON 画像)
├── images/ # 图表和生成图片
└── backups/ # 强制覆盖备份(website-force 等)
Hugo 站点内容直接写入 tools/website/content|static,没有单独的 outputs/site 暂存树。
二、第一次使用教程
更细的逐步操作、配置、数据格式和 FAQ 在 TUTORIAL.md 和各工具自己的文档里。下面只写 README 里出现过的步骤和命令。
1. 环境准备
- Python 3.10+。推荐 conda 环境
AI:conda activate AI - Node.js 18+。只有独立仓库
../ai-companion/需要它 - 各工具的具体依赖见对应目录里的
requirements.txt - 网站 / 翻译功能默认用本地推理:Ollama,翻译时复用同一个聊天模型
gemma4:26b;Linux 上回退 vLLM,Windows 上回退 transformers,这两条路径使用tencent/Hy-MT2-1.8B,首次运行自动下载
2. 安装
安装 common 包,以及 summarize / research / benchmark / website 的 extras。all 不包含 translator,翻译器要单独装:
pip install -e ".[all]"
pip install -e ".[translator]"
如果只装网站(含翻译用的 torch + transformers):
pip install -e ".[website]"
如果只装翻译器(gradio + GGUF 翻译栈):
pip install -e ".[translator]"
pip install -e . 会在仓库根目录生成 build/ 和 gadget.egg-info/,这两项已 gitignore。
3. 配置
工具设置在仓库根目录的 config.json(已 gitignore)。从示例复制一份:
# README 写的是:copy from config.example.json
也就是把 config.example.json 复制为仓库根目录的 config.json。换配置文件路径用环境变量 GADGET_CONFIG。
和配置相关的环境变量(README 里写到的):
| 变量 | 作用 |
|---|---|
GADGET_CONFIG |
覆盖 config.json 的路径 |
GADGET_LLM_BACKEND |
全局切换 LLM 后端 |
GADGET_TRANSLATION_BACKEND |
选择翻译后端 |
GADGET_TRANSLATION_MODEL |
覆盖翻译模型 |
LLM 后端用 --api 统一切换:ollama(默认)、claude_cli、anthropic、openai。也可以用 GADGET_LLM_BACKEND 做全局设置。
翻译路径由 GADGET_TRANSLATION_BACKEND 选择:ollama(默认,本地 Ollama,复用已服务的聊天 tag gemma4:26b)→ llamacpp / vllm / transformers(进程内,模型 tencent/Hy-MT2-1.8B)。
tokens/ 存放 API key 和接入表,已 gitignore,不要提交里面的内容。
一次性机器接入:先填写 tokens/onboard.yaml,再运行 scripts/onboard.py(README 给出的是脚本名和这一流程,没有写出完整命令行参数)。它会配置 SSH、Claude/Codex 认证、pip extras、各工具配置和 rclone bootstrap。
Ubuntu 22.04/24.04 服务器的系统级安装在兄弟仓库里。先看帮助:
bash ../ai-companion/scripts/onboard-server.sh --help
仓库拆分之后,--companion-repo 直接传 git@github.com:TzJ2006/ai-companion.git,不再需要 --companion-ref。ai-companion 本身的安装说明在 ../ai-companion/scripts/install.ts。
跨设备数据同步需要已配置好的 rclone:
python scripts/sync.py
python scripts/sync.py push
python scripts/sync.py pull
README 还列出同一脚本的子能力:status、bootstrap、config。配置在 config.json 的 sync 段。覆盖的类别是 summarize / website / research / benchmark / backups,另有特殊类别 dag(生成并部署 DAG 站点)。
只读冒烟检查(不调用 LLM、不联网、不写文件):
bash scripts/smoke.sh
为 summarize 准备本地 Ollama 变体,并把它打印的环境变量 eval 进当前 shell:
eval "$(bash scripts/serve_local_llm.sh env)"
持久开关写在 config.json 的 summarize 段。
4. Summarize:日 / 周 / 月报
推荐入口是 python -m summarize。旧入口 python tools/summarize/daily_summary.py ...、weekly_summary.py、monthly_summary.py 仍可用(向后兼容的 re-export),但推荐新形式。
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
多设备用法(README 描述的流程):在每台设备上导出对话日志,用网盘同步或手动拷贝汇总,再生成最终日报;日报足够之后再生成周报和月度趋势。token 用量通过 ccusage 20.x 的按来源命令统计,例如 ccusage claude、ccusage codex、ccusage gemini。
后端切换示例(--api 的四个取值 README 有写,下面把默认和另外三种按文档拼到已有子命令上):
python -m summarize daily export --api ollama
python -m summarize daily export --api claude_cli
python -m summarize daily export --api anthropic
python -m summarize daily export --api openai
逐步说明见 TUTORIAL.md 的 Summarize 一节,以及 tools/summarize/tutorial.md。
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 # 引用图(arXiv ID 或 DOI)
python tools/research/research_scout.py deploy # 把报告部署到 Hugo
深度洞察用 --insight(README 说明了这个开关的作用:下载全文、分析写作与发表策略、匹配 OpenReview、综合写作指南)。LLM 后端同样是 --api:ollama、claude_cli、anthropic、openai。
逐步说明见 TUTORIAL.md 的 Research 一节,以及 tools/research/TUTORIAL.md。
6. Benchmark:性能基准
README 注明:下面所有命令都要先进入 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/
GPU 会自动检测 CUDA / Apple MPS / Intel XPU。OpenCL 只可能出现在 --info 检测输出里(README 提到了这一点,没有给出单独的 --info 命令行示例)。精度档:FP64 / FP32 / FP16 / BF16 / FP8(实验性)。结果追加进 CSV,不覆盖历史记录。
逐步说明见 TUTORIAL.md 的 Benchmark 一节,以及 tools/benchmark/tutorial.md。
7. 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 # 本地预览(开发服务器,包含草稿)
站点地址是 https://tzj2006.github.io/。自动内容写入 tools/website/content 和 tools/website/static。带 gadget_generated 标记的是生成文件;没有该标记的手写文件不会被覆盖。tools/website/public/ 是独立部署仓库 tzj2006/tzj2006.github.io,由构建脚本提交并推送,不要直接在里面 git commit。
逐步说明见 TUTORIAL.md 的 Website 一节,以及 tools/website/CLAUDE.md。
8. Translator:文档翻译网页
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
python -m translator # 启动 Gradio 界面(在浏览器中打开)
可翻译文本和文件:.md、.txt、.pdf、.docx、图片。源语言设为 auto 时按 CJK 比例检测;目标设为 auto 时在中英之间对翻。默认模型 tencent/Hy-MT2-1.8B,GGUF 变体是 tencent/Hy-MT2-1.8B-GGUF,首次使用自动下载。换模型用环境变量 GADGET_TRANSLATION_MODEL,或在界面里做模型管理。
后端由 common.engine.create_engine() 自动选择:模型 tag 已拉取时优先 ollama;Windows 回退 transformers;Linux 优先 vllm;低显存用 llamacpp。也可以用 GADGET_TRANSLATION_BACKEND 指定:ollama、llamacpp、vllm、transformers。
界面接线在 tools/translator/app.py,翻译和文件逻辑在 tools/translator/core.py,共享引擎在 common/engine.py 和 common/translation.py。逐步说明见 TUTORIAL.md 的 Translator 一节。
9. 输出在哪里、不要提交什么
生成物都在 outputs/:logs/、reports/、cache/、data/、images/、backups/。这个目录已 gitignore。
不要 git add 这些东西:
- 自动生成的内容
- rclone 同步来的数据
- 构建产物
build/、gadget.egg-info/ tools/website/下的部署仓库和主题仓库tokens/里的密钥和接入表
许可证是 GPL-3,见 LICENSE。
Grok 4.6 High — 11,015 字符 · 事实点 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 以及各工具自己的源码文档,本教程没有使用那些文件里的额外命令。
Composer 2.5 — 10,088 字符 · 事实点 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 再写一版更细的教程。
Gemini 3.7 Flash — 7,229 字符 · 事实点 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/:备份文件
gpt-5.3-codex-high — 4,293 字符 · 事实点 16/16
1) 项目总结(基于 README)
gadget 是一个“开发日常工具集合”,目标是把几类高频工作做成可独立使用的工具:
- AI 对话日报/周报/月报
- 论文发现与研究者分析
- CPU/GPU 性能基准测试
- Hugo 博客自动化
- 文档翻译
它的核心组织方式是:tools/ 下每个目录都是一个独立产品,共用能力集中在仓库根目录的 common/ 包里。
仓库结构(README 给出的主干)
tools/:5 个独立工具目录(summarize/research/benchmark/website/translator)common/:共享基础设施(LLM 调用、JSON 解析/修复、磁盘缓存、原子写入、翻译引擎、Hugo 部署)scripts/:运维与维护脚本(同步、onboard、smoke、语言审计等)docs/:设计文档、ECL、审计与历史归档outputs/:所有生成产物(已 gitignore,可重建)pyproject.toml:打包与pip install -e ./extras 配置../ai-companion/(兄弟仓库,非本仓库内):可选的 DAG 发布与技能流水线能力
每个工具做什么
tools/summarize/:读取 Claude/Codex/Cursor/ChatGPT 等对话记录,生成结构化日报/周报/月报;支持--api切换ollama/claude_cli/anthropic/openai。tools/research/:论文检索与评估、深度洞察、研究者画像、引文图谱分析,统一入口是tools/research/research_scout.py。tools/benchmark/:跨平台 CPU/GPU FLOPS 基准测试,支持多精度、统计分析、CSV 追加累积、Plotly HTML 报告与榜单。tools/website/:Hugo 博客自动化(增量媒体压缩 + 构建发布),部署到 GitHub Pages;tools/website/public/是独立部署仓库。tools/translator/:Gradio 本地文档翻译网页,支持文本/文件并尽量保留 Markdown 结构,后端自动选ollama/vllm/transformers/llamacpp。
2) 首次上手详细中文教程(仅依据 README)
A. 环境准备
- Python
3.10+ - 推荐 conda 环境:
AI - Node.js
18+(仅用于可选 Companion 图/DAG 工具) - 需要本地推理相关环境(README 指出网站/翻译会用本地引擎,默认 Ollama)
可直接执行:
conda activate AI
B. 安装
全量安装(除 translator 外)
pip install -e ".[all]"
单独补装 translator
pip install -e ".[translator]"
如果只做网站功能(README 给出的网站安装命令)
pip install -e ".[website]"
C. 配置(首次必看)
- 工具配置位于仓库根目录
config.json(README 说明:从config.example.json复制) - 可用环境变量
GADGET_CONFIG覆盖配置文件路径 - LLM 后端统一切换:
- 命令参数:
--api - 全局环境变量:
GADGET_LLM_BACKEND - 可选值:
ollama/claude_cli/anthropic/openai
- 命令参数:
- 翻译后端由
GADGET_TRANSLATION_BACKEND控制(默认ollama,其后可走llamacpp/vllm/transformers) - 翻译模型可用
GADGET_TRANSLATION_MODEL覆盖 - 密钥与 onboarding 表单在
tokens/(gitignored,不应提交)
D. 每个工具的典型用法(可直接复制)
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
python -m summarize auto --deploy
说明(README 原意):
- 前两条对应两阶段流程:先导出,再同步合并
- 后两条生成周报/月报并部署
auto是一键全流程- 旧入口(
tools/summarize/*.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
python tools/research/research_scout.py deploy
说明:
report:完整流水线(搜索→三阶段评估→报告)ask:自然语言检索profile:研究者画像citations:引文图谱deploy:发布到 Hugo
3) Benchmark(性能基准测试)
README 特别注明:先进入
tools/benchmark
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
说明:
- 默认跑全量并追加写入 CSV
- 可只测 CPU 或 GPU
--report生成 HTML 报告--deploy发布到 Hugo 的/benchmark/
4) Website(Hugo 博客自动化)
pip install -e ".[website]"
cd tools/website && bash update.sh
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
cd tools/website && hugo server -D
说明:
update.sh:macOS/Linux 增量压缩 + 构建 + 推送update.ps1:Windows 脚本(会切到脚本目录)hugo server -D:本地预览(含草稿)
5) Translator(Gradio 文档翻译)
pip install -e ".[translator]"
python -m translator
说明:
- 启动本地 Gradio 界面
- 首次使用会按 README 说明自动下载默认模型(若尚未存在)
E. 常用运维脚本(README 明确列出的)
python scripts/sync.py
python scripts/onboard.py
bash scripts/smoke.sh
eval "$(bash scripts/serve_local_llm.sh env)"
另外 README 在 Notes 里给出:
- 跨设备同步:
python scripts/sync.py push/pull - 同步依赖 rclone 配置
F. 产物位置与注意事项
- 统一产出在
outputs/(logs/reports/cache/data/images/backups) - Hugo 内容直接写入
tools/website/content|static(没有outputs/site) - 不要提交自动生成内容、rclone 同步数据、
build/、gadget.egg-info/、tools/website/下部署/主题仓库内容 - 许可证:GPL-3
如果你愿意,我可以下一步按“第一次使用的最小闭环”再给你整理一版:比如先跑 smoke 验证环境,再跑 summarize auto 或 translator 做首个可见结果。
gpt-5.2-high — 7,699 字符 · 事实点 15/16
1) 项目中文总结(只基于 README)
Gadget 是什么
- 定位:一个“工具集”仓库,收录了日常开发中积累的实用工具,覆盖 AI 日报/周报/月报生成、论文发现与研究分析、性能基准测试、Hugo 博客自动化、文档翻译。
- 组织方式:
tools/下每个子目录都是一个可独立使用的工具产品;仓库根目录的common/是所有工具共享的基础设施包(通过pip install -e .安装)。
仓库结构(README 给出的主结构)
tools/:五个独立工具tools/summarize/:AI 对话日报/周报/月报tools/research/:论文发现 + 研究者画像 + 引文图tools/benchmark/:CPU/GPU 性能基准测试tools/website/:Hugo 博客(增量媒体压缩 + 自动构建发布)tools/translator/:Gradio 文档翻译器
common/:共享能力(LLM 调用、缓存、IO、翻译引擎、Hugo 部署等)scripts/:运维/维护脚本(如sync.py、onboard.py等)docs/:设计文档、ECL 计划、审计与历史归档outputs/:所有生成物(gitignored,可重建)AGENTS.md/CLAUDE.md:AI/Claude 工作流与仓库指南pyproject.toml:打包与安装配置(pip install -e ./ extras)
每个工具分别做什么(README 概览级别)
- Summarize(
tools/summarize/):读取多来源 AI 对话记录(Claude Code/Codex/Cursor Agent/ChatGPT/通用 JSON),调用 LLM 生成结构化 日报/周报/月报;支持多设备两阶段流程(导出→合并→生成周报/月报),并通过ccusage20.x 汇总各 CLI 的 token/cost;LLM 后端通过--api统一切换(ollama/claude_cli/anthropic/openai)。 - Research(
tools/research/):通过单一入口tools/research/research_scout.py提供四类能力:论文检索与报告、全文深度洞察(--insight)、研究者画像与关系挖掘、引文图分析(Semantic Scholar API + LLM 解读);同样支持--api切换后端。 - Benchmark(
tools/benchmark/):跨平台 CPU/GPU FLOPS 基准测试(NVIDIA CUDA / Apple MPS / Intel XPU),多精度(FP64/FP32/FP16/BF16/FP8 实验性),带 warmup/统计分析;结果追加写入 CSV,并可生成 Plotly HTML 报告/榜单、可部署到 Hugo。 - Website(
tools/website/):Hugo 静态博客站点(PaperMod 主题),带增量图片/视频压缩(基于.last_build,pngquant + HandBrakeCLI),以及本地模型双语翻译;自动将各工具生成内容写入tools/website/content|static并完成翻译/压缩/构建/推送。tools/website/public/是单独的部署仓库,由脚本自动 commit+push,不要手动提交。 - Translator(
tools/translator/):基于common翻译引擎的 Gradio Web 翻译器,支持文本与文件(.md/.txt/.pdf/.docx/图片),尽量保留 Markdown 结构(代码块/URL/Hugo shortcodes 等会保护);本地推理(优先ollama,Windows 回退transformers,Linux 偏好vllm,低显存可llamacpp),默认模型tencent/Hy-MT2-1.8B(也提到 GGUF 变体),可用GADGET_TRANSLATION_MODEL覆盖。
2) 详细中文使用教程(面向第一次接触;只用 README 出现的命令/参数)
环境准备
- Python:需要 Python 3.10+
- README 推荐 conda 环境
AI,并给出:
- README 推荐 conda 环境
conda activate AI
-
Node.js(可选):需要 Node.js 18+,仅用于可选的 Companion 图与 DAG 发布工具(
../ai-companion/相关)。 -
工具依赖提示:每个工具的特定依赖可参考对应目录里的
requirements.txt(README 说明了“去看”,但没有给出安装命令;这里不补充新命令)。
安装(按 README 给出的方式)
安装共享包 common/(以及各工具 extras)
- 在仓库根目录执行(README 明确提到
pip install -e .安装common/,并推荐装 extras):
pip install -e ".[all]"
- 注意:README 说明
all不包含translator,翻译器要单独装:
pip install -e ".[translator]"
只安装 Website 所需依赖(包含翻译相关依赖)
- 如果你主要跑站点/翻译链路,README 给出:
pip install -e ".[website]"
配置(README 提到的配置位置与环境变量)
- 配置文件:工具设置在仓库根目录的
config.json(gitignored)。README 指出它从config.example.json复制而来(不在此提供复制命令,避免新增 README 未给出的命令)。 - 配置路径覆盖:用环境变量
GADGET_CONFIG指向自定义配置路径。
LLM 后端选择(全局/参数两种)
- CLI 参数:多个工具支持用
--api切换后端(ollama默认、claude_cli、anthropic、openai)。 - 全局环境变量:
GADGET_LLM_BACKEND。
翻译引擎选择(Translator/Website 翻译链路)
- 环境变量
GADGET_TRANSLATION_BACKEND:ollama(默认)→llamacpp/vllm/transformers - 环境变量
GADGET_TRANSLATION_MODEL:覆盖默认模型(README 默认是tencent/Hy-MT2-1.8B,并提到 GGUF 变体)
输出目录与产物位置(理解“生成到哪里”)
- 所有生成物默认集中在
outputs/(gitignored,可重建),结构(README 原样):outputs/logs/、outputs/reports/、outputs/cache/、outputs/data/、outputs/images/、outputs/backups/
- Hugo 站点内容:不是写到
outputs/site,而是直接写入tools/website/content|static。
工具一:Summarize(AI 对话日报/周报/月报)
用途:导出并合并多设备的对话记录,调用 LLM 生成日报;积累后生成周报/月报并可部署。
README 推荐的新入口是 python -m summarize,并给出典型命令(可直接复制):
python -m summarize daily export # Phase 1: export all unexported dates
python -m summarize daily merge --sync-all # Phase 2: sync all dates and merge day by day
python -m summarize weekly generate --week 2026-W12 --deploy # Weekly report + deploy
python -m summarize monthly generate --month 2026-02 --deploy # Monthly report + deploy
python -m summarize auto --deploy # One-click full pipeline: export → merge → weekly → monthly + deploy
- README 还说明旧入口仍兼容(但不推荐):
python tools/summarize/daily_summary.py ...python tools/summarize/weekly_summary.py ...python tools/summarize/monthly_summary.py ...
工具二:Research(论文发现 + 研究者分析 + 引文图)
用途:通过 tools/research/research_scout.py 一条 CLI 覆盖报告生成、自然语言检索、研究者画像、引文图分析、部署。
README 给出的典型命令:
python tools/research/research_scout.py report --project my-project # Full pipeline: search → three-stage evaluation → report
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文" # Natural-language search (auto-routes source)
python tools/research/research_scout.py profile "Sergey Levine" # Researcher profile
python tools/research/research_scout.py citations 2301.12597 # Citation graph (by arXiv ID / DOI)
python tools/research/research_scout.py deploy # Deploy reports to Hugo
- README 提到:LLM 后端同样可用
--api在ollama/claude_cli/anthropic/openai间切换(此处不新增示例命令,避免引入 README 未展示的组合写法)。
工具三:Benchmark(CPU/GPU 性能基准测试)
用途:跨平台 FLOPS 基准测试,结果追加写 CSV;可生成 HTML 报告并部署到 Hugo。
README 强调:所有命令需要先 cd tools/benchmark/,并给出:
cd tools/benchmark
python -m benchmark.cli # Run all benchmarks (results appended to CSV)
python -m benchmark.cli --cpu-only # CPU only
python -m benchmark.cli --gpu-only # GPU only
python -m benchmark.cli --report # Run benchmarks + generate HTML report
python -m benchmark.cli --report --deploy # Generate report + publish to Hugo /benchmark/
工具四:Website(Hugo 博客:压缩 + 构建 + 发布)
用途:增量媒体压缩、翻译、Hugo 构建并推送到 GitHub Pages。注意 tools/website/public/ 是独立部署仓库,README 明确“不要直接 commit”。
安装依赖(README 给出)
pip install -e ".[website]"
构建与发布
- macOS/Linux:
cd tools/website && bash update.sh
- Windows(README 给出 PowerShell 命令):
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
本地预览(包含 drafts)
cd tools/website && hugo server -D
工具五:Translator(Gradio 文档翻译器)
用途:启动本地 Gradio Web UI,翻译文本/文件(.md/.txt/.pdf/.docx/图片),尽量保持 Markdown 结构;本地推理,不走云端 API。
安装与启动(README 给出)
pip install -e ".[translator]" # Install dependencies (gradio + GGUF translation stack)
python -m translator # Launch Gradio GUI (opens in browser)
common/、scripts/、../ai-companion/(README 提到的“通用能力与运维入口”)
common/(共享基础设施)
- 作为 Python 包通过
pip install -e ./ extras 安装;提供统一 LLM API、JSON 修复、磁盘缓存、原子写、翻译引擎、Hugo 部署等。
scripts/(运维与维护脚本,README 给出若干入口)
- 数据同步(rclone 同步;README 只给出运行方式与配置位置):
python scripts/sync.py
-
配置在根目录
config.json的syncsection,可用GADGET_CONFIG覆盖路径。 -
新机器一次性初始化(填写
tokens/onboard.yaml后运行一次):
python scripts/onboard.py
- 只读 smoke net(不跑 LLM、不写磁盘、不访问网络):
bash scripts/smoke.sh
- 本地 LLM 辅助脚本(README 给出示例):
eval "$(bash scripts/serve_local_llm.sh env)"
../ai-companion/(可选的兄弟仓库)
- README 说明:提供 DAG 发布工具,供
scripts/sync.py --category dag使用;此外还有“图与规划/执行技能流水线”等,但本仓库没有 Companion 拦截 hooks。
想深入每个工具的“逐步操作/配置/数据格式/FAQ”该看哪里(README 指路)
- 总教程:
TUTORIAL.md - 各工具源内文档:
- Summarize:
tools/summarize/tutorial.md - Research:
tools/research/TUTORIAL.md - Benchmark:
tools/benchmark/tutorial.md - Website:
tools/website/CLAUDE.md - Translator:README 指向
TUTORIAL.md — Translator,并点名源码:tools/translator/app.py、tools/translator/core.py、以及共享实现common/engine.py/common/translation.py
- Summarize:
gpt-5.6-sol-high — 7,638 字符 · 事实点 16/16
一、项目总结
1. Gadget 是什么
Gadget 是一个日常开发工具集合,主要覆盖:
- AI 对话日报、周报和月报生成
- 学术论文发现、论文分析和研究者画像
- CPU/GPU 性能基准测试
- Hugo 博客构建、翻译和自动部署
- 本地文档翻译
tools/ 下的五个工具相互独立,可以单独使用;公共能力集中在根目录的 common/ 包中,包括:
- LLM 调用
- JSON 解析与修复
- 磁盘缓存
- 原子写入和内容哈希
- 本地翻译
- Hugo 部署
项目使用 GPL-3 许可证。
2. 仓库结构
gadget/
├── tools/
│ ├── summarize/ # AI 对话日报、周报、月报
│ ├── research/ # 论文发现、研究者画像、引用网络
│ ├── benchmark/ # CPU/GPU 性能测试
│ ├── website/ # Hugo 博客构建与发布
│ └── translator/ # Gradio 本地文档翻译器
├── common/ # 所有工具共享的基础能力
├── scripts/ # 同步、机器初始化、检查等运维脚本
├── docs/ # 设计文档、计划、审计报告和历史归档
├── outputs/ # 自动生成的输出,已被 Git 忽略
├── AGENTS.md # AI Agent 工作协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # Python 包及可选依赖配置
修改位置:
| 需求 | 目录或文件 |
|---|---|
| 修改某个工具 | tools/<tool>/ |
| 修改 LLM、缓存、翻译、部署等公共能力 | common/ |
| 修改数据同步逻辑 | scripts/sync.py |
| 新机器初始化 | scripts/onboard.py |
| 修改 AI 工作流或技能 | 相邻的 ../ai-companion/ 仓库 |
| 查看设计和计划 | docs/、docs/ecl/ |
3. 五个工具分别做什么
Summarize
读取 Claude Code、Codex、Cursor Agent、ChatGPT 或通用 JSON 格式的对话记录,生成:
- 日报
- 周报
- 月度趋势总结
- Token 和成本统计
它采用多设备两阶段流程:
- 每台设备导出对话。
- 汇总并同步数据,然后生成报告。
支持四种 LLM 后端:
ollama:默认,本地运行,不需要 API Keyclaude_cli:复用 Claude Code 登录状态anthropicopenai
Research
统一的学术研究命令行工具,包含四类能力:
- 从 arXiv、bioRxiv、PubMed 搜索论文
- 下载全文并分析论文结构、投稿策略和 OpenReview 评审意见
- 生成研究者画像、研究轨迹和导师—学生关系
- 分析论文的前向引用和后向参考文献
它同样支持 ollama、claude_cli、anthropic 和 openai 后端。
Benchmark
跨平台 CPU/GPU FLOPS 性能测试工具,支持:
- NVIDIA CUDA
- Apple MPS
- Intel XPU
- FP64、FP32、FP16、BF16 和实验性 FP8
测试采用预热、正式测量、中位数统计和 IQR 异常值剔除。结果以追加方式写入 CSV,不覆盖旧记录,还可以生成 Plotly HTML 报告和排行榜。
OpenCL 可能出现在硬件检测信息中,但 README 没有说明它可用于实际 GPU 测试。
Website
一个使用 PaperMod 主题的 Hugo 博客,包含:
- 增量图片压缩
- 增量视频压缩
- 本地模型双语翻译
- Hugo 构建
- GitHub Pages 自动提交和推送
图片使用 pngquant,视频使用 HandBrakeCLI。部署仓库位于 tools/website/public/,它是独立仓库,不应手动向其中提交文件。
自动生成的文章会带有 gadget_generated 标记;没有该标记的手写文件不会被覆盖。
Translator
基于 Gradio 的本地文档翻译网页,支持:
- 普通文本
- Markdown
- TXT
- DOCX
- 图片
翻译时会保护代码块、URL、Hugo shortcode 等 Markdown 片段。支持 Ollama、transformers、vLLM 和低显存 GGUF/llama.cpp 路径。
源语言设置为 auto 时按 CJK 字符比例检测;目标语言设置为 auto 时会在中英文之间自动切换。
二、第一次使用教程
1. 环境准备
最低要求:
- Python 3.10+
- Node.js 18+:仅在使用可选的 Companion 图谱和 DAG 发布功能时需要
- 网站媒体处理需要 Hugo、pngquant 和 HandBrakeCLI
- 跨设备同步需要 rclone
README 推荐使用名为 AI 的 Conda 环境:
conda activate AI
所有后续命令默认都在 Gadget 仓库根目录执行;Benchmark 部分除外,它要求先进入自己的目录。
2. 安装公共包和主要工具
安装 common 公共包:
pip install -e .
安装 Summarize、Research、Benchmark、Website 及其可选依赖:
pip install -e ".[all]"
all 不包含 Translator。Translator 必须单独安装:
pip install -e ".[translator]"
如果只使用 Website,可以安装 Website 依赖:
pip install -e ".[website]"
各工具还有自己的 requirements.txt,但 README 没有给出相应安装命令,因此这里不推测。
3. 基础配置
根配置文件
工具设置位于仓库根目录的:
config.json
它已被 Git 忽略。应以以下文件为模板复制和修改:
config.example.json
也可以通过环境变量指定其他配置文件:
GADGET_CONFIG
README 没有列出 config.json 的具体字段,因此应参考模板和各工具文档。
LLM 后端
Summarize、Research 和公共 LLM 能力支持:
ollamaclaude_clianthropicopenai
默认是 ollama。可以通过工具的 --api 参数选择后端,也可以用全局环境变量:
GADGET_LLM_BACKEND
README 没有展示 --api 在每条子命令中的准确放置方式,也没有列出 Anthropic/OpenAI API Key 的变量名,因此不应自行猜测;需要查阅 TUTORIAL.md 或工具自己的教程。
翻译配置
翻译模型可以通过以下环境变量覆盖:
GADGET_TRANSLATION_MODEL
翻译后端可以通过以下变量选择:
GADGET_TRANSLATION_BACKEND
README 描述的翻译后端包括:
ollamallamacppvllmtransformers
本地推理模型会在第一次使用时自动下载。README 提到的模型包括:
- Ollama 路径使用本地
gemma4:26b - 进程内翻译使用
tencent/Hy-MT2-1.8B - GGUF 版本为
tencent/Hy-MT2-1.8B-GGUF
密钥安全
API Key 和机器初始化表放在:
tokens/
该目录已被 Git 忽略,绝对不要提交其中的内容。
4. Summarize 使用教程
第一步:导出所有尚未导出的日期
在每台保存 AI 对话记录的设备上执行:
python -m summarize daily export
第二步:同步并逐日合并
python -m summarize daily merge --sync-all
生成指定周的周报并部署
python -m summarize weekly generate --week 2026-W12 --deploy
其中 2026-W12 是 README 给出的 ISO 周格式示例。
生成指定月份的月报并部署
python -m summarize monthly generate --month 2026-02 --deploy
月份格式为 YYYY-MM。
一键运行完整流程
python -m summarize auto --deploy
该命令依次执行:
- 导出
- 合并
- 生成周报
- 生成月报
- 部署
旧的 daily_summary.py、weekly_summary.py 和 monthly_summary.py 入口仍然兼容,但 README 推荐使用 python -m summarize。
5. Research 使用教程
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。README 说明也支持 DOI,但没有提供 DOI 示例。
将研究报告部署到 Hugo
python tools/research/research_scout.py deploy
6. Benchmark 使用教程
所有 Benchmark 命令都要求先进入其目录:
cd tools/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
生成报告并部署到 Hugo
python -m benchmark.cli --report --deploy
部署页面位于 Hugo 网站的 /benchmark/。
7. Website 使用教程
安装网站相关依赖
pip install -e ".[website]"
macOS/Linux:构建并发布
cd tools/website && bash update.sh
该脚本执行增量媒体压缩、Hugo 构建和 Pages 推送。
Windows:构建并发布
在仓库根目录执行:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
脚本会自行切换到网站目录。
启动本地预览
cd tools/website && hugo server -D
-D 会让预览包含草稿。
注意:
- 不要直接提交
tools/website/public/ - 不要手动提交部署仓库或主题仓库
- 自动生成内容会直接写入
tools/website/content或tools/website/static - 手写且没有
gadget_generated标记的文件不会被自动覆盖
8. Translator 使用教程
安装依赖
pip install -e ".[translator]"
启动翻译网页
python -m translator
启动后会在浏览器中打开 Gradio GUI。模型会按需加载并保持在内存中,第一次使用时可能自动下载模型。
可翻译的文件类型包括:
.md
.txt
.pdf
.docx
图片
模型可以通过 GUI 管理,也可以使用 GADGET_TRANSLATION_MODEL 覆盖默认设置。
9. 数据同步与维护
打开同步工具
python scripts/sync.py
同步配置位于根 config.json 的 sync 部分。
跨设备推送数据
python scripts/sync.py push
跨设备拉取数据
python scripts/sync.py pull
这些操作需要事先配置 rclone。
运行只读冒烟检查
bash scripts/smoke.sh
它检查各工具的 --help、--info 和导入情况,不调用 LLM、不访问网络,也不写入文件。
启动或配置本地 Summarize 模型环境
eval "$(bash scripts/serve_local_llm.sh env)"
持久设置放在根 config.json 的 summarize 部分。
查看服务器级初始化脚本帮助
该脚本已经迁移到相邻的 ai-companion 仓库:
bash ../ai-companion/scripts/onboard-server.sh --help
仓库级机器初始化使用 tokens/onboard.yaml 和 scripts/onboard.py,但 README 没给出准确的执行命令,因此应查看 TUTORIAL.md 或脚本帮助后再运行。
10. 输出文件位置
自动生成结果统一放在:
outputs/
├── logs/ # 导出日志、运行日志等中间产物
├── reports/ # Markdown、JSON、HTML 最终报告
├── cache/ # LLM 和搜索缓存
├── data/ # CSV、JSON 画像等结构化数据
├── images/ # 图表和生成图片
└── backups/ # 强制覆盖前的备份
outputs/ 已被 Git 忽略,内容应当可以重新生成。Hugo 内容例外:它直接写入 tools/website/content 和 tools/website/static。
最后,不应执行 git add 的内容包括:
outputs/中的自动生成文件- rclone 同步数据
build/gadget.egg-info/tools/website/下的部署仓库和主题仓库tokens/中的密钥与配置表
grok-4.5-high — 7,678 字符 · 事实点 16/16
1. 项目总结
Gadgets 是一套日常开发沉淀下来的实用工具集,覆盖:AI 对话日报/周报/月报、论文发现与研究者分析、性能基准测试、Hugo 博客自动化、文档翻译。
每个 tools/ 下的目录都是可独立使用的工具;共享能力集中在仓库根目录的 common/ 包(通过 pip install -e . 安装),提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等。可选的 Companion 图与规划能力在本地可用;兄弟仓库 ../ai-companion/ 提供 DAG 发布。编码智能体遵循 AGENTS.md,不受 Companion 拦截。
仓库结构
| 路径 | 作用 |
|---|---|
tools/ |
五个独立工具产品 |
tools/summarize/ |
AI 对话日/周/月报 |
tools/research/ |
论文发现 + 研究者分析 + 引用图 |
tools/benchmark/ |
CPU/GPU 性能基准 |
tools/website/ |
Hugo 博客(增量媒体压缩 + 自动构建发布) |
tools/translator/ |
Gradio 文档翻译器 |
common/ |
共享基础设施(LLM / 缓存 / IO / 翻译 / Hugo) |
scripts/ |
运维脚本(sync.py、onboard.py 等) |
docs/ |
设计文档、ECL 计划、审计报告、历史归档 |
outputs/ |
所有生成物(gitignore,可重建) |
AGENTS.md / CLAUDE.md |
智能体工作流 / Claude Code 指南 |
pyproject.toml |
打包配置(pip install -e .) |
改逻辑看 tools/<tool>/,改共享能力看 common/,改同步看 scripts/sync.py,新机器一次性配置看 scripts/onboard.py,改开发工作流/skill 看兄弟仓库 ../ai-companion/。
各工具做什么
- Summarize:读取 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON 等对话记录,用 LLM 生成结构化日/周/月报;多设备两阶段(各设备导出 → 同步合并);经 ccusage 20.x 统计多源 token 与费用;
--api可切ollama(默认)/claude_cli/anthropic/openai。 - Research:统一 CLI
research_scout.py,含论文发现(arXiv/bioRxiv/PubMed 三阶段 LLM)、深度论文洞察(--insight)、研究者画像、引用图分析;同样支持四种 LLM 后端。 - Benchmark:跨平台 CPU/GPU FLOPS 测试(CUDA / MPS / XPU 等),多精度,结果追加写入 CSV,可出 Plotly HTML 报告并部署到 Hugo。
- Website:Hugo 静态博客(PaperMod,GitHub Pages);增量压缩图片/视频;本地模型双语翻译;各工具 deploy 产物写入
content|static后翻译、压缩、构建、推送。 - Translator:基于
common翻译引擎的 Gradio 本地翻译网页,支持文本与多种文件,默认模型tencent/Hy-MT2-1.8B。
common:LLM、JSON、SHA-256 缓存、原子写、本地翻译引擎、跨平台 Hugo 部署。
scripts:sync.py(rclone 同步)、onboard.py(新机配置)、smoke.sh、serve_local_llm.sh 等。
ai-companion:独立仓库,提供 DAG 发布等可选能力。
2. 新手使用教程(仅依据 README)
2.1 环境准备
- Python 3.10+(推荐 conda 环境
AI:conda activate AI) - Node.js 18+(仅可选 Companion 图与 DAG 发布需要)
- 各工具具体依赖见对应目录的
requirements.txt - 翻译/网站:本地推理(默认 Ollama,聊天模型
gemma4:26b;Linux 可回退 vLLM、Windows 可回退 transformers,使用tencent/Hy-MT2-1.8B,首次自动下载) tokens/放 API key 与 onboarding 表单,已 gitignore,切勿提交- 工具配置在仓库根
config.json(gitignore;从config.example.json复制);可用环境变量GADGET_CONFIG覆盖路径
2.2 安装
在仓库根目录:
# 安装 common + summarize / research / benchmark / website 等 extras
# 注意:all 不包含 translator
pip install -e ".[all]"
# 若要用文档翻译器,需单独安装
pip install -e ".[translator]"
# 仅网站相关依赖(含 torch + transformers 用于翻译)
pip install -e ".[website]"
pip install -e . 会在仓库根生成 build/、gadget.egg-info/(已 gitignore)。
2.3 配置与新机上手
配置文件
- 复制示例配置:从
config.example.json得到根目录config.json - 可选:用
GADGET_CONFIG指定别的配置路径 - LLM 后端全局可用
GADGET_LLM_BACKEND,或命令行--api:ollama(默认)/claude_cli/anthropic/openai - 翻译后端用
GADGET_TRANSLATION_BACKEND:ollama(默认,复用gemma4:26b)→llamacpp/vllm/transformers(进程内,模型tencent/Hy-MT2-1.8B) - 翻译模型可覆盖:
GADGET_TRANSLATION_MODEL(Translator GUI 内也可管理)
一键新机配置(本仓库)
- 填写
tokens/onboard.yaml - 运行:
python scripts/onboard.py
会自动完成:SSH、Claude/Codex CLI 安装与登录、pip extras、各工具配置、rclone bootstrap。
说明:onboarding 不会安装 Companion;旧字段 install.ai_companion 会被忽略。
服务器系统级安装(可选,在 ai-companion 仓库)
Ubuntu 22.04/24.04 一键装 SSH 公钥、Claude Code、Codex、Superpowers、Ponytail、AI Companion 的脚本已迁到:
bash ../ai-companion/scripts/onboard-server.sh --help
仓库拆分后,--companion-repo 直接传 ai-companion 仓库(git@github.com:TzJ2006/ai-companion.git),不再需要 --companion-ref。
本地 LLM(Summarize 相关,可选)
eval "$(bash scripts/serve_local_llm.sh env)"
持久化旋钮写在根目录 config.json 的 summarize 段(可用 GADGET_CONFIG 覆盖路径)。
数据同步(跨设备)
配置:config.json 的 sync 段(或 GADGET_CONFIG)。
python scripts/sync.py
README 写明支持 push / pull / status / bootstrap / config,覆盖 summarize / website / research / benchmark / backups,以及特殊类别 dag(生成并部署 DAG 站点)。跨设备示例表述为:
python scripts/sync.py push
python scripts/sync.py pull
(需先配好 rclone。)
只读冒烟检查
bash scripts/smoke.sh
(各工具 --help / --info / import;不调 LLM、不联网、不写盘。)
2.4 各工具典型用法
Summarize — 日/周/月报
多设备流程:各设备导出对话 → 云盘同步或手动拷贝聚合 → 生成日报 → 积累后生成周报与月报。推荐新入口 python -m summarize(旧 python tools/summarize/daily_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 # 一键:导出→合并→周报→月报+部署
LLM 后端用 --api:ollama / claude_cli / anthropic / openai。
更细步骤见仓库内 TUTORIAL.md#summarize、tools/summarize/tutorial.md(README 指向,细节不在本 README 正文展开)。
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
LLM 同样用 --api:ollama(默认)/ claude_cli / anthropic / openai。
深度洞察能力在 README 中记为 --insight(与完整文本分析、OpenReview 等能力一起描述),具体子命令组合见 TUTORIAL.md#research。
Benchmark — 性能基准
注意:所有命令需先进入 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/
GPU 会自动检测 CUDA / Apple MPS / Intel XPU。结果 CSV 为追加模式,不覆盖。
Website — Hugo 博客
自动生成内容由各工具 deploy 写入 tools/website/content|static(带 gadget_generated 标记;无标记的手写文件不会被覆盖)。tools/website/public/ 是独立部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动 commit + push,不要直接往里提交。
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 # 本地预览(含草稿)
增量压缩:自 .last_build 以来变更的媒体——图片 pngquant,视频 HandBrakeCLI。翻译默认本地 Ollama,首次可能下载 tencent/Hy-MT2-1.8B。
Translator — Gradio 文档翻译
pip install -e ".[translator]" # Gradio + GGUF 翻译栈
python -m translator # 启动 Gradio GUI(浏览器打开)
支持文本与 .md / .txt / .pdf / .docx / 图片;保护代码块、URL、Hugo shortcode 等。默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF),可用 GADGET_TRANSLATION_MODEL 或 GUI 覆盖。源语言可设 auto(按 CJK 比例检测);目标为 auto 时在 zh↔en 间翻转。
2.5 输出与注意点
生成物统一在 outputs/(gitignore):
outputs/
├── logs/ # 中间产物
├── reports/ # 最终报告
├── cache/ # LLM / 搜索缓存
├── data/ # CSV、JSON 画像等
├── images/ # 图表
└── backups/ # 强制覆盖备份等
Hugo 内容直接写在 tools/website/content|static,没有单独的 outputs/site。
注意(README Notes):
- 勿
git add:自动生成内容、rclone 同步数据、build//gadget.egg-info/、tools/website/下部署/主题仓库 - 协议:GPL-3(见
LICENSE) - 更细的逐步操作、配置、数据格式、FAQ:见 TUTORIAL.md 与各工具自有文档;中文版 README 见 docs/README.zh.md
以上命令与参数均直接来自你提供的 README,未补充 README 未写出的选项。
gpt-5.6-luna-high — 9,263 字符 · 事实点 15/16
一、项目总结
1. Gadget 是什么
Gadget 是一个由多个独立工具组成的开发工具集,主要覆盖:
- AI 对话日报、周报、月报生成
- 学术论文发现、研究者分析和引用图谱
- CPU/GPU 性能基准测试
- Hugo 博客自动构建、媒体压缩和发布
- 基于 Gradio 的本地文档翻译
每个 tools/ 子目录都是一个可以独立使用的工具。仓库根目录的 common/ 提供共享能力,包括:
- LLM 调用
- JSON 解析和修复
- 磁盘缓存
- 原子写入
- 本地翻译引擎
- Hugo 部署
2. 仓库结构
gadget/
├── tools/
│ ├── summarize/ # AI 对话日报、周报、月报
│ ├── research/ # 论文发现、研究者分析、引用图谱
│ ├── benchmark/ # CPU/GPU 性能测试
│ ├── website/ # Hugo 博客
│ └── translator/ # Gradio 文档翻译器
├── common/ # 所有工具共享的基础设施
├── scripts/ # 同步、初始化、维护脚本
├── docs/ # 设计文档、计划和历史资料
├── outputs/ # 自动生成的文件,已被 Git 忽略
├── AGENTS.md # AI Agent 工作流规范
├── CLAUDE.md # Claude Code 使用说明
└── pyproject.toml # Python 打包配置
几个重要目录:
- 工具逻辑:
tools/<tool>/ - 共享能力:
common/ - 数据同步:
scripts/sync.py - 新机器初始化:
scripts/onboard.py - 配置文件:仓库根目录的
config.json - 配置模板:
config.example.json - 敏感信息:
tokens/ - 生成结果:
outputs/
另有一个可选的兄弟仓库 ../ai-companion/,负责 DAG 发布和其他 Companion 工具。Gadget 本身不会自动拦截 Agent 操作。
3. 各工具功能
summarize
读取 Claude Code、Codex、Cursor Agent、ChatGPT 或通用 JSON 格式的 AI 对话记录,调用 LLM 生成:
- 每日报告
- 每周报告
- 每月趋势总结
它采用多设备两阶段流程:
- 各设备导出尚未导出的对话日期
- 同步并合并数据,再生成报告
同时通过 ccusage 统计不同 Agent CLI 的 token 用量和成本。
支持四种 LLM 后端:
ollama:默认,本地 Ollama,不需要 API Keyclaude_cli:复用 Claude Code CLI 登录状态anthropicopenai
research
通过统一入口 tools/research/research_scout.py 提供四类能力:
- 论文发现:搜索 arXiv、bioRxiv、PubMed,并经过三阶段 LLM 评估
- 深度论文洞察:分析论文写作结构、发表策略和可复用知识,并分析 OpenReview 评论
- 研究者画像:分析论文、引用数据、研究轨迹及导师—学生关系
- 引用图谱:分析论文的前向引用和后向参考文献
同样支持 ollama、claude_cli、anthropic 和 openai。
benchmark
跨平台 CPU/GPU 浮点性能测试工具,支持:
- NVIDIA CUDA
- Apple Silicon MPS
- Intel XPU
支持多种精度,包括 FP64、FP32、FP16、BF16 和实验性的 FP8。
测试包含预热、正式测量、GPU 同步和统计分析。结果追加写入 CSV,不会覆盖旧结果,并可生成 Plotly HTML 报告和排行榜。
website
一个基于 Hugo 的静态博客站点,部署到 GitHub Pages。
主要功能:
- 增量压缩图片和视频
- 自动构建并发布 Hugo 网站
- 本地模型双语翻译
- 接收日报、周报、研究报告和 Benchmark 页面
- 自动生成图像和站点内容
网站生成内容会直接写入:
tools/website/content
tools/website/static
tools/website/public/ 是单独的部署仓库,不应直接向其中提交内容。
translator
基于 Gradio 的本地文档翻译器,支持:
- 文本翻译
- Markdown
- TXT
- DOCX
- 图片
翻译时会保护 Markdown 代码块、URL 和 Hugo shortcode 等内容。
默认模型是:
tencent/Hy-MT2-1.8B
对应的 GGUF 模型为:
tencent/Hy-MT2-1.8B-GGUF
支持的本地推理后端包括:
- Ollama
- vLLM
- transformers
- llamacpp
4. common/、scripts/ 和 Companion
common/
共享基础设施包,通过以下命令安装:
pip install -e .
提供:
- 统一 LLM API
- JSON 解析与修复
- SHA-256 磁盘缓存
- 原子写入
- 本地翻译引擎
- Hugo 部署能力
scripts/
主要脚本包括:
sync.py:使用 rclone 同步数据onboard.py:新机器初始化smoke.sh:只读冒烟检查serve_local_llm.sh:创建用于摘要的 Ollama 变体language.py:Hugo 双语审计和报告重命名profile_translation.py:翻译引擎 GPU 性能分析
ai-companion
可选的兄弟仓库,主要提供 DAG 发布工具以及规划、执行相关能力。
5. 输出目录
生成文件集中在 outputs/:
outputs/
├── logs/ # 导出日志和运行日志
├── reports/ # Markdown、JSON、HTML 报告
├── cache/ # LLM 缓存和搜索缓存
├── data/ # CSV、JSON 等结构化数据
├── images/ # 图表和生成图片
└── backups/ # 强制覆盖时的备份
Hugo 网站内容不放入 outputs/site,而是直接写入 tools/website/content 和 tools/website/static。
二、中文使用教程
1. 环境准备
README 要求:
- Python 3.10+
- Node.js 18+,仅在使用可选 Companion 图谱和 DAG 发布功能时需要
- 推荐使用名为
AI的 conda 环境 - 各工具的额外依赖记录在对应目录的
requirements.txt
激活推荐的 conda 环境:
conda activate AI
安装公共包以及摘要、研究、Benchmark、Website 相关依赖:
pip install -e ".[all]"
注意:all 不包含 Translator。安装翻译器依赖需要额外执行:
pip install -e ".[translator]"
如果只需要安装共享基础包,可以执行:
pip install -e .
2. 配置文件
工具配置位于仓库根目录的:
config.json
可以参考:
config.example.json
README 说明 config.json 已被 Git 忽略。如果需要改变配置文件位置,可以设置:
GADGET_CONFIG
敏感信息放在:
tokens/
该目录已被 Git 忽略,不能提交其中的内容。
LLM 后端配置
各支持 LLM 的工具都可以通过 --api 选择后端:
ollamaclaude_clianthropicopenai
也可以使用全局环境变量:
GADGET_LLM_BACKEND
默认后端是 ollama。
翻译后端配置
翻译功能可以使用:
GADGET_TRANSLATION_BACKEND
README 列出的选择顺序和后端包括:
ollamallamacppvllmtransformers
还可以通过以下变量覆盖翻译模型:
GADGET_TRANSLATION_MODEL
3. 使用 Summarize
3.1 导出对话记录
导出所有尚未导出的日期:
python -m summarize daily export
这是多设备流程的第一阶段。
3.2 同步并合并日报数据
同步所有日期并逐日合并:
python -m summarize daily merge --sync-all
3.3 生成周报
生成指定周的周报并部署:
python -m summarize weekly generate --week 2026-W12 --deploy
3.4 生成月报
生成指定月份的月报并部署:
python -m summarize monthly generate --month 2026-02 --deploy
3.5 执行完整流程
一次完成导出、合并、周报、月报和部署:
python -m summarize auto --deploy
3.6 选择 LLM 后端
例如使用本地 Ollama:
python -m summarize auto --api ollama
README 明确说明旧入口仍然兼容:
python tools/summarize/daily_summary.py
python tools/summarize/weekly_summary.py
python tools/summarize/monthly_summary.py
推荐使用新的:
python -m summarize
4. 使用 Research
Research 的统一入口是:
tools/research/research_scout.py
4.1 生成研究报告
执行完整流程,包括搜索、三阶段评估和报告生成:
python tools/research/research_scout.py report --project my-project
4.2 自然语言检索论文
例如搜索 Pieter Abbeel 最近的机器人操作论文:
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
该命令会自动选择合适的数据源。
4.3 生成研究者画像
python tools/research/research_scout.py profile "Sergey Levine"
4.4 分析引用图谱
可以使用 arXiv ID 或 DOI:
python tools/research/research_scout.py citations 2301.12597
4.5 部署报告到 Hugo
python tools/research/research_scout.py deploy
4.6 选择 LLM 后端
Research 同样支持:
python tools/research/research_scout.py report --project my-project --api ollama
README 只明确说明了 --api 支持的后端为 ollama、claude_cli、anthropic 和 openai。
5. 使用 Benchmark
README 特别要求:所有 Benchmark 命令都要先进入 tools/benchmark/。
cd tools/benchmark
5.1 运行全部 Benchmark
python -m benchmark.cli
结果会追加到 CSV。
5.2 只测试 CPU
python -m benchmark.cli --cpu-only
5.3 只测试 GPU
python -m benchmark.cli --gpu-only
5.4 测试并生成 HTML 报告
python -m benchmark.cli --report
5.5 生成报告并部署到 Hugo
python -m benchmark.cli --report --deploy
工具会自动检测 CUDA、Apple MPS 和 Intel XPU。OpenCL 可能会在 --info 检测中出现,但 README 说明它不用于实际 GPU 运行。
6. 使用 Website
6.1 安装 Website 依赖
如果尚未安装完整依赖,可以执行:
pip install -e ".[website]"
该安装包含 Website 相关依赖,包括翻译所需的 torch 和 transformers。
6.2 macOS/Linux 构建并发布
cd tools/website && bash update.sh
该流程会执行:
- 增量媒体压缩
- Hugo 构建
- 推送到 GitHub Pages
图片使用 pngquant,视频使用 HandBrakeCLI。
6.3 Windows 构建并发布
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
README 说明该脚本会自动切换到自己的目录。
6.4 本地预览
cd tools/website && hugo server -D
其中 -D 表示开发服务器包含草稿内容。
6.5 Website 翻译行为
Website 使用本地推理进行双语翻译:
- 默认使用 Ollama
- Linux 上可以使用 vLLM
- Windows 上可以使用 transformers
- 模型
tencent/Hy-MT2-1.8B会在首次运行时自动下载
自动生成的内容带有 gadget_generated 标记。没有该标记的手写内容不会被自动覆盖。
7. 使用 Translator
7.1 安装翻译器依赖
pip install -e ".[translator]"
README 将其描述为 Gradio 和 GGUF 翻译栈依赖。
7.2 启动 Gradio 界面
python -m translator
启动后会打开浏览器。
7.3 翻译文本和文件
界面支持:
- 直接输入文本
.md.txt.pdf.docx- 图片
翻译过程中会尽量保持 Markdown 格式,并保护:
- 代码块
- URL
- Hugo shortcode
7.4 模型和语言设置
默认模型:
tencent/Hy-MT2-1.8B
GGUF 版本:
tencent/Hy-MT2-1.8B-GGUF
模型第一次使用时会自动下载,也可以通过:
GADGET_TRANSLATION_MODEL
覆盖,或者在图形界面的模型管理功能中设置。
源语言可以设为 auto。README 说明它会通过文本的 CJK 比例进行检测;目标语言设为 auto 时,会在中文和英文之间自动切换。
8. 使用同步和维护脚本
8.1 数据同步
sync.py 使用 rclone 处理跨设备数据同步,支持 README 列出的 push、pull、status、bootstrap 和 config 操作。
同步脚本:
python scripts/sync.py
跨设备推送和拉取使用:
python scripts/sync.py push
python scripts/sync.py pull
同步配置位于根目录 config.json 的 sync 部分,也可以通过 GADGET_CONFIG 覆盖配置路径。
该脚本覆盖的同步类别包括:
- summarize
- website
- research
- benchmark
- backups
- dag
DAG 类别可以通过:
python scripts/sync.py --category dag
生成并部署 DAG 网站。
8.2 新机器初始化
先填写:
tokens/onboard.yaml
然后运行:
python scripts/onboard.py
该脚本会自动完成 README 中列出的初始化工作:
- SSH 配置
- Claude/Codex CLI 安装和认证
- pip extras 安装
- 各工具配置
- rclone 初始化
8.3 运行只读冒烟检查
bash scripts/smoke.sh
该检查只执行:
--help--info- 导入检查
不会调用 LLM、网络或执行写操作。
8.4 启动本地摘要模型
生成并使用摘要专用的 Ollama 变体:
eval "$(bash scripts/serve_local_llm.sh env)"
持久化配置放在根目录 config.json 的 summarize 部分。
9. 可选的服务器级初始化
服务器级安装脚本已经迁移到兄弟仓库 ../ai-companion/。
查看帮助:
bash ../ai-companion/scripts/onboard-server.sh --help
该脚本面向 Ubuntu 22.04/24.04,README 说明它可以一键安装或配置:
- SSH 公钥
- Claude Code
- Codex
- Superpowers
- Ponytail
- AI Companion
10. 使用时的重要注意事项
tokens/中包含 API Key 和初始化信息,不能提交。outputs/中的内容是自动生成的,已被 Git 忽略。- 不要提交
build/和gadget.egg-info/。 - 不要直接提交
tools/website/下的部署仓库或主题仓库。 - Hugo 内容直接写入
tools/website/content和tools/website/static。 - LLM 后端可通过
--api或GADGET_LLM_BACKEND切换。 - 翻译后端可通过
GADGET_TRANSLATION_BACKEND切换。 - Website 和 Translator 使用本地推理,不依赖云端 LLM API。
- 生成结果通常可以从
outputs/重新构建。
gemini-4-argon-high — 10,220 字符 · 事实点 16/16
以下是完全基于你提供的 README.md 内容整理的项目总结与新手使用教程。
第一部分:项目总结
1. 它是什么?
Gadgets(仓库目录名 gadget)是在日常开发中积累的实用工具集合,涵盖 AI 日报生成、论文发现、性能基准测试、博客自动化和文档翻译五大方向,基于 GPL-3 许可证开源。
项目的核心架构特点是**“独立工具 + 共享底座”**:
tools/目录下的每个子目录都是一个可以独立使用的工具。- 仓库根目录下的
common/包汇总了所有工具共用的基础设施(通过pip install -e .安装),统一提供 LLM 调用、JSON 解析与修复、磁盘缓存、原子写入、本地模型翻译和 Hugo 部署等通用能力。 - 本地提供可选的 Companion 图(graph)与规划工具;同级目录的
../ai-companion/仓库提供 DAG 发布等功能。编码 Agent 遵循AGENTS.md,无 Companion 拦截钩子。
2. 仓库结构
gadget/
├── tools/ # 5 个独立的工具产品(修改某个工具的逻辑去这里)
│ ├── 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,可自动重建:含 logs/reports/cache/data/images/backups)
├── AGENTS.md # 所有 AI Agent 的工作流协议(行动前必读)
├── CLAUDE.md # 面向 Claude Code 的仓库指南
└── pyproject.toml # common/ 与各工具的打包配置(pip install -e .)
此外,README 中还提到以下重要目录与文件:
config.json:仓库根目录的工具配置文件(已 gitignore,从config.example.json复制而来)。tokens/:存放 API keys 和机器初始化配置表tokens/onboard.yaml(已 gitignore)。build/与gadget.egg-info/:执行pip install -e .生成的打包产物(已 gitignore,始终位于仓库根目录)。../ai-companion/(独立同级仓库):负责 AI 代码变更追踪、规划/执行技能流水线及所有 skills(基于 Node.js、TypeScript)。
3. 每个工具与核心模块分别做什么?
① Summarize (tools/summarize/) —— AI 对话日/周/月报
- 功能:自动读取每日 AI 对话记录(支持 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM API 生成结构化的日报、周报和月度趋势总结。
- 多设备两阶段工作流:阶段一在各台设备上导出对话日志;阶段二通过网盘同步或手动拷贝汇总日志,生成最终日报。积累足够日报后可继续生成周报和月报。
- 用量与费用统计:通过
ccusage20.x 的按源命名空间命令(ccusage claude、ccusage codex、ccusage gemini等),自动发现并统计所有 agent CLI 的 token 用量和开销。 - LLM 后端:支持
ollama(默认,本地免 key,Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录态,免 API key)、anthropic、openai。
② Research (tools/research/) —— 论文发现与学者分析
通过统一 CLI 入口 tools/research/research_scout.py 提供四大功能:
- 论文发现:从 arXiv / bioRxiv / PubMed 搜索论文,经三阶段 LLM 流水线(快速初筛 → 深度评估 → 引用影响)生成研究周报并部署至 Hugo;支持会议论文搜索和作者搜索。
- 深度论文洞察 (
--insight):下载论文全文,由 LLM 分析写作结构、发表策略和可复用核心知识;自动匹配 OpenReview 获取审稿意见以分析共识与争议;综合生成跨论文研究写作指南。 - 学者画像 (Researcher profiling):从 ArXiv + Semantic Scholar 获取论文与引用数据,由 LLM 生成研究轨迹分析、计算档次评分(tier score),并通过主页提取 + 合著模式自动发现导师-学生关系;支持同名消歧与反向查找。
- 引用图谱分析 (Citation graph analysis):基于 Semantic Scholar API 进行前向引用/后向参考文献分析,并结合 LLM 进行影响力解读。
③ Benchmark (tools/benchmark/) —— 性能基准测试套件
- 功能:跨平台 CPU/GPU 浮点性能(FLOPS)基准测试工具,基于 PyTorch、NumPy、Plotly。
- 硬件与精度:GPU 实际运行支持 NVIDIA (CUDA)、Apple Silicon (MPS) 和 Intel (XPU)(OpenCL 仅可能出现在
--info检测中);覆盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)等精度。 - 测量与报告:采用“预热 + 正式测量 + 统计分析(中位数、IQR 异常值剔除)”及显式 GPU 同步确保计时准确。结果以追加模式(append)写入 CSV(不覆盖,天然支持多硬件累计排行榜),可生成带 Plotly 图表的交互式 HTML 报告与排行榜,支持部署到 Hugo 网站及提交至公开排行榜。
④ Website (tools/website/) —— Hugo 博客
- 功能:基于 Hugo 的静态博客站点(“TzJ’s Net”,PaperMod 主题),部署在 GitHub Pages (
https://tzj2006.github.io/)。 - 增量媒体压缩:仅压缩自
.last_build以来发生变更的媒体文件(图片使用pngquant,视频使用HandBrakeCLI)。 - 本地模型双语翻译:不依赖云端 LLM API,默认使用 Ollama(Linux 回退为 vLLM,Windows 回退为 transformers;回退模型
tencent/Hy-MT2-1.8B在首次运行时自动下载)。 - 自动内容注入与发布:其他工具自动生成的报告、页面和图片会直接写入
tools/website/content|static(打上gadget_generated标记,绝不覆盖无标记的手写文章),随后自动完成翻译、压缩、构建并推送到独立的部署仓库tools/website/public/(对应tzj2006/tzj2006.github.io)。
⑤ Translator (tools/translator/) —— Gradio 文档翻译器
- 功能:基于
common翻译引擎构建的本地 Google Translate 风格网页翻译工具(Gradio GUI)。支持翻译文本和文件(.md/.txt/.pdf/.docx/ 图片),同时保护 Markdown 格式(如代码块、URL、Hugo shortcodes 等片段)。 - 本地推理引擎:复用
common.engine.create_engine()自动选择后端(已拉取模型标签时优先ollama;Windows 回退transformers,Linux 优先vllm,低显存 GGUF 选项为llamacpp)。模型常驻内存(warm),切换模型时按需懒加载。默认模型为tencent/Hy-MT2-1.8B(GGUF 变体为tencent/Hy-MT2-1.8B-GGUF),首次使用时自动下载。 - 语言识别:源语言可设为
auto(根据文本 CJK 比例检测);当目标语言为auto时,自动在中英(zh↔en)之间互译。
⑥ 共享模块与运维脚本 (common/ 与 scripts/)
common/:提供统一两层 LLM 调用 API、JSON 解析与修复、SHA-256 磁盘缓存(支持命名空间 + TTL)、原子写入与内容哈希、本地推理翻译引擎与双语内容生成、跨平台 Hugo 部署。scripts/:sync.py:基于 rclone 的集中式数据同步脚本(支持push/pull/status/bootstrap/config,涵盖summarize/website/research/benchmark/backups分类,以及用于生成和部署 DAG 站点的dag分类)。onboard.py:仓库级新机器一次性初始化脚本。smoke.sh:跨所有工具的只读冒烟测试(检查--help/--info/ imports,不触发 LLM、网络或写入)。serve_local_llm.sh:创建针对 summarize 调优的 Ollama 变体并输出环境变量。language.py(Hugo 双语审计 + summarize 报告重命名)、profile_translation.py(翻译引擎 GPU 性能分析)。
第二部分:新手详细使用教程
1. 环境准备
在开始之前,请确保满足以下基础环境要求:
- Python 3.10+(推荐使用名为
AI的 conda 环境):conda activate AI - Node.js 18+(仅在使用可选的 Companion 图和 DAG 发布功能时需要)。
- 各工具的具体依赖可查看对应工具目录下的
requirements.txt。
2. 安装指南
在仓库根目录下,根据你的使用需求选择对应的 pip 命令安装:
方式 A:安装基础包 + 除翻译器外的所有工具(推荐大多数用户)
安装 common 包以及 summarize / research / benchmark / website 的全部扩展依赖(注意:[all] 不包含 translator):
pip install -e ".[all]"
方式 B:按需安装指定模块
- 仅安装
common共享基础包:pip install -e . - 安装
website依赖(包含用于翻译的torch+transformers):pip install -e ".[website]" - 单独安装
translator依赖(包含gradio+ GGUF 翻译技术栈):pip install -e ".[translator]"
验证安装(只读冒烟测试)
安装完成后,可以运行只读冒烟测试脚本验证所有工具的导入和基础命令是否正常(不会调用 LLM、不联网、不写文件):
bash scripts/smoke.sh
3. 配置与机器初始化
3.1 配置文件 (config.json)
- 各工具的持久化配置存放在仓库根目录的
config.json中(已被 gitignore),初次使用请从根目录下的config.example.json复制一份生成config.json。 - 如需自定义配置文件路径,可通过环境变量
GADGET_CONFIG覆盖。
3.2 新机器/新服务器初始化(可选)
- 本仓库机器级一键初始化:在
tokens/onboard.yaml中填写好配置信息后,运行一次scripts/onboard.py,即可自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置以及 rclone bootstrap。 - Ubuntu 22.04/24.04 服务器系统级安装(位于同级仓库
../ai-companion,用于一键安装 SSH 公钥、Claude Code、Codex、Superpowers、Ponytail 和 AI Companion):bash ../ai-companion/scripts/onboard-server.sh --help注:仓库拆分后,
--companion-repo直接传入git@github.com:TzJ2006/ai-companion.git,不再需要--companion-ref。
3.3 LLM 与翻译引擎后端配置
- LLM 后端切换:
- 可在运行命令时通过
--api参数指定,或通过全局环境变量GADGET_LLM_BACKEND设置。 - 支持 4 种可选值:
ollama(默认,本地 Ollama,免 API key,使用 Gemma4-26B)claude_cli(复用 Claude Code CLI 登录态,免 API key)anthropicopenai
- 如需创建针对
summarize调优的本地 Ollama 变体并加载环境变量,可运行:eval "$(bash scripts/serve_local_llm.sh env)"
- 可在运行命令时通过
- 翻译引擎配置:
- 通过环境变量
GADGET_TRANSLATION_BACKEND选择本地推理后端:默认ollama(复用本地 Ollama 服务的gemma4:26b),也可设为llamacpp/vllm/transformers(进程内运行,使用首次运行自动下载的tencent/Hy-MT2-1.8B)。 - Translator 工具的默认翻译模型可通过环境变量
GADGET_TRANSLATION_MODEL或 GUI 界面内的模型管理功能进行覆盖。
- 通过环境变量
4. 每个工具的典型用法
4.1 Summarize —— AI 对话日/周/月报
推荐使用
python -m summarize入口(旧版python tools/summarize/daily_summary.py .../weekly_summary.py/monthly_summary.py仍保持兼容)。可通过--api切换 LLM 后端。
# 阶段 1:导出所有尚未导出的日期对话记录
python -m summarize daily export
# 阶段 2:同步所有日期并逐日合并生成日报
python -m summarize daily merge --sync-all
# 生成指定周(如 2026-W12)的周报并部署到 Hugo
python -m summarize weekly generate --week 2026-W12 --deploy
# 生成指定月(如 2026-02)的月报并部署到 Hugo
python -m summarize monthly generate --month 2026-02 --deploy
# 一键全流程:export → merge → weekly → monthly + 部署
python -m summarize auto --deploy
4.2 Research —— 论文发现与学者分析
所有功能统一通过
tools/research/research_scout.py调用,支持通过--api切换 LLM 后端(ollama/claude_cli/anthropic/openai),深度论文洞察支持--insight参数。
# 完整论文发现流水线:搜索 → 三阶段 LLM 评估 → 生成报告
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 —— CPU/GPU 性能基准测试
注意:所有基准测试命令都必须先
cd进入tools/benchmark/目录后执行。
# 1. 先进入 benchmark 工具目录
cd tools/benchmark
# 2. 运行全部基准测试(CPU + GPU,结果以追加模式写入 CSV)
python -m benchmark.cli
# 仅运行 CPU 基准测试
python -m benchmark.cli --cpu-only
# 仅运行 GPU 基准测试(自动检测 CUDA / Apple MPS / Intel XPU)
python -m benchmark.cli --gpu-only
# 运行基准测试并生成交互式 HTML 报告
python -m benchmark.cli --report
# 生成报告并发布到 Hugo 站点的 /benchmark/ 页面
python -m benchmark.cli --report --deploy
4.4 Website —— Hugo 博客构建、压缩与发布
# 1. 确保已安装 website 依赖
pip install -e ".[website]"
# 2a. macOS / Linux:增量媒体压缩 + 本地双语翻译 + Hugo 构建 + 推送 GitHub Pages
cd tools/website && bash update.sh
# 2b. Windows(PowerShell):增量压缩 + 构建 + 推送(脚本会自动切换到自身所在目录)
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 3. 本地启动开发服务器预览博客(包含草稿)
cd tools/website && hugo server -D
4.5 Translator —— Gradio 本地文档翻译器
# 1. 确保已安装 translator 依赖
pip install -e ".[translator]"
# 2. 启动 Gradio 网页翻译界面(会在浏览器中打开)
python -m translator
4.6 跨设备数据同步 (scripts/sync.py)
依赖
rclone配置,读取仓库根目录config.json中的sync部分。
# 运行同步脚本(支持 push / pull / status / bootstrap / config,以及 --category dag)
python scripts/sync.py
# 推送或拉取跨设备数据
python scripts/sync.py push
python scripts/sync.py pull
5. 目录产物与重要注意事项
- 输出目录 (
outputs/): 所有工具生成的中间日志(logs/)、最终报告(reports/)、缓存(cache/)、结构化数据(data/)、图表(images/)和强制覆盖备份(backups/)均统一保存在outputs/下。 - Hugo 内容写入机制:
各工具部署到博客的内容会直接写入
tools/website/content|static(文件带有gadget_generated标记;没有该标记的手写文章绝不会被覆盖)。 - Git 提交禁忌(切勿手动
git add或commit以下内容):tokens/目录下的 API 密钥和onboard.yamlconfig.json配置文件outputs/下的所有自动生成产物、rclone 同步数据build/与gadget.egg-info/打包产物tools/website/public/(这是独立的tzj2006/tzj2006.github.io部署仓库,由构建脚本自动 commit 和 push,切勿直接手动向其提交)以及tools/website/下的主题仓库。
muse-wonder-1.0-high — 13,751 字符 · 事实点 16/16
一、项目总结
1. 它是什么
Gadget / Gadgets 是作者在日常开发中积累的一套实用工具集合,覆盖五类工作:
- AI 对话日报 / 周报 / 月报生成
- 论文发现与研究者分析
- CPU / GPU 性能基准测试
- Hugo 博客自动化
- 文档翻译
tools/ 下每个目录是一个可以独立使用的工具;仓库根目录的 common/ 是所有工具共用的基础设施包,通过 pip install -e . 安装,提供 LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译、Hugo 部署等通用能力。
另有可选的 Companion 图与规划工具在本地可用;同级的 ../ai-companion/ 仓库提供 DAG 发布功能。README 特别说明:本仓库没有 Companion 拦截钩子,编码 Agent 遵循 AGENTS.md 工作。
本 README 只是总览。每个工具的逐步操作、配置、数据格式和 FAQ,要看
TUTORIAL.md和各工具自己的源文档。
2. 仓库结构
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 .)
想改东西时去哪儿:
| 想做的事 | 去哪里 |
|---|---|
| 改某个工具的逻辑 | tools/<tool>/ |
| 改共享能力(LLM / 缓存 / 翻译 / Hugo 部署) | common/ |
| 改数据同步 | scripts/sync.py |
| 新机器一次性初始化 | scripts/onboard.py |
| 改开发工作流 / 某个 skill | ai-companion 仓库(同级 ../ai-companion/) |
| 读计划 / 设计文档 | docs/ecl/、docs/ |
补充说明:Companion 工具是可选的、需要显式运行,没有 Agent 钩子。build/ 和 gadget.egg-info/ 由 pip install -e . 生成(已 gitignore,始终位于仓库根目录)。同步数据运行 python scripts/sync.py。
3. 每个工具分别做什么
3.1 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统一切换:ollama(默认,本地 Ollama,免 key,Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录状态,无需 API key)、anthropic、openai。 - 关键技术:Claude/OpenAI API、ccusage 20.x(统一多来源)、matplotlib。
3.2 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 驱动的影响解读。
所有 LLM 功能都支持用 --api 切换后端:ollama(默认)、claude_cli、anthropic、openai。
3.3 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 网站和提交到公开排行榜。
- 关键技术:PyTorch、NumPy、Plotly。
3.4 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),由构建脚本自动提交 + 推送,不要直接往里面提交。
3.5 tools/translator/ — Gradio 文档翻译器
- 基于
common翻译引擎构建的 Gradio 文档翻译器:一个 Google 翻译风格的本地翻译网页,可翻译文本和文件(.md/.txt/.pdf/.docx/ 图片),同时保留 Markdown 格式(代码块、URL、Hugo shortcode 等片段会被保护)。 - 本地推理,不走云 API:复用
common.engine.create_engine()自动选择后端(模型 tag 已拉取时自动优先ollama;transformers是 Windows 回退,vllm在 Linux 上优先,llamacpp是低显存 GGUF 选项);模型常驻内存保热,切换模型时按需懒加载。 - 默认模型
tencent/Hy-MT2-1.8B(GGUF 变体tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载,可通过GADGET_TRANSLATION_MODEL或 GUI 内的模型管理覆盖。 - 源语言可设为
auto(按文本的 CJK 比例检测);目标语言为auto时,在 zh↔en 之间翻转。
3.6 common/ — 共享基础设施包
所有工具都依赖的共享层,通过 pip install -e . 安装为 Python 包:
- LLM 调用(统一的两层 API,支持
ollama(默认)/claude_cli/anthropic/openai四种后端) - JSON 解析与修复
- SHA-256 磁盘缓存(命名空间 + TTL)
- 原子写入与内容哈希
- 本地推理翻译引擎(Ollama / vLLM / transformers / GGUF)与双语内容生成
- 跨平台 Hugo 部署
3.7 scripts/ — 运维与维护脚本
sync.py— 集中式 rclone 数据同步(push / pull / status / bootstrap / config,覆盖 summarize / website / research / benchmark / backups 类别;另有特殊的dag类别,用于生成 + 部署 DAG 站点)。运行python scripts/sync.py;配置在仓库根目录config.json的sync段(可用GADGET_CONFIG覆盖路径)。onboard.py— 仓库级的新机器一次性初始化:填一张 YAML 表(tokens/onboard.yaml),运行一次脚本,自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置、rclone bootstrap。smoke.sh— 覆盖所有工具的只读冒烟网(--help/--info/ 导入检查;不调用 LLM、不联网、不写文件)。运行bash scripts/smoke.sh。serve_local_llm.sh— 创建一个针对 summarize 调优的 Ollama 变体并打印环境变量(eval "$(bash scripts/serve_local_llm.sh env)")。持久化旋钮放在仓库根目录config.json的summarize段(可用GADGET_CONFIG覆盖路径)。- 其他:
language.py(Hugo 双语审计 + summarize 报告重命名)、profile_translation.py(翻译引擎 GPU 性能分析)。
3.8 AI Companion(可选工具)
同级 ../ai-companion/ 仓库提供 scripts/sync.py --category dag 使用的 DAG 发布工具。已有的本地 idea 图、手动图命令和 skills 仍然可用。本仓库没有 Companion 拦截钩子;onboarding 不会安装 Companion。原 install.ai_companion 设置会被忽略(包括旧版 onboarding 表里的)。
工具一览表:
| 目录 | 功能 | 关键技术 |
|---|---|---|
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 文档翻译器(基于 common 翻译引擎) | Gradio、GGUF/transformers |
common/ |
共享基础设施包(LLM、缓存、IO、翻译、Hugo 部署) | pip install -e . |
scripts/ |
运维与维护脚本(sync.py rclone 同步、onboard.py 机器配置等) |
rclone、Python |
../ai-companion/(独立仓库) |
AI 代码变更跟踪 + 规划/执行 skill 流水线 + 全部 skills | Node.js、TypeScript |
4. 输出目录
所有生成产物统一放在 outputs/(已 gitignore,可自动重建):
outputs/
├── logs/ # 中间产物(导出日志、运行日志)
├── reports/ # 最终报告(Markdown、JSON、HTML)
├── cache/ # LLM 缓存、搜索缓存
├── data/ # 结构化数据(CSV、JSON 画像)
├── images/ # 图表与生成的图片
└── backups/ # 强制覆盖备份(website-force 等)
Hugo 站点内容直接写入 tools/website/content|static(没有单独的 outputs/site 暂存树)。
二、中文使用教程(面向第一次接触者)
说明:本教程只使用 README 中出现过的命令和参数。README 本身是总览,每个工具的逐步细节请按文中指引去看
TUTORIAL.md及各工具自己的文档(下方各节末尾已标注)。
1. 环境准备
README 给出的环境要求:
- Python 3.10+(推荐 conda 环境
AI,用conda activate AI激活) - Node.js 18+(仅可选的 Companion 图与 DAG 发布工具需要)
- 每个工具各自的依赖见对应目录下的
requirements.txt - 网站/翻译功能使用本地推理引擎:默认 Ollama(翻译用同一个
gemma4:26b对话模型);Linux 上 vLLM、Windows 上 transformers 作为回退(使用tencent/Hy-MT2-1.8B,首次运行自动下载)
另外两条与后端有关的全局约定,先有个概念:
- LLM 后端统一用
--api参数切换:ollama(默认)、claude_cli、anthropic、openai;也可以用环境变量GADGET_LLM_BACKEND全局设置。 - 翻译路径使用本地推理引擎,由
GADGET_TRANSLATION_BACKEND选择:ollama(默认,本地 Ollama 服务,复用已服务的对话 taggemma4:26b)→llamacpp/vllm/transformers(进程内,模型tencent/Hy-MT2-1.8B)。
2. 安装
在仓库根目录执行。common 共享包 + 各工具 extras 的常用装法:
pip install -e ".[all]"
注意:all 不包含 translator,翻译器要单独装:
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
如果只关心网站(含翻译所需的 torch + transformers),可以装 website extras:
pip install -e ".[website]" # 安装依赖(含翻译用的 torch + transformers)
只装共享基础设施包本身则是:
pip install -e .
3. 配置
README 中提到的配置位置如下:
- 工具设置位于仓库根目录的
config.json(已 gitignore,从config.example.json复制而来)。可用环境变量GADGET_CONFIG覆盖该路径。 - 数据同步配置是
config.json的sync段(同样可用GADGET_CONFIG覆盖路径);跨设备数据同步用python scripts/sync.py push/pull(需要先配置好 rclone)。 serve_local_llm.sh的持久化旋钮放在config.json的summarize段(可用GADGET_CONFIG覆盖路径)。tokens/目录存放 API key 和 onboarding 表,已 gitignore——绝不要提交其中内容。- 翻译模型可通过环境变量
GADGET_TRANSLATION_MODEL覆盖(默认tencent/Hy-MT2-1.8B),也可以在 translator 的 GUI 内做模型管理。 - 新机器一键初始化(本仓库的机器配置):使用
scripts/onboard.py——填好tokens/onboard.yaml后运行一次,即可自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置和 rclone bootstrap。 - 服务器系统级安装(给 Ubuntu 22.04/24.04 服务器一键装 SSH 公钥、Claude Code、Codex、Superpowers、Ponytail 和 AI Companion 的脚本)已经随平台迁移到 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
几个辅助脚本,第一次上手时也值得知道:
python scripts/sync.py # 数据同步入口(rclone)
bash scripts/smoke.sh # 只读冒烟检查:各工具 --help / --info / 导入,不调用 LLM、不联网、不写文件
eval "$(bash scripts/serve_local_llm.sh env)" # 创建 summarize 调优的 Ollama 变体并加载其环境变量
4. 各工具典型用法
4.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 # 一键全流水线:导出 → 合并 → 周报 → 月报 + 部署
补充:
- 旧入口
python tools/summarize/daily_summary.py .../weekly_summary.py/monthly_summary.py仍然可用(向后兼容的转发垫片),但推荐上面的python -m summarize形式。 - 四个总结后端用
--api切换:ollama(默认,本地、免 key、Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录状态,无需 API key)、anthropic、openai。 - 详细步骤见
TUTORIAL.md的 Summarize 节和tools/summarize/tutorial.md。
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" # 研究者画像
python tools/research/research_scout.py citations 2301.12597 # 引用图(按 arXiv ID / DOI)
python tools/research/research_scout.py deploy # 把报告部署到 Hugo
补充:
- 所有 LLM 功能都支持用
--api切换后端:ollama(默认,本地 Ollama,免 key,Gemma4-26B)、claude_cli(无需 API key)、anthropic、openai。 - 详细步骤见
TUTORIAL.md的 Research 节和tools/research/TUTORIAL.md。
4.3 benchmark — 性能基准测试
注意:所有命令都要先 cd 进 tools/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/
补充:
- GPU 基准测试会自动检测 CUDA / Apple MPS / Intel XPU。
- 结果是追加写入 CSV 的,不会覆盖旧结果,所以同一份 CSV 可以自然累积多台硬件的成绩。
- 详细步骤见
TUTORIAL.md的 Benchmark 节和tools/benchmark/tutorial.md。
4.4 website — Hugo 博客
先装依赖(若已装 .[all] 可跳过,all 已包含 website extras):
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 # 本地预览(开发服务器,包含草稿)
注意:
tools/website/public/是独立的部署仓库,由构建脚本自动提交 + 推送,不要直接往里面提交。- 自动生成的内容由各部署流水线写入
tools/website/content|static,且只会覆盖带gadget_generated标记的文件,手写文件不会被动。 - 详细步骤见
TUTORIAL.md的 Website 节和tools/website/CLAUDE.md。
4.5 translator — Gradio 文档翻译器
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
python -m translator # 启动 Gradio GUI(在浏览器中打开)
使用方式(按 README 描述):在打开的网页里翻译文本,或上传 .md / .txt / .pdf / .docx / 图片文件翻译;Markdown 格式会被保留,代码块、URL、Hugo shortcode 等片段受保护不被翻译。默认模型首次使用时自动下载;源语言可设 auto 自动检测,目标语言 auto 时在中英之间自动翻转。详细步骤见 TUTORIAL.md 的 Translator 节;想看代码 wiring 可看 tools/translator/app.py(UI)、tools/translator/core.py(翻译与文件逻辑)、common/engine.py 与 common/translation.py(共享引擎)。
5. 新手注意事项(来自 README 的 Notes)
- GPU 基准测试自动检测 CUDA / Apple MPS / Intel XPU。
tokens/目录放 API key 和 onboarding 表,已 gitignore,绝不要提交。- 所有生成文件都输出到
outputs/目录(已 gitignore)。 - LLM 后端用
--api统一切换:ollama(默认)、claude_cli、anthropic、openai(或用GADGET_LLM_BACKEND全局设置)。 - 翻译路径用本地推理引擎,由
GADGET_TRANSLATION_BACKEND选择:ollama(默认)→llamacpp/vllm/transformers。 - 跨设备数据同步用
python scripts/sync.py push/pull(需要 rclone 配置)。 - 永远不要
git add自动生成的内容、rclone 同步的数据、构建产物(build/、gadget.egg-info/),以及tools/website/下的部署/主题仓库。 - 工具设置在仓库根目录
config.json(已 gitignore,从config.example.json复制);用GADGET_CONFIG可覆盖路径。 - 许可证为 GPL-3(见
LICENSE)。
6. 建议的上手顺序
- 按第 1–2 节准备 Python 3.10+ 环境并执行
pip install -e ".[all]"(需要翻译器时再加pip install -e ".[translator]")。 - 需要新机器整套配置时,先填
tokens/onboard.yaml,再用scripts/onboard.py一次性初始化;老的整机/服务器级安装走../ai-companion/scripts/onboard-server.sh。 - 先跑
bash scripts/smoke.sh做一遍只读冒烟检查,确认各工具的--help/--info/ 导入都正常。 - 挑一个你最需要的工具,按第 4 节的命令实际跑一次,再去读对应的
TUTORIAL.md章节和该工具目录下的源文档深入。
gpt-5.5-high — 6,341 字符 · 事实点 15/16
我会只基于你贴出的 README 内容来整理,不去读取或假设仓库里的其他文件;先给项目概览,再给可复制命令的入门教程。 下面内容只依据你贴出的 README整理。
1. 项目中文总结
gadget 是一个日常开发工具集合,覆盖 AI 对话总结、论文发现、性能基准测试、博客自动化、文档翻译等场景。仓库里的 tools/ 下每个目录都是一个可以独立使用的工具;通用能力放在根目录的 common/ 包里,通过 pip install -e . 安装后被各工具复用。
仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日报 / 周报 / 月报
│ ├── research/ # 论文发现、研究者分析、引用图谱
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo 博客
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施:LLM、缓存、IO、翻译、Hugo 部署等
├── scripts/ # 运维和维护脚本
├── docs/ # 设计文档、计划、审计报告、历史归档
├── outputs/ # 所有生成产物,已 gitignore
├── AGENTS.md # AI agent 工作协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # Python 包配置
每个工具做什么
tools/summarize/:自动读取 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON 等 AI 对话记录,生成日报、周报、月报。支持多设备导出、同步、合并,并统计 token 用量和成本。LLM 后端可用 ollama、claude_cli、anthropic、openai。
tools/research/:学术研究工具,统一入口是 tools/research/research_scout.py。支持论文搜索、研究周报、深度论文分析、OpenReview 评论分析、研究者画像、引用图谱分析,并可部署报告到 Hugo。
tools/benchmark/:跨平台 CPU/GPU FLOPS 基准测试工具。支持 NVIDIA CUDA、Apple MPS、Intel XPU,覆盖 FP64 / FP32 / FP16 / BF16 / FP8 等精度。结果追加写入 CSV,可生成 Plotly HTML 报告和排行榜,也可部署到 Hugo。
tools/website/:Hugo 静态博客,部署到 GitHub Pages。包含增量图片/视频压缩、双语翻译、构建和发布流程。自动生成内容会写入 tools/website/content|static,手写内容不会被覆盖。
tools/translator/:基于 Gradio 的本地文档翻译器,支持文本和 .md / .txt / .pdf / .docx / 图片文件。使用 common 的翻译引擎,默认模型是 tencent/Hy-MT2-1.8B,首次使用会自动下载。
common/:共享基础设施包,提供 LLM 调用、JSON 修复、SHA-256 磁盘缓存、原子写入、本地翻译引擎、Hugo 部署等能力。
scripts/:运维脚本集合,例如 sync.py 做 rclone 数据同步,onboard.py 做新机器初始化,smoke.sh 做只读 smoke 检查,serve_local_llm.sh 配置本地 Ollama 变体。
../ai-companion/:独立的可选兄弟仓库,用于 DAG 发布、规划/执行技能流水线等。本仓库不会安装 Companion 拦截 hooks。
2. 中文使用教程
环境准备
README 要求:
- Python 3.10+
- 推荐 conda 环境
AI - Node.js 18+,仅用于可选的 Companion graph 和 DAG 发布工具
- 各工具的额外依赖见对应目录的
requirements.txt - 跨设备同步需要 rclone 配置
- Hugo 博客相关功能需要 Hugo,以及图片/视频压缩工具
pngquant、HandBrakeCLI - 翻译默认使用本地推理引擎,默认走 Ollama;Linux 可用 vLLM,Windows 可用 transformers fallback
推荐先进入 conda 环境:
conda activate AI
安装
安装共享包:
pip install -e .
安装 common、summarize、research、benchmark、website 等 extras:
pip install -e ".[all]"
注意:README 明确说明 all 不包含 translator。翻译器需要单独安装:
pip install -e ".[translator]"
如果只安装网站相关依赖:
pip install -e ".[website]"
配置
工具配置位于仓库根目录的 config.json,该文件 gitignored;README 说明从 config.example.json 复制。可以用 GADGET_CONFIG 覆盖配置文件路径。
API / LLM 后端统一支持:
ollama:默认,本地 Ollama,无需 keyclaude_cli:复用 Claude Code CLI 登录状态,无需 API keyanthropicopenai
可以通过各工具的 --api 参数切换,也可以通过全局环境变量 GADGET_LLM_BACKEND 设置。
翻译后端由 GADGET_TRANSLATION_BACKEND 控制,README 中列出的选择顺序/后端包括:
ollamallamacppvllmtransformers
翻译模型可通过 GADGET_TRANSLATION_MODEL 覆盖。
tokens/ 目录用于保存 API keys 和 onboarding sheet,已 gitignore,README 特别强调不要提交其中内容。
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
README 还说明旧入口仍兼容,例如 python tools/summarize/daily_summary.py ...、weekly_summary.py、monthly_summary.py,但推荐使用新的 python -m summarize 形式。
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
README 说明 Research 的 LLM 功能同样支持 --api 切换:ollama、claude_cli、anthropic、openai。
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 说明 GPU 会自动检测 CUDA / Apple MPS / Intel XPU;OpenCL 可能只出现在 --info 检测中。
Website:Hugo 博客
安装网站依赖:
pip install -e ".[website]"
macOS / Linux 下增量压缩、Hugo 构建并推送 Pages:
cd tools/website && bash update.sh
Windows 下运行更新脚本:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
本地预览,包括 drafts:
cd tools/website && hugo server -D
README 特别提醒:tools/website/public/ 是单独的部署仓库,会由构建脚本自动 commit 和 push,不要直接提交它。
Translator:Gradio 文档翻译器
安装翻译器依赖:
pip install -e ".[translator]"
启动 Gradio GUI,浏览器打开:
python -m translator
支持内容包括文本和 .md / .txt / .pdf / .docx / 图片文件。README 说明它会保护 Markdown 格式片段,例如代码块、URL、Hugo shortcodes。源语言可以设为 auto,目标语言为 auto 时会在中英文之间自动切换。
scripts:同步、初始化与检查
运行集中式 rclone 数据同步脚本:
python scripts/sync.py
跨设备同步可用:
python scripts/sync.py push
python scripts/sync.py pull
只读 smoke 检查,不做 LLM、网络或写入:
bash scripts/smoke.sh
创建 summarize 调优的 Ollama 变体并打印环境:
eval "$(bash scripts/serve_local_llm.sh env)"
新机器 onboarding 的 README 描述是:填写 tokens/onboard.yaml 后运行 scripts/onboard.py 一次,它会处理 SSH、Claude/Codex CLI 安装认证、pip extras、各工具配置和 rclone bootstrap。
服务器系统级安装脚本已迁移到兄弟仓库 ../ai-companion/,查看帮助:
bash ../ai-companion/scripts/onboard-server.sh --help
输出目录与注意事项
所有可重建的生成产物都集中在 outputs/,并已 gitignore:
outputs/
├── logs/
├── reports/
├── cache/
├── data/
├── images/
└── backups/
README 还强调不要 git add 自动生成内容、rclone 同步数据、构建产物 build/、gadget.egg-info/,以及 tools/website/ 下的部署/theme 仓库。
gemini-3.8-flash-high — 7,393 字符 · 事实点 16/16
基于开源项目 gadget 的 README 内容,整理的项目总结与使用教程如下:
第一部分:项目中文总结
1. 项目简介(它是什么)
gadget 是在日常开发实践中积累的实用工具集合,涵盖 AI 日报生成、学术论文发现、性能基准评测、博客自动化维护 以及 文档本地翻译 五大领域。
- 模块独立:
tools/目录下的每个工具都是独立产品,均可单独运行。 - 共享底层:仓库根目录下的
common/包提供了全仓库通用的基础设施(LLM 调用、JSON 解析与修复、磁盘缓存、原子写入、本地翻译引擎及 Hugo 部署能力)。 - 外部协作:拥有可选的本地 Companion 图谱与规划工具,DAG 发布由同级兄弟仓库
../ai-companion/支持;Coding Agent 遵循AGENTS.md规范。 - 开源协议:GPL-3。
2. 仓库结构(Repository Structure)
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, smoke.sh 等)
├── docs/ # 设计文档、ECL 计划(docs/ecl/)、审计报告、历史归档
├── outputs/ # 统一输出目录(已 gitignore,可自动重建:logs/, reports/, cache/, data/, images/, backups/)
├── AGENTS.md # 所有 AI Agent 的工作流协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # common/ 及各个工具的 Python 打包配置
3. 各工具功能介绍
| 工具目录 | 工具名称 | 主要功能与核心技术 |
|---|---|---|
tools/summarize/ |
Summarize (AI 对话总结) |
AI 对话日报/周报/月报生成:支持多设备两阶段工作流(本地导出日志 -> 同步合并)。读取 Claude Code、Codex、Cursor Agent、ChatGPT 及通用 JSON 记录,借助 ccusage 20.x 统计各 Agent CLI 的 Token 用量与成本,调用 LLM 生成结构化报告。支持 4 种 LLM 后端(ollama、claude_cli、anthropic、openai)。 |
tools/research/ |
Research (学术研究套件) |
学术发现与分析工具(CLI 入口 research_scout.py):1. 论文发现:检索 arXiv / bioRxiv / PubMed,经三阶段 LLM 流水线(初筛 -> 深度评估 -> 引用影响力)生成周报并部署; 2. 深度洞察 ( --insight):下载全文分析写作架构、发表策略,结合 OpenReview 评审分析共识与争议;3. 研究者画像:结合 ArXiv 与 Semantic Scholar 分析轨迹并计算 Tier 分数,自动提取主页发现师生关系; 4. 引用图谱:基于 Semantic Scholar 的正/反向引用分析及 LLM 影响解读。 |
tools/benchmark/ |
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/ |
Website (Hugo 个人博客) |
Hugo 静态博客自动化工作流(“TzJ’s Net”,PaperMod 主题,部署于 GitHub Pages):包含增量多媒体压缩流水线(图片经 pngquant,视频经 HandBrakeCLI,仅处理变更内容)与本地模型双语翻译(默认 Ollama,回退支持 Linux vLLM / Windows transformers,使用模型 tencent/Hy-MT2-1.8B)。自动生成的内容带 gadget_generated 标识,构建脚本自动提交推送到部署仓库 tools/website/public/。 |
tools/translator/ |
Translator (Gradio 文档翻译) |
本地文档与文本翻译 Web 应用:基于 common 翻译引擎,提供类 Google 翻译界面的 Web GUI。支持文本及 .md / .txt / .pdf / .docx / 图片文件翻译,保持 Markdown 格式(保护代码块、URL、Hugo 短代码等)。纯本地推理(优先 Ollama,Linux 偏好 vLLM,Windows 回退 transformers,低显存选 llamacpp),默认模型为 tencent/Hy-MT2-1.8B(GGUF 版),支持 CJK 比例检测自动语言识别与中英互翻。 |
第二部分:详细使用教程
1. 环境准备
- Python 版本:Python 3.10+(推荐创建并激活 conda 环境
AI):conda activate AI - Node.js:Node.js 18+(仅用于可选的 Companion 图谱和 DAG 发布工具)。
- 外部系统工具(针对对应工具):
website媒体压缩需要系统级工具pngquant、HandBrakeCLI以及静态建站工具hugo。- 数据同步功能需要安装并配置好
rclone。
2. 安装指南
项目支持通过 pip 的可编辑模式(-e)按需安装不同的 extras:
# 方式 A:一次性安装 common 基础包及 summarize / research / benchmark / website 工具依赖
pip install -e ".[all]"
# 方式 B:单独安装 Translator 工具依赖(注意:.[all] 不包含 translator,需单独安装)
pip install -e ".[translator]"
# 方式 C:仅安装 Website 工具所需依赖(包含用于本地翻译的 torch + transformers)
pip install -e ".[website]"
# 方式 D:仅安装根目录 common 基础依赖包
pip install -e .
注:pip install -e . 会在根目录生成 build/ 和 gadget.egg-info/ 目录,已在 .gitignore 中排除。
3. 配置说明
- 配置文件
config.json:- 仓库各工具的配置统一保存在仓库根目录下的
config.json(已 gitignore)。 - 初次使用可从
config.example.json复制创建。 - 若要自定义配置文件路径,可设置环境变量
GADGET_CONFIG。
- 仓库各工具的配置统一保存在仓库根目录下的
- 凭证与密钥目录
tokens/:tokens/目录存放 API 密钥以及一键上手配置单,已被 gitignore,严禁提交到 Git。
- 新服务器/新机器一键配置(Onboarding):
- 填写好
tokens/onboard.yaml配置后,运行脚本完成 SSH、Claude/Codex CLI 认证、pip 依赖及 rclone 初始化:python scripts/onboard.py - 若要在 Ubuntu 22.04/24.04 进行系统级一键安装,可参考 sibling 仓库脚本帮助:
bash ../ai-companion/scripts/onboard-server.sh --help
- 填写好
- LLM 后端切换:
- 工具支持通过
--api参数统一切换后端,可选:ollama(默认,使用本地 Ollama,免 API Key,模型 Gemma4-26B)claude_cli(复用 Claude Code CLI 登录状态,无需 API Key)anthropicopenai
- 也可以通过全局环境变量
GADGET_LLM_BACKEND设置。 - 启动调优过的本地 Ollama 并导出环境变量:
eval "$(bash scripts/serve_local_llm.sh env)"
- 工具支持通过
- 本地翻译引擎配置:
- 通过环境变量
GADGET_TRANSLATION_BACKEND切换:ollama(默认,复用gemma4:26b)→llamacpp/vllm/transformers(运行tencent/Hy-MT2-1.8B模型,首次运行自动下载)。 - 可通过环境变量
GADGET_TRANSLATION_MODEL覆盖默认翻译模型。
- 通过环境变量
4. 各工具典型用法及命令
工具一:Summarize(AI 对话总结)
# 阶段 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 并且发布部署
python -m summarize auto --deploy
工具二:Research(学术论文与研究者分析)
# 完整流程:论文检索 -> 三阶段评估 -> 生成项目报告
python tools/research/research_scout.py report --project my-project
# 自然语言搜索论文(自动路由数据源)
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
# 分析指定研究者画像(轨迹、Tier 分数、合作网络)
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
工具三:Benchmark(算力基准测试)
注意:运行 Benchmark 前必须先 cd 进 tools/benchmark 目录!
# 进入目录
cd tools/benchmark
# 运行全部基准测试(结果自动以追加模式写入 CSV)
python -m benchmark.cli
# 仅测试 CPU
python -m benchmark.cli --cpu-only
# 仅测试 GPU
python -m benchmark.cli --gpu-only
# 运行测试并生成 Plotly 交互式 HTML 报告
python -m benchmark.cli --report
# 运行测试、生成报告并发布到 Hugo 博客的 /benchmark/ 路径
python -m benchmark.cli --report --deploy
工具四:Website(Hugo 博客)
# 安装博客构建及本地翻译依赖
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
# 本地启动 Hugo 预览服务器(包含草稿)
cd tools/website && hugo server -D
工具五:Translator(文档翻译 Web 界面)
# 安装翻译器依赖(包含 Gradio 与 GGUF 依赖栈)
pip install -e ".[translator]"
# 启动 Gradio Web 界面(执行后在浏览器中打开)
python -m translator
运维、测试与数据同步脚本
# 运行全仓库各工具的只读冒烟测试(检查 --help / --info / 导入,无网络和写入)
bash scripts/smoke.sh
# 跨设备 rclone 数据推送与拉取(配置位于 config.json 的 sync 部分)
python scripts/sync.py push
python scripts/sync.py pull
5. 输出产物与注意事项
- 统一输出目录:所有任务生成物集中在
outputs/下,已加入.gitignore且支持随时重新构建:outputs/logs/:中间过程日志outputs/reports/:最终产出报告(Markdown、JSON、HTML)outputs/cache/:LLM 缓存与搜索缓存outputs/data/:结构化数据(CSV 性能数据、研究者画像 JSON 等)outputs/images/:生成的图表与图像outputs/backups/:备份文件
- Git 提交流程规范:
- 严禁
git add自动生成的内容(outputs/目录内容)。 - 严禁提交 rclone 同步的数据、构建生成的
build/和gadget.egg-info/目录。 - 严禁向
tools/website/下的部署仓库(tools/website/public/)或主题子仓库直接进行手动 Git 提交。
- 严禁
muse-spark-1.3-high — 10,692 字符 · 事实点 15/16
Gadget 项目解读与使用教程
以下内容只依据你提供的
README.md,未编造 README 之外的命令/参数。README 中明确说详细步骤请看TUTORIAL.md、中文版docs/README.zh.md和各工具自己的 source doc。
1. 项目总结
1.1 它是什么
gadget 是一个日常开发中积累的实用工具集合,覆盖:
- AI 对话日报生成
- 论文发现
- 性能基准测试
- 博客自动化
- 文档翻译
设计原则:tools/ 下每个目录都是可独立使用的工具;通用能力下沉到仓库根的 common/ 包(通过 pip install -e . 安装),提供 LLM 调用、JSON 解析、磁盘缓存、原子写、翻译、Hugo 部署等。
另外:可选的 Companion 图/规划工具在本地显式运行,无 agent hooks;../ai-companion/ 是兄弟独立仓库,提供 DAG 发布;Coding agent 遵循 AGENTS.md,不受 Companion 拦截。
1.2 仓库结构
gadget/
├── tools/ # 5个独立工具产品,改工具逻辑去这里
│ ├── summarize/ # AI对话 日报/周报/月报
│ ├── research/ # 论文发现 + 学者画像 + 引用图
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo博客(增量媒体压缩+自动构建发布)
│ └── translator/ # Gradio文档翻译器
├── common/ # 共享基础设施包(LLM/cache/IO/翻译/Hugo)
├── scripts/ # 运维脚本(sync.py、onboard.py、language.py等)
├── docs/ # 设计文档、ECL计划(docs/ecl/)、审计报告、历史归档
├── outputs/ # 所有生成物(gitignored,可重建)
├── AGENTS.md # 所有AI agent工作流协议,先读
├── CLAUDE.md # 给Claude Code的仓库指南
└── pyproject.toml # common+各工具的打包配置(pip install -e .)
README 给的“想改东西去哪”对照表:
| 想做什么 | 去哪里 |
|---|---|
| 改工具逻辑 | tools/<tool>/ |
| 改共享能力(LLM/cache/翻译/Hugo部署) | common/ |
| 改数据同步 | scripts/sync.py |
| 新机器一次性 setup | scripts/onboard.py |
| 改 dev workflow/skill | ai-companion 仓库(兄弟 ../ai-companion/) |
| 看 plan/设计文档 | docs/ecl/、docs/ |
其它说明:
build/和gadget.egg-info/是pip install -e .生成的,已 gitignored,都在仓库根。- 同步数据:
python scripts/sync.py outputs/统一放生成物,已 gitignored:logs/中间产物、reports/最终报告、cache/LLM/搜索缓存、data/结构化数据、images/图表、backups/强制覆盖备份。- Hugo 站点内容直接写
tools/website/content|static,没有outputs/site中转。 tokens/放 API key 和 onboarding 表,已 gitignored,绝不提交。- 工具配置在仓库根
config.json(gitignored,从config.example.json复制),可用GADGET_CONFIG覆盖路径。
1.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文档翻译器(基于 common 翻译引擎) | Gradio、GGUF/transformers |
common/ |
共享包(LLM、cache、IO、翻译、Hugo部署) | pip install -e . |
scripts/ |
运维(sync.py rclone同步、onboard.py机器配置等) |
rclone、Python |
../ai-companion/独立仓库 |
AI改动追踪+规划执行skill管线+全部skills | Node.js、TypeScript |
细分:
1. Summarize:AI对话日/周/月报
自动读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调 LLM 生成结构化日、周、月总结。多设备流程:在每台设备导出对话日志,经网盘同步或手动拷贝汇总,再生成最终日报;日报攒够后再生成周报和月度趋势总结。经 ccusage 20.x 的分源命名空间命令(ccusage claude、ccusage codex、ccusage gemini…)自动发现并统计各 agent CLI 的 token 用量和费用。有 4 种 AI 总结后端,统一用 --api 切换:ollama(默认,本地 Ollama,免 key,Gemma4-26B)、claude_cli(复用 Claude Code CLI 登录态,免 key)、anthropic、openai。
2. Research:论文发现与学者分析
统一学术工具,单一入口 tools/research/research_scout.py 提供 4 大能力:
- 论文发现:从 arXiv / bioRxiv / PubMed 搜论文,经三阶段 LLM 管线(快速筛选→深度评估→引用影响),生成研究周报并部署到 Hugo。支持会议论文搜索和作者搜索。
- 深度论文洞察(
--insight):下载全文,让 LLM 分析写作结构、发表策略、可复用核心知识;自动匹配 OpenReview 拿评审意见,分析共识与争议;合成跨论文写作指南。 - 学者画像:从 ArXiv + Semantic Scholar 取论文引用数据,让 LLM 生成学术轨迹分析,算 tier 分,经主页抽取+合著模式自动发现导师-学生关系。支持同名消歧和反查。
- 引用图分析:基于 Semantic Scholar API 的前向引用/后向参考文献分析,配 LLM 影响解读。
LLM 功能都支持 --api 切换:ollama(默认,本地 Ollama,免 key,Gemma4-26B)、claude_cli(免 key)、anthropic、openai。
3. 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 网站和提交到公开排行榜。
4. Website:Hugo博客
Hugo 静态博客(“TzJ’s Net”,PaperMod 主题),部署到 GitHub Pages(https://tzj2006.github.io/)。内置增量图片/视频压缩管线(只压缩自 .last_build 以来变化的媒体:图片走 pngquant,视频走 HandBrakeCLI)和本地模型双语翻译(默认 Ollama,Linux 下 vLLM / Windows 下 transformers 为 fallback;模型 tencent/Hy-MT2-1.8B 首次运行自动下载,不走云 LLM API)。自动生成内容(日/周/月报、研究报告、benchmark 页面、图片)由各部署管线直接写入 tools/website/content|static(唯一 Hugo 内容根,文件打 gadget_generated 标记;无标记的手写文件永不覆盖),再翻译、压缩、构建、推送。tools/website/public/ 是独立部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动提交+推送,不要直接提交。
5. Translator:Gradio文档翻译器
基于 common 翻译引擎的 Google 翻译风格本地翻译网页,翻译文本和文件(.md / .txt / .pdf / .docx / 图片),同时保留 Markdown 格式(代码块、URL、Hugo shortcode 等片段受保护)。跑本地推理,不调云 API:复用 common.engine.create_engine() 自动选后端(model tag 已 pull 时自动优先 ollama;transformers 是 Windows fallback,vllm 在 Linux 优先,llamacpp 是低显存 GGUF 选项),模型常驻内存(warm),切换模型时按需懒加载。默认模型 tencent/Hy-MT2-1.8B(GGUF 变体 tencent/Hy-MT2-1.8B-GGUF),首次使用自动下载,可经 GADGET_TRANSLATION_MODEL 或 GUI 内模型管理覆盖。源语言可设 auto(按文本 CJK 比例检测);目标为 auto 时在 zh↔en 间翻转。
6. common/ scripts/ ai-companion
common/:所有工具依赖的共享层,经pip install -e .安装为 Python 包:统一两层 LLM API(4后端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 站);onboard.py仓库级新机一次性配置(填一张 YAML 表tokens/onboard.yaml,运行一次自动完成 SSH、Claude/Codex CLI安装认证、pip extras安装、各工具配置、rclone bootstrap);smoke.sh全工具只读冒烟检查(--help/--info/ import,无LLM、无网络、无写);serve_local_llm.sh创建 summarize调优 Ollama变体并打印 env;其它language.py(Hugo双语审计+summarize报告重命名)、profile_translation.py(翻译引擎GPU profiler)。- AI Companion:兄弟
../ai-companion/仓库提供scripts/sync.py --category dag用的 DAG 发布工具;已有本地 idea图、手动图命令、skills 仍可用。本仓库无 Companion拦截 hooks,onboarding 不装 Companion,旧 onboarding 表中的install.ai_companion设置被忽略。
2. 新手使用教程(只用 README 内容)
2.1 环境准备
README 要求的环境:
conda activate AI
说明:
- Python 3.10+,推荐 conda 环境
AI。 - Node.js 18+,只给可选 Companion 图和 DAG 发布工具用,不用可不装。
- 各工具的特殊依赖看对应目录下的
requirements.txt。 - 网站/翻译功能用本地推理引擎(默认 Ollama,用同一个
gemma4:26b聊天模型翻译;Linux 上 vLLM / Windows 上 transformers 为 fallback,用tencent/Hy-MT2-1.8B,首次运行自动下载)。 - GPU 基准自动检测 CUDA / Apple MPS / Intel XPU。
2.2 安装
README 只给了这几种安装形式,按需复制:
pip install -e .
pip install -e ".[all]"
pip install -e ".[website]"
pip install -e ".[translator]"
注意:
pip install -e .会在仓库根生成build/和gadget.egg-info/,已 gitignored,不用管。pip install -e ".[all]"包含 common + summarize / research / benchmark / website extras,但不含translator;翻译器要单独装pip install -e ".[translator]"。- website 翻译要 torch + transformers,装法就是上面
".[website]"。 - translator 要 gradio + GGUF 翻译栈,装法就是上面
".[translator]"。
2.3 配置
- 复制示例配置:
README 说工具配置在仓库根 config.json(gitignored,从 config.example.json 复制)。路径可用 GADGET_CONFIG 覆盖。
- 数据同步配置是仓库根
config.json的sync段,路径同样可用GADGET_CONFIG覆盖。跨设备同步命令(需先配好 rclone):
python scripts/sync.py
-
LLM 后端统一用
--api切换:ollama(默认)、claude_cli、anthropic、openai,或全局用GADGET_LLM_BACKEND。 -
翻译路径用本地推理引擎,由
GADGET_TRANSLATION_BACKEND选择:ollama(默认,本地 Ollama server,复用已 serve 的聊天 taggemma4:26b)→llamacpp/vllm/transformers(进程内,模型tencent/Hy-MT2-1.8B)。翻译模型覆盖用GADGET_TRANSLATION_MODEL。 -
summarize 的持久化调优参数放在仓库根
config.json的summarize段(路径可用GADGET_CONFIG覆盖),配合本地 Ollama 变体:
eval "$(bash scripts/serve_local_llm.sh env)"
- 新机 onboarding 有两条互补路径(README 未给出
onboard.py的具体调用行,只说填表后运行一次;第二条给出了--help):
- 本仓库机器配置:填
tokens/onboard.yaml,再运行scripts/onboard.py一次,自动完成 SSH、Claude/Codex 认证、pip extras、各工具配置、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
README 补充:拆分后 --companion-repo 直接传 ai-companion 仓库(git@github.com:TzJ2006/ai-companion.git),不再需要 --companion-ref。
- 只读冒烟检查(无 LLM、无网络、无写):
bash scripts/smoke.sh
- 永远不要
git add的东西:自动生成内容、rclone 同步来的数据、构建产物(build/、gadget.egg-info/)、tools/website/下的部署/theme 仓库。
2.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
- 第一行 Phase 1:导出所有未导出日期。
- 第二行 Phase 2:同步所有日期并逐天合并。
- 周报/月报带
--deploy即生成+部署;auto --deploy是一键全管线:export→merge→weekly→monthly+deploy。 - 旧入口
python tools/summarize/daily_summary.py .../weekly_summary.py/monthly_summary.py仍可用(向后兼容垫片),但推荐用上面的python -m summarize。 - 切后端在命令上加
--api,4选1:ollama、claude_cli、anthropic、openai。
2.5 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
python tools/research/research_scout.py deploy
report:全管线搜索→三阶段评估→报告。ask:自然语言搜索(自动路由源)。profile:学者画像。citations:引用图(按 arXiv ID / DOI)。deploy:报告部署到 Hugo。- LLM 功能切后端同样加
--api:ollama、claude_cli、anthropic、openai。
2.6 Benchmark 典型用法
注意 README 强调:所有命令都要先 cd 进 tools/benchmark/。
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
- 不带参数:跑全部基准,结果追加到 CSV。
--cpu-only只跑 CPU,--gpu-only只跑 GPU。--report跑基准+生成 HTML 报告;再加--deploy生成报告+发布到 Hugo/benchmark/。
2.7 Website 典型用法
pip install -e ".[website]"
cd tools/website && bash update.sh
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
cd tools/website && hugo server -D
- 第一行装依赖(含翻译用 torch + transformers)。
- 第二行 macOS/Linux:增量压缩 + Hugo构建 + 推 Pages。
- 第三行 Windows(脚本会自己 cd 到自身目录)。
- 第四行本地预览(dev server,含草稿)。
- 本地预览/构建前,自动生成内容已由各部署管线写入
tools/website/content|static;不要手工向tools/website/public/提交。
2.8 Translator 典型用法
pip install -e ".[translator]"
python -m translator
- 第一行装依赖(gradio + GGUF翻译栈)。
- 第二行启动 Gradio GUI(在浏览器打开)。UI 接线看
tools/translator/app.py,翻译和文件逻辑看tools/translator/core.py,共享引擎看common/engine.py和common/translation.py。
如果你要继续深挖某工具的分步操作、配置项、数据格式、FAQ,README 的指向是:TUTORIAL.md + 各工具自己的 source doc(summarize 看 tools/summarize/tutorial.md,research 看 tools/research/TUTORIAL.md,benchmark 看 tools/benchmark/tutorial.md,website 看 tools/website/CLAUDE.md)。
gpt-5.6-terra-high — 6,552 字符 · 事实点 15/16
1. 项目概述
Gadgets 是一组可独立使用的开发工具,覆盖:
- AI 对话记录的日报、周报、月报生成
- 学术论文发现、研究者画像和引用图分析
- CPU/GPU 性能基准测试
- Hugo 博客的构建、翻译、媒体压缩与发布
- 本地 Gradio 文档翻译
仓库把通用能力集中在根目录的 common/ 包中,包括 LLM 调用、缓存、JSON 解析、原子写入、本地翻译和 Hugo 部署。各工具位于 tools/ 下,彼此可单独运行。
仓库结构
gadget/
├── tools/
│ ├── summarize/ # AI 对话日报 / 周报 / 月报
│ ├── research/ # 论文检索、研究者分析、引用图
│ ├── benchmark/ # CPU/GPU 性能测试
│ ├── website/ # Hugo 博客
│ └── translator/ # Gradio 文档翻译器
├── common/ # 所有工具共享的基础设施
├── scripts/ # 同步、初始化、检查等运维脚本
├── docs/ # 设计文档、计划、审计报告和归档
├── outputs/ # 生成产物,已被 Git 忽略,可重建
├── AGENTS.md # AI Agent 工作流程协议
├── CLAUDE.md # Claude Code 仓库说明
└── pyproject.toml # Python 打包及依赖配置
五个工具分别做什么
| 工具 | 用途 |
|---|---|
summarize |
读取 Claude Code、Codex、Cursor Agent、ChatGPT 或通用 JSON 的对话记录,用 LLM 生成日报、周报、月报,并汇总多种 Agent CLI 的 token 用量和成本。 |
research |
从 arXiv、bioRxiv、PubMed 搜索论文;生成研究周报;分析论文全文、OpenReview 评审、研究者生涯轨迹、导师学生关系及引用网络。 |
benchmark |
跨平台测试 CPU/GPU 浮点性能,支持 NVIDIA CUDA、Apple MPS 和 Intel XPU,记录结果并生成 Plotly HTML 报告和排行榜。 |
website |
Hugo 静态博客,支持增量压缩图片/视频、自动翻译、构建并推送 GitHub Pages。 |
translator |
本地运行的 Gradio 翻译网页,可翻译文本和 .md、.txt、.pdf、.docx、图片,并尽量保护 Markdown、代码块、URL、Hugo shortcode 等格式。 |
此外:
scripts/sync.py:基于 rclone 的跨设备数据同步。scripts/onboard.py:新机器的一次性初始化。common/:共享的 LLM、缓存、IO、翻译和 Hugo 部署能力。../ai-companion/:独立的兄弟仓库,提供可选的 DAG 发布和规划工具;本仓库不拦截 Agent 工作流。
2. 首次使用教程
以下内容严格依据 README;README 还指向 TUTORIAL.md 和各工具自身文档获取更细的配置、数据格式和 FAQ。
2.1 环境准备
需要:
- Python 3.10+
- 推荐 Conda 环境
AI - Node.js 18+:仅在使用可选的 Companion 图工具或 DAG 发布时需要
- 使用网站、翻译功能时,需要本地推理引擎:默认 Ollama;Linux 可用 vLLM,Windows 可退回 transformers
README 推荐先进入 Conda 环境:
conda activate AI
所有工具共享的基础包可编辑安装:
pip install -e .
如果要安装 summarize、research、benchmark、website 的全部额外依赖:
pip install -e ".[all]"
注意:all 不包含翻译器;翻译器需要单独安装:
pip install -e ".[translator]"
网站工具本身也给出了安装命令:
pip install -e ".[website]"
2.2 基础配置
项目配置放在仓库根目录的 config.json,该文件被 Git 忽略。README 指明应从 config.example.json 创建它;如配置文件位于其他位置,可通过环境变量 GADGET_CONFIG 覆盖默认路径。
注意事项:
tokens/存放 API Key 和新机器初始化表单,已被 Git 忽略,不应提交。- 生成文件位于
outputs/,同样不应提交。 - 跨设备同步需要先配置 rclone。
- LLM 后端统一可用
--api选择:ollama:默认,本地运行,无 API Keyclaude_cli:复用 Claude Code CLI 登录状态,无 API Keyanthropicopenai
- 也可通过
GADGET_LLM_BACKEND全局指定 LLM 后端。 - 翻译引擎通过
GADGET_TRANSLATION_BACKEND选择,默认是ollama;README 还列出llamacpp、vllm、transformers等本地后端。
3. 各工具的典型使用方式
3.1 Summarize:AI 对话日报、周报、月报
适用场景:你在多台设备上使用 Claude Code、Codex、Cursor Agent、ChatGPT 等,希望集中导出对话,生成结构化工作总结。
工作流分两阶段:
- 在各设备导出未导出的日期。
- 通过云盘同步或手动复制汇总记录,再按天合并并生成报告。
导出所有尚未导出的日期:
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
README 推荐使用上述 python -m summarize 形式。旧入口仍兼容:
python tools/summarize/daily_summary.py ...
python tools/summarize/weekly_summary.py ...
python tools/summarize/monthly_summary.py ...
其 LLM 后端可通过 --api 切换,默认是本地 Ollama。
3.2 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 的论文搜索
- LLM 三阶段筛选:快速筛选、深度评估、引用影响
- 论文全文洞察与 OpenReview 评论分析
- 基于 ArXiv 与 Semantic Scholar 的研究者分析
- 正向引用与反向参考文献图分析
README 说明其 LLM 后端同样可通过 --api 切换。
3.3 Benchmark:CPU/GPU 性能测试
此工具需要先进入自己的目录:
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
README 说明该工具:
- 自动检测 CUDA、Apple MPS、Intel XPU。
- 支持 FP64、FP32、FP16、BF16,以及实验性的 FP8。
- 采用预热、正式测量、中位数和 IQR 异常值剔除,并显式同步 GPU 以保证计时准确。
- OpenCL 可能在
--info检测中出现,但不用于实际 GPU 测试。
3.4 Website:Hugo 博客构建与发布
该博客使用 Hugo 和 PaperMod 主题。自动生成的日报、研究报告、基准测试页面等会直接写入:
tools/website/content
tools/website/static
生成内容带有 gadget_generated 标记;没有该标记的手写文件不会被自动覆盖。
安装网站依赖:
pip install -e ".[website]"
在 macOS/Linux 执行增量媒体压缩、Hugo 构建和 GitHub Pages 推送:
cd tools/website && bash update.sh
Windows 下执行对应脚本:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
本地预览草稿在内的网站:
cd tools/website && hugo server -D
README 说明:
- 图片增量压缩使用 pngquant。
- 视频增量压缩使用 HandBrakeCLI。
- 本地翻译默认使用 Ollama;Linux 可使用 vLLM,Windows 可回退到 transformers。
tencent/Hy-MT2-1.8B会在首次使用时自动下载。tools/website/public/是独立部署仓库,由构建脚本自动提交并推送,不应直接向其中提交内容。
3.5 Translator:Gradio 文档翻译器
安装翻译器依赖:
pip install -e ".[translator]"
启动本地 Gradio 网页:
python -m translator
启动后会在浏览器中打开界面。它可以翻译文本和以下文件:
.md / .txt / .pdf / .docx / 图片
README 指明默认模型为:
tencent/Hy-MT2-1.8B
GGUF 变体为:
tencent/Hy-MT2-1.8B-GGUF
模型首次使用时自动下载。可用 GADGET_TRANSLATION_MODEL 改写默认模型,也可以在 GUI 中管理模型。
翻译方向方面:
- 源语言可设置为
auto,通过文本中的 CJK 比例识别。 - 目标语言设为
auto时,会在中文与英文之间自动切换。 - 翻译过程会保护 Markdown 代码块、URL 和 Hugo shortcode 等片段。
4. 运维与辅助脚本
执行跨设备数据同步:
python scripts/sync.py
README 说明该脚本支持 push、pull、status、bootstrap、config,并要求 rclone 已配置。跨设备同步的常用形式为:
python scripts/sync.py push
python scripts/sync.py pull
新机器初始化:先填写 tokens/onboard.yaml,再运行:
python scripts/onboard.py
它会处理 SSH、Claude/Codex CLI 安装与认证、pip extras、各工具配置和 rclone bootstrap。
运行只读烟雾测试,不会调用 LLM、网络或写入文件:
bash scripts/smoke.sh
创建面向 summarize 的 Ollama 变体并输出环境变量:
eval "$(bash scripts/serve_local_llm.sh env)"
最后,不要将自动生成内容、rclone 同步数据、build/、gadget.egg-info/,以及 tools/website/ 下的部署仓库或主题仓库加入 Git。
gpt-5.4-high — 14,597 字符 · 事实点 16/16
项目总结
gadget 是一个“工具箱式”仓库,收集了日常开发中沉淀下来的一组实用工具,覆盖 5 类场景:
- AI 对话日报/周报/月报生成
- 论文发现与研究者分析
- CPU/GPU 性能基准测试
- Hugo 博客自动化
- 文档翻译
它的设计是“多工具独立、基础能力共享”:
tools/下每个子目录都是一个可单独使用的工具- 仓库根目录的
common/是共享基础设施包,通过pip install -e .安装,给所有工具提供统一能力,如:- LLM 调用
- JSON 解析与修复
- 磁盘缓存
- 原子写入
- 翻译
- Hugo 部署
此外还有:
scripts/:运维和维护脚本docs/:设计文档、计划、审计报告、历史归档outputs/:所有生成产物,已被 gitignore,可重建../ai-companion/:单独仓库,提供可选的 Companion/DAG 相关能力
仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日报 / 周报 / 月报
│ ├── research/ # 论文发现 + 研究者分析 + 引文图谱
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo 博客
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包
├── scripts/ # 运维和维护脚本
├── docs/ # 文档、计划、审计、归档
├── outputs/ # 生成产物
├── AGENTS.md
├── CLAUDE.md
└── pyproject.toml
每个工具分别做什么
1. tools/summarize/
用于把你的 AI 对话记录自动整理成日报、周报、月报。
README 里明确提到它支持读取这些来源的对话记录:
- Claude Code
- Codex
- Cursor Agent
- ChatGPT
- 通用 JSON
工作方式是“两阶段、多设备”:
- 先在每台设备上导出会话日志
- 再通过云盘同步或手动拷贝汇总
- 生成日报
- 积累足够多日报后生成周报、月报
它还能借助 ccusage 20.x 统计各类 agent CLI 的 token 使用与成本。
LLM 后端支持统一切换:
ollama(默认)claude_clianthropicopenai
2. tools/research/
这是一个统一的学术研究 CLI 工具,核心入口是 tools/research/research_scout.py。它有四大能力:
- 论文发现:从 arXiv / bioRxiv / PubMed 搜索论文,经过三阶段 LLM 流程评估,生成研究周报并可部署到 Hugo
- 深度论文洞察(
--insight):下载全文,分析写作结构、投稿策略、可复用知识,并自动匹配 OpenReview 评审意见 - 研究者画像:基于 ArXiv + Semantic Scholar 数据做研究轨迹分析、分层评分、师承关系发现
- 引文图谱分析:基于 Semantic Scholar API 做前向引用 / 后向参考分析,并用 LLM 解读影响力
LLM 后端同样支持:
ollama(默认)claude_clianthropicopenai
3. tools/benchmark/
这是一个跨平台的 CPU/GPU FLOPS 基准测试工具,用来统一测试不同硬件和精度下的浮点性能。
README 说明它支持:
- NVIDIA CUDA
- Apple Silicon MPS
- Intel XPU
并覆盖这些精度层级:
- FP64
- FP32
- FP16
- BF16
- FP8(实验性)
特点包括:
- 预热 + 正式测量 + 统计分析
- 显式 GPU 同步,保证计时准确
- 结果以 CSV 追加保存,不覆盖旧结果
- 可生成交互式 HTML 报告和排行榜
- 支持部署到 Hugo 站点以及提交到公开排行榜
4. tools/website/
这是 Hugo 静态博客站点,README 中称其为 “TzJ’s Net”,部署到 GitHub Pages。
它不只是一个博客目录,还包含完整自动化流程:
- 增量图片/视频压缩
- 双语翻译
- 构建
- 推送部署
重要特点:
- 图片走
pngquant - 视频走
HandBrakeCLI - 翻译默认使用本地模型推理,不走云端 LLM API
- 自动生成内容会直接写入
tools/website/content|static tools/website/public/是单独的部署仓库,由脚本自动提交推送,不应手动直接提交
5. tools/translator/
这是一个基于 Gradio 的本地文档翻译器,复用了 common 的翻译引擎。
它支持翻译:
- 文本
.md.txt.pdf.docx- 图片
特性包括:
- 尽量保留 Markdown 格式
- 保护代码块、URL、Hugo shortcode 等片段
- 本地推理,不依赖云 API
- 自动选择后端:
ollama优先transformers是 Windows fallbackvllm是 Linux 优先llamacpp适合低显存 GGUF
- 默认模型是
tencent/Hy-MT2-1.8B - 源语言可设为
auto - 目标语言若设为
auto,会在中英之间自动切换
common/、scripts/、../ai-companion/ 分别是什么
common/
所有工具共享的基础包,主要提供:
- 统一 LLM 调用
- JSON 解析与修复
- SHA-256 磁盘缓存
- 原子写入与内容哈希
- 本地翻译引擎
- 跨平台 Hugo 部署
scripts/
仓库级脚本集合,README 重点列了这些:
sync.py:集中式 rclone 数据同步onboard.py:新机器一次性初始化smoke.sh:只读 smoke 测试serve_local_llm.sh:创建 summarize 调优的 Ollama 变体并打印环境language.py:Hugo 双语审计与报告重命名profile_translation.py:翻译引擎 GPU profiler
../ai-companion/
这是兄弟仓库,不是本仓库的一部分,README 里提到它提供:
- DAG 发布工具
- 代码变更跟踪
- 规划/执行技能流水线
- 服务器级安装脚本
详细中文使用教程
下面这份教程只依据 README。README 多次说明:更细的分步操作、数据格式、FAQ,请继续看 TUTORIAL.md 以及各工具自己的文档。所以你可以把下面当作“README 级别的上手指南”。
一、先理解这个仓库怎么用
这个仓库不是一个单一应用,而是一组工具的集合。最常见的使用方式是:
- 先准备 Python 环境
- 安装根目录共享包和你要用的工具依赖
- 配置仓库根目录
config.json - 只进入你需要的工具使用对应命令
- 生成的结果统一写到
outputs/,或者对接到tools/website/
README 给出的原则很清楚:
- 每个
tools/<tool>/都是独立工具 - 共用能力放在
common/ - 工具配置在仓库根目录
config.json - 敏感信息放在
tokens/,且不能提交 - 所有生成结果放在
outputs/
二、环境准备
1. 基础要求
README 中写到的环境要求是:
- Python 3.10+
- 推荐使用 conda 环境
AI - Node.js 18+,但只在可选的 Companion 图/DAG 工具里需要
- 每个工具的具体依赖见对应目录的
requirements.txt
README 给出的环境激活示例只有这一条:
conda activate AI
2. 推荐先安装所有常用工具依赖
如果你希望一次性安装 common 包以及 summarize / research / benchmark / website 相关依赖,README 给出的命令是:
pip install -e ".[all]"
注意 README 特别说明:
all不包含translatortranslator需要单独安装
因此如果你还要使用翻译器,还要额外执行:
pip install -e ".[translator]"
如果你只打算使用网站相关功能,README 给出的单独安装命令是:
pip install -e ".[website]"
3. 本地推理相关说明
README 里提到,网站翻译功能和翻译器都依赖本地推理引擎,默认优先使用 Ollama。
还提到:
- 网站/翻译特性默认使用本地推理
- Linux 上优先
vLLM - Windows 上 fallback 到
transformers - 相关模型在首次运行时可能自动下载
这意味着,第一次运行相关工具时,可能会发生本地模型下载或加载。
三、安装与仓库初始化
1. 安装根目录共享包
README 明确说 common/ 是通过下面的方式安装为 Python 包的:
pip install -e .
不过 README 也给了更常见的“带 extras”安装方式,所以实际通常按需求选择:
- 通用安装:
pip install -e ".[all]"
- 仅翻译器:
pip install -e ".[translator]"
- 仅网站:
pip install -e ".[website]"
2. 新机器初始化
如果你是在一台新机器上首次配置这个仓库,README 给出的流程是:
- 填写
tokens/onboard.yaml - 运行:
python scripts/onboard.py
README 说明它会自动完成:
- SSH 配置
- Claude/Codex CLI 安装与认证
- pip extras 安装
- 每个工具的配置
- rclone bootstrap
如果你需要的是服务器系统级安装,README 说相关脚本已经迁移到兄弟仓库 ../ai-companion/,查看帮助用:
bash ../ai-companion/scripts/onboard-server.sh --help
四、配置文件怎么准备
README 对配置的说明主要有这些:
1. 主配置文件位置
工具设置放在仓库根目录:
config.json
并且 README 说:
- 这是 gitignored 的
- 应当从
config.example.json复制得到 - 可以通过
GADGET_CONFIG覆盖路径
这里 README 只说明了“从 config.example.json 复制”,但没有给出具体复制命令,所以这里不补写命令,避免超出 README 范围。
2. 敏感信息位置
README 明确说:
tokens/用于保存 API key 和 onboarding 表tokens/是 gitignored- 绝对不要提交其内容
3. LLM 后端配置
README 说明所有 LLM 功能都统一支持通过 --api 选择后端:
ollama(默认)claude_clianthropicopenai
另外也可以通过全局环境变量控制:
GADGET_LLM_BACKEND
4. 翻译后端配置
README 说明翻译链路可以通过:
GADGET_TRANSLATION_BACKEND
来选择后端,候选是:
ollama(默认)llamacppvllmtransformers
翻译模型可通过:
GADGET_TRANSLATION_MODEL
覆盖默认模型。
5. 数据同步配置
README 说明跨设备同步使用:
python scripts/sync.py
并指出其配置来自:
- 根目录
config.json的syncsection
五、先做一次健康检查
README 提供了一个只读 smoke 脚本,用来检查:
--help--info- imports
而且明确说明:
- 不调用 LLM
- 不联网
- 不写入
可以运行:
bash scripts/smoke.sh
如果你是第一次接触这个仓库,这是一个很好的起点。
六、各工具的典型用法
下面按工具逐个介绍,只使用 README 里出现过的命令。
七、summarize 使用教程
这个工具是做什么的
它用于把多个来源的 AI 会话记录整理成结构化日报、周报、月报,并支持多设备数据汇总。
支持的后端
README 说明可以通过 --api 切换:
ollamaclaude_clianthropicopenai
典型流程
1. 导出所有未导出的日期
python -m summarize daily export
README 注释这是:
- Phase 1: export all unexported dates
2. 同步所有日期并按天合并
python -m summarize daily merge --sync-all
README 注释这是:
- Phase 2: sync all dates and merge day by day
3. 生成周报并部署
python -m summarize weekly generate --week 2026-W12 --deploy
4. 生成月报并部署
python -m summarize monthly generate --month 2026-02 --deploy
5. 一键跑完整流程
python -m summarize auto --deploy
README 对它的说明是:
- export → merge → weekly → monthly + deploy
旧入口
README 还说明旧入口仍然可用,但推荐使用新的 python -m summarize 形式。旧入口是:
python tools/summarize/daily_summary.py ...python tools/summarize/weekly_summary.py ...python tools/summarize/monthly_summary.py ...
因为 README 没给出这些旧入口的完整示例命令,所以第一次使用建议直接用新的模块方式。
想进一步看细节
README 指向:
TUTORIAL.md中的 Summarize 章节tools/summarize/tutorial.md
八、research 使用教程
这个工具是做什么的
它是统一的学术研究 CLI,入口是:
tools/research/research_scout.py
可做论文发现、研究者画像、引文分析,以及更深的论文洞察。
典型命令
1. 生成某个项目的完整研究报告
python tools/research/research_scout.py report --project my-project
README 说明这会执行完整流程:
- search → three-stage evaluation → report
2. 自然语言搜索论文
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
README 说明这是:
- Natural-language search (auto-routes source)
3. 生成研究者画像
python tools/research/research_scout.py profile "Sergey Levine"
4. 做引文图谱分析
python tools/research/research_scout.py citations 2301.12597
README 说明参数可用:
- arXiv ID
- DOI
5. 部署报告到 Hugo
python tools/research/research_scout.py deploy
LLM 后端
这个工具的 LLM 功能同样支持通过 --api 切换:
ollamaclaude_clianthropicopenai
想进一步看细节
README 指向:
TUTORIAL.md中的 Research 章节tools/research/TUTORIAL.md
九、benchmark 使用教程
这个工具是做什么的
它用于跨平台 CPU/GPU FLOPS 测试,并可以生成 HTML 报告和排行榜。
使用前注意
README 特别注明:
- 所有命令都要求先
cd到tools/benchmark/
所以先执行:
cd tools/benchmark
典型命令
1. 跑全部 benchmark
python -m benchmark.cli
README 说明:
- 结果会追加到 CSV
- 不会覆盖旧数据
2. 只测 CPU
python -m benchmark.cli --cpu-only
3. 只测 GPU
python -m benchmark.cli --gpu-only
4. 跑 benchmark 并生成 HTML 报告
python -m benchmark.cli --report
5. 生成报告并发布到 Hugo 的 /benchmark/
python -m benchmark.cli --report --deploy
想进一步看细节
README 指向:
TUTORIAL.md中的 Benchmark 章节tools/benchmark/tutorial.md
十、website 使用教程
这个工具是做什么的
它是 Hugo 博客站点本体,并负责:
- 增量媒体压缩
- 翻译
- 构建
- 发布
安装网站依赖
README 给出的命令是:
pip install -e ".[website]"
README 说明这会包含网站相关依赖,包括:
torchtransformers
典型命令
1. macOS/Linux:更新、压缩、构建并推送 Pages
cd tools/website && bash update.sh
README 说明这会做:
- incremental compress
- Hugo build
- push Pages
2. Windows:运行 PowerShell 更新脚本
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
README 说明该脚本会自动切换到自己的目录。
3. 本地预览 Hugo 站点
cd tools/website && hugo server -D
README 说明:
- 这是本地 dev server
- 包含 drafts
README 中关于网站的重要规则
- 自动生成内容写入
tools/website/content|static - 这些自动生成文件会带有
gadget_generated标记 - 没有这个标记的手写文件不会被覆盖
tools/website/public/是单独部署仓库- 它会由构建脚本自动提交和推送
- 不要直接往这个目录提交
想进一步看细节
README 指向:
TUTORIAL.md中的 Website 章节tools/website/CLAUDE.md
十一、translator 使用教程
这个工具是做什么的
它是一个基于 Gradio 的本地文档翻译器,适合把文本或文件翻译成另一种语言,同时尽量保持 Markdown 结构不乱。
安装依赖
README 给出的命令是:
pip install -e ".[translator]"
README 说明这里会安装:
- Gradio
- GGUF translation stack
启动方式
python -m translator
README 说明它会:
- 启动 Gradio GUI
- 在浏览器中打开
支持内容
README 列出的支持范围:
- 文本
.md.txt.pdf.docx- 图片
模型与后端
README 说明:
- 默认模型:
tencent/Hy-MT2-1.8B - GGUF 变体:
tencent/Hy-MT2-1.8B-GGUF - 首次使用时会自动下载
- 可通过
GADGET_TRANSLATION_MODEL覆盖 - GUI 内也可做模型管理
自动后端选择逻辑在 README 中写为:
ollama自动优先- Windows fallback:
transformers - Linux 优先:
vllm - 低显存 GGUF:
llamacpp
语言自动判断
README 说明:
- 源语言可设为
auto - 会根据文本的 CJK ratio 自动判断
- 若目标语言设为
auto,则会在zh ↔ en间自动翻转
想进一步看细节
README 指向:
TUTORIAL.md中的 Translator 章节
同时也给了代码入口位置,方便你继续查:
tools/translator/app.pytools/translator/core.pycommon/engine.pycommon/translation.py
十二、运维脚本怎么用
这些脚本不是五个主工具之一,但 README 明确把它们列为仓库的重要组成部分。
1. 数据同步:scripts/sync.py
README 说它用于集中式 rclone 数据同步,可用于:
- push
- pull
- status
- bootstrap
- config
运行入口是:
python scripts/sync.py
README 还说明:
- 覆盖 summarize / website / research / benchmark / backups 等类别
- 还包含特殊的
dag类别 - 配置在根目录
config.json的syncsection - 可通过
GADGET_CONFIG覆盖配置路径
2. 新机器初始化:scripts/onboard.py
填写 tokens/onboard.yaml 后,执行:
python scripts/onboard.py
README 说它会自动处理:
- SSH
- Claude/Codex 登录
- pip extras
- per-tool config
- rclone bootstrap
3. 只读 smoke 检查:scripts/smoke.sh
bash scripts/smoke.sh
README 说明这是:
- 只读 smoke net
- 会测
--help/--info/ imports - 不涉及 LLM、网络、写入
4. 本地 LLM 服务辅助脚本:scripts/serve_local_llm.sh
README 给出的命令是:
eval "$(bash scripts/serve_local_llm.sh env)"
README 对它的描述是:
- 创建一个 summarize 调优的 Ollama 变体
- 打印环境变量
- 持久化配置项放在根目录
config.json的summarizesection - 可通过
GADGET_CONFIG覆盖配置路径
5. 其他脚本
README 还提到:
language.py:Hugo 双语审计 + summarize 报告重命名profile_translation.py:翻译引擎 GPU profiler
README 没给这两个脚本的具体命令示例,所以这里只能说明用途,不补充命令。
十三、输出目录怎么看
README 说明所有生成结果都集中到 outputs/:
outputs/
├── logs/ # 中间产物
├── reports/ # 最终报告
├── cache/ # LLM cache / search cache
├── data/ # 结构化数据
├── images/ # 图表和生成图片
└── backups/ # 备份
特别注意:
- Hugo 站点内容不是写到
outputs/site - 而是直接写到
tools/website/content|static
十四、第一次使用建议顺序
如果你第一次接触这个项目,按 README 最稳妥的上手顺序可以是:
- 激活 Python 环境
conda activate AI
- 安装常用依赖
pip install -e ".[all]"
- 如果还要用翻译器,再安装:
pip install -e ".[translator]"
- 准备根目录
config.json,并按需要填写tokens/下的内容 - 跑一次只读检查:
bash scripts/smoke.sh
- 按目标进入某个工具:
- 做 AI 日报:
summarize - 做论文搜索:
research - 做性能测试:
benchmark - 维护博客:
website - 做文档翻译:
translator
十五、README 里特别强调的注意事项
tokens/存放 API key 和 onboarding 表,不要提交outputs/是生成目录,已 gitignored- 跨设备同步使用:
python scripts/sync.py
- 不要
git add这些内容:- 自动生成内容
- rclone 同步数据
build/gadget.egg-info/tools/website/下的部署/主题仓库
tools/website/public/是单独部署仓库,不要手动直接提交- 许可证是 GPL-3
十六、最短命令清单
如果你只想先把 README 里的核心命令抄下来,下面这组就是最关键的。
环境与安装:
conda activate AI
pip install -e ".[all]"
pip install -e ".[translator]"
pip install -e ".[website]"
pip install -e .
仓库级脚本:
python scripts/sync.py
python scripts/onboard.py
bash scripts/smoke.sh
eval "$(bash scripts/serve_local_llm.sh env)"
bash ../ai-companion/scripts/onboard-server.sh --help
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
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
python tools/research/research_scout.py deploy
benchmark:
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
website:
cd tools/website && bash update.sh
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
cd tools/website && hugo server -D
translator:
pip install -e ".[translator]"
python -m translator
如果你愿意,我下一步可以继续把这份 README 内容整理成一版更像“中文官方手册”的格式,例如分成“5 分钟快速开始 / 按场景上手 / 常见配置项 / 常见坑”四部分。
gemini-3.6-flash-high — 5,930 字符 · 事实点 16/16
以下是根据 README 原文整理的项目总结与详细使用教程:
第一部分:开源项目 Gadgets 总结
1. 项目简介
Gadgets 是一个在日常开发中积累的实用工具集,采用 GPL-3 许可协议。项目涵盖以下 5 个核心领域:
- AI 对话日报/周报/月报生成(Summarize)
- 论文检索与研究者分析(Research)
- CPU/GPU 性能基准测试(Benchmark)
- Hugo 博客自动化与媒体增量压缩(Website)
- Gradio 文档与文件翻译器(Translator)
tools/ 目录下的每个工具均可独立使用;根目录的 common/ 包提供统一的共享基础能力(包括 LLM 调用、JSON 解析修复、磁盘缓存、原子写入、翻译引擎及 Hugo 部署等),通过 pip install -e . 安装。所有生成的中间与最终产物统一保存在 outputs/ 目录中。
2. 仓库结构
gadget/
├── tools/ # 5 个独立的工具产品(修改具体工具逻辑去这里)
│ ├── 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,可自动重建)
│ ├── logs/ # 中间日志(导出日志、运行日志)
│ ├── reports/ # 最终报告(Markdown, JSON, HTML)
│ ├── cache/ # LLM 缓存、搜索缓存
│ ├── data/ # 结构化数据(CSV, JSON profiles)
│ ├── images/ # 图表与生成的图片
│ └── backups/ # 强制覆盖备份(website-force 等)
├── AGENTS.md # 所有 AI agent 的工作流协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # common/ 及各工具的打包配置 (pip install -e .)
3. 各工具功能介绍
- Summarize(AI 对话报告生成):
自动读取每日 AI 对话记录(支持 Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM API 生成结构化日报、周报和月报。采用多设备两阶段架构(设备导出 → 云盘同步/手动合并 → 逐日合并导出 → 生成周/月报)。集成
ccusage 20.x自动统计 Agent CLI 的 Token 使用量与成本。支持 4 种后端切换(ollama默认、claude_cli、anthropic、openai)。 - Research(论文检索与研究者分析):
通过统一 CLI 入口
tools/research/research_scout.py提供四大能力:- 论文检索:通过 arXiv / bioRxiv / PubMed 进行三阶段 LLM 筛选、评估与影响分析,生成研究周报并部署至 Hugo;
- 深度论文洞察(
--insight):下载全文分析结构、发表策略,自动匹配 OpenReview 审稿意见; - 研究者画像:结合 arXiv + Semantic Scholar 分析研究轨迹、计算 tier 得分、提取师生关系;
- 引用图谱分析:基于 Semantic Scholar API 分析前后向引用及 LLM 影响解读。
- Benchmark(性能基准测试): 跨平台 CPU/GPU FLOPS 浮点性能测试工具。实际 GPU 运行支持 NVIDIA (CUDA)、Apple Silicon (MPS)、Intel (XPU),涵盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)精度。采用预热、正式测量、中位数/IQR 异常值剔除及显式 GPU 同步。结果追加写入 CSV(支持多硬件累积),可生成 Plotly 交互式 HTML 报告及排行榜。
- Website(Hugo 博客):
基于 Hugo(PaperMod 主题)的博客(“TzJ’s Net”),部署至 GitHub Pages。内置增量媒体压缩(图片走 pngquant,视频走 HandBrakeCLI)和本地模型双语翻译(默认 Ollama,Linux 走 vLLM / Windows 走 transformers,自动下载
tencent/Hy-MT2-1.8B)。生成的内容直接写入tools/website/content|static(带有gadget_generated标记的手写文件不会被覆盖)。 - Translator(Gradio 文档翻译器):
基于
common翻译引擎构建的本地类谷歌翻译 Web 界面。支持文本及文件(.md/.txt/.pdf/.docx/ 图片)翻译,保持 Markdown 格式(保护代码块、URL、Hugo shortcodes)。纯本地推理,自动选型(优先ollama,Windows 选transformers,Linux 选vllm,低显存选llamacpp),默认模型tencent/Hy-MT2-1.8B(GGUF 变体tencent/Hy-MT2-1.8B-GGUF)。根据 CJK 比例检测自动在中英(zh↔en)之间切换。
第二部分:详细使用教程
1. 环境准备与配置
- Python 版本:需要 Python 3.10+(推荐使用 conda 环境
AI,即conda activate AI)。 - Node.js 版本:Node.js 18+(仅在使用可选 Companion 图及 DAG 发布工具时需要)。
- 配置文件与密钥:
- API Key 与机器初始化表单保存在
tokens/目录(已 gitignore)。 - 项目配置存放在根目录
config.json(可从config.example.json复制),可使用环境变量GADGET_CONFIG指定配置文件路径。
- API Key 与机器初始化表单保存在
- LLM 与翻译后端设置:
- LLM 后端可通过命令行
--api参数或环境变量GADGET_LLM_BACKEND指定:ollama(默认)、claude_cli、anthropic、openai。 - 翻译后端由环境变量
GADGET_TRANSLATION_BACKEND指定:ollama(默认)/llamacpp/vllm/transformers。
- LLM 后端可通过命令行
2. 安装
(1) 安装基础架构及常规工具依赖
pip install -e ".[all]"
注:.[all] 不包含翻译器 translator 的依赖。
(2) 安装 Translator 依赖
pip install -e ".[translator]"
(3) 安装 Website 及其翻译依赖
pip install -e ".[website]"
3. 运维与初始化命令
新机器一键初始化(Onboarding)
填写 tokens/onboard.yaml 后执行:
python scripts/onboard.py
全工具冒烟测试(只读检查 --help 与依赖导入)
bash scripts/smoke.sh
跨设备数据同步(依赖 rclone)
python scripts/sync.py
启动本地 Ollama 微调变体并设置环境变量
eval "$(bash scripts/serve_local_llm.sh env)"
服务器系统级安装脚本(位于同级 ai-companion 仓库)
bash ../ai-companion/scripts/onboard-server.sh --help
4. 各工具典型用法与命令
(1) Summarize — AI 对话日/周/月报
# 阶段 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
# 一键全流程:导出 → 合并 → 周报 → 月报 + 部署
python -m summarize auto --deploy
(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"
# 基于 arXiv ID 或 DOI 查询引用图谱
python tools/research/research_scout.py citations 2301.12597
# 将生成的报告部署至 Hugo 站点
python tools/research/research_scout.py deploy
(3) Benchmark — 性能基准测试
注意:运行 Benchmark 命令前必须先进入
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
(4) Website — Hugo 博客构建与发布
# macOS / Linux: 增量压缩媒体 + Hugo 构建 + 推送至 Pages
cd tools/website && bash update.sh
# Windows: 运行 PowerShell 更新脚本
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 本地预览(启动开发服务器,包含草稿)
cd tools/website && hugo server -D
(5) Translator — Gradio 文档翻译器
# 安装翻译器依赖
pip install -e ".[translator]"
# 启动 Gradio GUI 界面(启动后在浏览器中打开)
python -m translator
gemini-3.1-pro — 4,422 字符 · 事实点 13/16
这是一份基于所提供 README 内容的中文总结与详细使用教程。
第一部分:项目总结
1. 项目简介 (What is it)
Gadgets 是一个在日常开发中积累的实用工具集合。它主要涵盖五个方面的功能:AI 每日对话报告生成、学术论文发现与分析、跨平台硬件性能基准测试、自动化博客部署以及文档翻译。
项目采用了“模块化”的设计:所有工具都可以独立使用,而它们共享的基础能力(如大模型调用、磁盘缓存、翻译引擎等)则被统一提取到了公共包(common)中。
2. 仓库结构 (Repository Structure)
整个仓库的目录结构清晰地划分了工具、公共组件、脚本和输出目录:
tools/:核心目录,包含 5 个独立的工具产品。common/:共享的基础设施包(处理 LLM、缓存、文件 IO、翻译和 Hugo 部署等),所有工具都依赖它。scripts/:运维与管理脚本目录,包含数据同步 (sync.py)、新机器初始化 (onboard.py) 等脚本。docs/:文档目录,包含设计文档、计划、审计报告和历史归档。outputs/:所有工具自动生成的产物(如日志、报告、缓存、数据、图表等)都会输出到这里(已配置 gitignore)。- 其他:
AGENTS.md(AI 代理工作流协议)、CLAUDE.md(Claude Code 仓库指南)、pyproject.toml(打包配置文件)。
3. 每个工具分别做什么 (Tools at a Glance)
在 tools/ 目录下,五个工具分别负责以下功能:
summarize(AI 报告总结):自动读取你在各个设备上的 AI 对话记录(如 Claude, ChatGPT 等),计算 Token 消耗与成本,并通过大模型生成结构化的每日、每周、每月总结报告。research(论文发现与研究员分析):学术研究工具包。支持从各大预印本和文献库检索论文并进行三阶段的 LLM 深度评估,还能分析研究人员的学术轨迹、生成关系图谱,以及进行论文引用图谱分析。benchmark(性能基准测试):跨平台 CPU/GPU FLOPS 性能测试工具。支持统一测量不同硬件厂商(NVIDIA, Apple, Intel)和不同精度下的性能,并生成带图表的 HTML 报告和排行榜。website(Hugo 博客自动部署):用于构建和发布 Hugo 静态博客。内置了增量媒体压缩管道(仅压缩变更的图片和视频),支持本地模型的双语翻译,并能将生成的报告和文章自动构建并推送到 GitHub Pages。translator(Gradio 文档翻译器):基于 Gradio 的本地文档翻译 Web 界面。支持文本以及.md、.txt、.pdf、.docx等文件的翻译,翻译过程中会完美保留 Markdown 格式。完全使用本地化模型推理,无需云端 API。
第二部分:详细新手使用教程
面向初次接触该项目的用户,请按照以下步骤进行环境准备、安装配置及使用。
一、 环境准备
- Python 环境:需要 Python 3.10 及以上版本(推荐使用 Conda 创建独立环境,例如
conda activate AI)。 - Node.js(可选):Node.js 18+(仅在需要使用可选的 Companion 图谱和 DAG 发布功能时需要)。
二、 安装与配置
1. 依赖安装
在仓库根目录下运行以下命令安装基础包和大部分工具(summarize, research, benchmark, website):
pip install -e ".[all]"
注意:[all] 并不包含 translator。如果你需要使用翻译工具,需要额外执行:
pip install -e ".[translator]"
2. 配置文件初始化
- 常规配置:项目的运行配置位于仓库根目录的
config.json中。你需要将示例文件config.example.json复制为config.json(该文件会被 Git 忽略)。你也可以通过设置GADGET_CONFIG环境变量来指定其他路径。 - 新机器一键初始化(可选):如果你在一台新服务器上配置,可以在
tokens/onboard.yaml中填入信息,然后运行以下脚本自动完成 SSH、CLI 认证、依赖安装等配置:python scripts/onboard.py
三、 各个工具的典型用法
以下是各工具最常用、可直接复制的运行命令。
1. Summarize (AI 报告生成)
支持自动归集你的 AI 聊天记录并生成总结。LLM 后端默认使用本地的 ollama,也可以通过 --api 参数切换为 claude_cli、anthropic 或 openai。
# 步骤 1:导出所有未导出的历史日期数据
python -m summarize daily export
# 步骤 2:同步并按天合并每日数据
python -m summarize daily merge --sync-all
# 步骤 3:生成指定周的周报并部署
python -m summarize weekly generate --week 2026-W12 --deploy
# 步骤 4:生成指定月的月报并部署
python -m summarize monthly generate --month 2026-02 --deploy
# 🌟 懒人一键命令:全流程自动执行(导出 → 合并 → 周报 → 月报 → 部署)
python -m summarize auto --deploy
2. Research (科研与论文分析)
统一通过 research_scout.py 入口调用,同样支持通过 --api 参数切换不同的 LLM 后端。
# 全流程:搜索论文 → 三阶段评估 → 生成报告
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
3. Benchmark (性能测试)
用于测试 CPU/GPU 的浮点运算性能。注意:执行这些命令前必须先进入 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
4. Website (Hugo 博客)
用于自动化构建静态博客。内置了增量压缩和自动推送到 GitHub Pages 的脚本。
# 确保你已安装对应的 website 依赖包
pip install -e ".[website]"
# 【macOS / Linux 系统】执行增量压缩、Hugo 构建并推送
cd tools/website && bash update.sh
# 【Windows 系统】执行增量压缩、构建并推送
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# 本地预览你的博客网站(包含草稿)
cd tools/website && hugo server -D
提示:所有自动生成的内容会直接写入 tools/website/content|static,构建后的公开网站部署在分离的 tools/website/public/ 仓库中,脚本会自动提交推送,请勿手动往 public 目录提交代码。
5. Translator (文档翻译器)
启动一个支持文档翻译的网页端 UI,在翻译长篇 Markdown 等文件时能安全保护代码块和格式。
# 确保已安装翻译组件所需依赖
pip install -e ".[translator]"
# 启动 Gradio 网页界面(会自动在浏览器中打开)
python -m translator
提示:该工具初次运行时会自动下载默认翻译模型 tencent/Hy-MT2-1.8B。翻译引擎完全运行在本地。你可以通过 UI 界面或设置 GADGET_TRANSLATION_MODEL 环境变量来切换模型。
gpt-5.4-mini-high — 6,677 字符 · 事实点 15/16
我先把 README 里的信息整理成两部分:先做项目概览和仓库结构,再按工具写一份可直接上手的中文教程,只使用 README 中明确写到的内容和命令。
下面只根据你贴出的 README.md 来整理,不额外补 README 没写的命令或参数。
1. 项目总结
Gadgets 是一个“日常开发积累出来的实用工具集”,核心特点是:
tools/下的每个目录都是一个独立工具,可以单独使用common/提供所有工具共享的基础能力,比如:- LLM 调用
- JSON 解析
- 磁盘缓存
- 原子写入
- 翻译
- Hugo 部署
scripts/放的是运维和维护脚本outputs/存所有生成结果,可重建、已忽略进 Git- 还有一个可选的相邻仓库
../ai-companion/,用于 DAG 发布等能力
一句话概括:这是一个围绕 AI 报告、论文研究、性能基准、博客自动化、文档翻译 这五类任务构建的工具仓库。
仓库结构
README 里给出的结构可以这样理解:
tools/summarize/:AI 对话日报 / 周报 / 月报tools/research/:论文发现 + 研究者分析 + 引用图tools/benchmark/:CPU / GPU 性能基准测试tools/website/:Hugo 博客站点,带自动压缩、构建、发布tools/translator/:Gradio 文档翻译器common/:共享基础库scripts/:同步、上手配置、烟雾测试等维护脚本docs/:设计文档、ECL 计划、审计报告、历史归档outputs/:所有生成产物AGENTS.md/CLAUDE.md:工作流和仓库指南pyproject.toml:打包配置
每个工具分别做什么
summarize
自动读取你每天的 AI 对话记录,生成结构化的日报、周报、月报。它支持多设备工作流:先在各设备导出对话日志,再同步后合并生成最终报告。README 还说明它能通过 ccusage 20.x 自动统计各类 Agent CLI 的 token 和成本。
支持的后端有四种,通过 --api 切换:
ollama,默认claude_clianthropicopenai
research
这是一个统一的学术研究工具,入口是 tools/research/research_scout.py,主要包括四类能力:
- 论文发现:从 arXiv / bioRxiv / PubMed 搜索论文,并生成研究周报,还能部署到 Hugo
- 深度论文洞察:下载全文,让 LLM 分析论文写作结构、发表策略、可复用知识,还能结合 OpenReview 分析评审意见
- 研究者画像:基于 ArXiv + Semantic Scholar 分析研究轨迹、分层评分、师生关系等
- 引用图分析:做前向引用和后向参考分析,并由 LLM 解读影响力
同样支持 --api 切换 LLM 后端。
benchmark
这是一个跨平台 CPU/GPU 浮点性能测试工具,测量不同硬件上的 FLOPS 表现。README 说明它支持:
- NVIDIA CUDA
- Apple Silicon MPS
- Intel XPU
它会做 warm-up、正式测量、统计分析,并把结果追加写入 CSV,还能生成 HTML 报告和排行榜。
website
这是一个 Hugo 博客站点,名为 TzJ’s Net,主题是 PaperMod。它的重点是:
- 增量式图片 / 视频压缩
- 自动构建和发布
- 自动翻译内容
- 直接把生成内容写入
tools/website/content|static tools/website/public/是单独的部署仓库,自动 commit + push
translator
这是一个基于 common 翻译引擎的 Gradio 文档翻译器,功能上相当于一个本地版 Google Translate 风格网页:
- 支持文本和文件翻译
- 支持
.md/.txt/.pdf/.docx/ 图片 - 保留 Markdown 结构,比如代码块、URL、Hugo shortcode
- 默认用本地推理,不走云 API
- 默认模型是
tencent/Hy-MT2-1.8B,或其 GGUF 变体
2. 详细中文使用教程
第一步:准备环境
README 给出的最低环境要求是:
- Python 3.10+
- 推荐使用
conda activate AI - Node.js 18+ 只用于可选的 Companion 图和 DAG 发布能力
如果你要完整使用仓库里提到的工具,README 里给出的依赖安装方式有几种:
pip install -e .
pip install -e ".[all]"
pip install -e ".[translator]"
pip install -e ".[website]"
README 的说明是:
pip install -e .:安装仓库根部的共享包pip install -e ".[all]":安装 common 包 + summarize / research / benchmark / website 这些额外依赖pip install -e ".[translator]":单独安装翻译器依赖pip install -e ".[website]":安装网站相关依赖,包括翻译所需的torch和transformers
如果你是第一次接触这个项目,README 里还建议先跑一个只读自检:
bash scripts/smoke.sh
它会做 --help / --info / import 检查,不会用 LLM、不会联网、也不会写文件。
第二步:配置项目
README 里明确提到的配置点主要有这些:
1. config.json
工具设置放在仓库根目录的 config.json,这个文件是 gitignored 的。README 建议:
- 从
config.example.json复制一份作为起点 - 如果需要改配置文件位置,可以用
GADGET_CONFIG
2. tokens/
这个目录存 API key 和 onboarding 表单,不要提交到 Git。
3. LLM 后端切换
README 说明所有 LLM 相关功能都可以统一通过这些后端切换:
ollama,默认claude_clianthropicopenai
对应的全局环境变量是 GADGET_LLM_BACKEND。
4. 翻译后端切换
README 说明翻译路径也有统一的本地推理后端选择,环境变量是 GADGET_TRANSLATION_BACKEND,可选包括:
ollamallamacppvllmtransformers
翻译模型还可以用 GADGET_TRANSLATION_MODEL 覆盖。
5. 首次上机配置
如果你是在新机器上用这个仓库,README 推荐使用:
python scripts/onboard.py
它要求先填写 tokens/onboard.yaml,然后会自动完成:
- SSH 配置
- Claude / Codex CLI 安装和认证
- pip extras 安装
- 各工具配置
- rclone bootstrap
第三步:按工具使用
下面按工具给你最常用的命令。
1) summarize 的典型用法
README 推荐的新入口是 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
这几条分别对应:
daily export:导出所有还没导出的日期daily merge --sync-all:同步所有日期并按天合并weekly generate:生成周报并部署monthly generate:生成月报并部署auto --deploy:一键执行导出、合并、周报、月报和部署
README 还说旧入口仍然可用,但推荐新形式 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
python tools/research/research_scout.py deploy
分别表示:
report:搜索论文、做三阶段评估、生成报告ask:自然语言提问,自动路由检索源profile:生成研究者画像citations:做引用图分析,输入可用 arXiv ID / DOIdeploy:把报告部署到 Hugo
3) benchmark 的典型用法
README 明确说明:所有 benchmark 命令都要先进入 tools/benchmark/。
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
含义是:
- 默认运行全部基准测试,结果追加到 CSV
--cpu-only:只跑 CPU--gpu-only:只跑 GPU--report:跑测试并生成 HTML 报告--report --deploy:生成报告并发布到 Hugo 的/benchmark/
4) website 的典型用法
网站工具主要有三个常用命令。Windows 和 macOS/Linux 的构建脚本不同:
pip install -e ".[website]"
cd tools/website && bash update.sh
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
cd tools/website && hugo server -D
用途分别是:
pip install -e ".[website]":安装网站相关依赖bash update.sh:在 macOS/Linux 下做增量压缩、Hugo 构建和推送update.ps1:在 Windows 下执行同样流程hugo server -D:本地预览,包含 drafts
README 还强调:
- 自动生成的内容会写进
tools/website/content|static tools/website/public/是单独的部署仓库- 不要直接往
public/里手工提交
5) translator 的典型用法
翻译器最简单的启动方式是:
pip install -e ".[translator]"
python -m translator
它会启动 Gradio 界面并在浏览器中打开。
README 里还说明了几个使用要点:
- 支持文本、Markdown、PDF、DOCX、图片
- 保留 Markdown 结构
- 默认模型是
tencent/Hy-MT2-1.8B - 也支持通过
GADGET_TRANSLATION_MODEL或界面内模型管理切换 - 源语言可设为
auto - 目标语言设为
auto时,会在中文和英文之间切换
第四步:理解输出和同步
README 里说明,所有生成物都集中在 outputs/ 目录,里面包括:
logs/reports/cache/data/images/backups/
如果你需要跨设备同步数据,README 提供的是:
python scripts/sync.py
python scripts/sync.py push/pull
sync.py 还覆盖了 status、bootstrap、config 等模式,并且用于 summarize / website / research / benchmark / backups 这些类别的同步。
第五步:你第一次用时的推荐顺序
如果你是完全第一次接触这个项目,最稳的路径是:
- 配好 Python 3.10+,推荐
conda activate AI - 先装基础环境:
pip install -e . - 如果你要用大部分工具,再补装:
pip install -e ".[all]" - 如果要用翻译器,再单独装:
pip install -e ".[translator]" - 复制并填写
config.example.json,必要时设置GADGET_CONFIG - 如果有 API key,把它们放进
tokens/ - 先跑:
bash scripts/smoke.sh - 然后按你要用的工具跑对应命令
如果你愿意,我下一条可以把这份内容再整理成一版更适合新手的“一步一步上手清单”,压缩成最容易照着执行的版本。
gpt-5.4-nano-high — 9,295 字符 · 事实点 15/16
1. 项目概述(它是什么、仓库结构、各工具做什么)
Gadgets 是一个“日常开发中沉淀下来的实用工具集合”。它覆盖了以下方向:AI 日报/周报/月报生成、论文发现与研究分析、CPU/GPU 性能基准测试、Hugo 博客自动化、以及文档翻译。
仓库根目录的核心设计是:
tools/下的每个子目录都是独立工具,可以单独使用;- 共享能力集中在根目录的
common/包里(通过pip install -e .安装),给各工具提供 LLM 调用、JSON 解析修复、磁盘缓存、原子写、翻译、Hugo 部署等通用能力; - 可选的 Companion/规划工具来自同级兄弟仓库
../ai-companion/(本仓库的本地工具不会被 Companion“拦截”); - AI agent 的编码工作流遵循根目录的
AGENTS.md。
仓库结构(README 给出的目录划分)
gadget/
├── tools/ # 五个独立工具产品
│ ├── summarize/ # AI 对话日报/周报/月报
│ ├── research/ # 论文发现 + 研究者分析 + 引文图谱
│ ├── benchmark/ # CPU/GPU 性能基准
│ ├── website/ # Hugo 博客(增量媒体压缩 + 自动构建与发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包(LLM / cache / IO / translation / Hugo)
├── scripts/ # 运维与维护脚本(sync.py, onboard.py 等)
├── docs/ # 设计文档、ECL 计划、审计报告、历史归档等
├── outputs/ # 生成的所有产物(gitignored,可重建)
├── AGENTS.md # AI agent 工作协议(读后再行动)
├── CLAUDE.md # 给 Claude Code 的仓库指南
└── pyproject.toml # packaging 配置:common/ 与各工具(pip install -e .)
每个工具分别做什么
tools/summarize/— 总结(AI 对话日报 / 周报 / 月报)
- 自动读取你在不同设备导出的 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化的日/周/月总结。
- 多设备流程是:先把各设备未导出的日期导出,再聚合/合并,之后生成周报与月报,并可部署。
- 使用
ccusage 20.x的 per-source 命令,自动发现并统计 token 使用与成本。 - LLM 后端可通过统一的
--api切换:ollama(默认,本地 Ollama,无需 key;Gemma4-26B)、claude_cli、anthropic、openai。
tools/research/— 研究(论文发现与研究者分析)
由单一 CLI 入口tools/research/research_scout.py提供四类能力:
- Paper discovery:从 arXiv / bioRxiv / PubMed 进行三阶段 LLM 管线筛选与评估,并生成研究周报并部署到 Hugo;支持会议论文搜索与作者搜索。
- Deep paper insight(
--insight):下载论文全文,让 LLM 分析写作结构、发表策略与可复用核心知识;自动匹配 OpenReview 评论并分析共识与分歧;综合跨论文写作指南。 - Researcher profiling:从 ArXiv + Semantic Scholar 获取论文与引用数据,做研究轨迹分析与分层评分,并通过主页抽取与合著模式发现导师-学生关系(支持同名消歧与反向查找)。
- Citation graph analysis:基于 Semantic Scholar API 做前向引用/后向参考,并由 LLM 解释影响。
同样支持通过--api切换 LLM 后端:ollama(默认)/claude_cli/anthropic/openai。
tools/benchmark/— 基准测试(CPU/GPU 性能基准套件)
- 用统一口径测量不同硬件上的浮点性能(FLOPS),支持 NVIDIA(CUDA)、Apple Silicon(MPS)、Intel XPU 进行实际 GPU 跑;OpenCL 可能只在
--info检测里出现。 - 精度覆盖 FP64 / FP32 / FP16 / BF16 / FP8(FP8 实验)。
- 使用 warm-up + 正式测量 + 统计分析(中位数、IQR 离群剔除),并显式 GPU 同步保证计时准确。
- 结果以追加方式写入 CSV(不会覆盖),可生成 Plotly 交互式 HTML 报告与排行榜;也可部署到 Hugo 并提交公共排行榜。
tools/website/— 网站(Hugo 博客)
- 部署到 GitHub Pages(README 给出的站点:
https://tzj2006.github.io/),主题为 PaperMod。 - 内置增量媒体压缩:通过
.last_build只压缩变更媒体;图片走pngquant,视频走HandBrakeCLI。 - 本地模型双语翻译:默认用 Ollama(并复用 chat tag
gemma4:26b),Linux 下翻译用 vLLM、Windows 下用 transformers;模型tencent/Hy-MT2-1.8B首次运行自动下载(不走云端 LLM API)。 - 自动生成内容(日报/周报/月报、研究报告、基准页、图片等)会写入
tools/website/content|static(单一 Hugo 内容根目录),文件会打上gadget_generated标记;无标记的手写文件不会被覆盖。 tools/website/public/是一个单独的部署仓库(tzj2006/tzj2006.github.io),会由构建脚本自动提交并推送,不要直接提交。
tools/translator/— 翻译(Gradio 文档翻译器)
- 基于
common翻译引擎的 Gradio 本地翻译网页:支持翻译文本与文件(.md/.txt/.pdf/.docx/ 图片等),并尽量保留 Markdown/结构(如代码块、URL、Hugo shortcodes 等片段保护)。 - 采用本地推理(不走云 API):后端通过
common.engine.create_engine()自动选择:ollama(当相应模型 tag 被拉取时优先,默认使用本地 Ollama);- Windows 回退用
transformers;Linux 偏好vLLM; - 也提供低显存 GGUF 方案
llamacpp。
- 默认模型:
tencent/Hy-MT2-1.8B(GGUF 变体:tencent/Hy-MT2-1.8B-GGUF);首次使用会自动下载。 - 可通过
GADGET_TRANSLATION_MODEL或 GUI 中的模型管理覆盖;源语言支持auto(按 CJK 比例检测),目标为auto则在 zh↔en 之间切换。
2. 详细中文使用教程(第一次接触者向导:环境准备、安装、配置、典型用法)
说明:下面所有命令/参数都只来自你给的 README;如果 README 没明确写某一步的“具体命令行形式”,我会用文字说明而不臆造参数。
2.1 环境准备
- Python:需要 Python 3.10+(README 推荐使用 conda 环境
AI:conda activate AI)。 - Node.js:需要 Node.js 18+(仅用于可选的 Companion graph / DAG 发布工具)。
- 各工具依赖:每个工具在对应目录下有
requirements.txt(README 提到“请看各工具自己的 requirements.txt”)。 - 本地推理/模型:网站翻译与翻译器都使用本地推理引擎(README 指出 Ollama 默认、并在 Linux/Windows 使用 vLLM/transformers 作为回退;模型会在首次运行时自动下载)。
2.2 安装(pip install -e)
根据 README 的建议,你至少需要装 common + 非翻译器的那些工具依赖:
- 安装 common + summarize/research/benchmark/website 额外依赖(
all不包含 translator):
pip install -e ".[all]"
- 如果你要用翻译器(translator),需要额外安装 translator 依赖:
pip install -e ".[translator]"
- 如果你只关注网站相关(README 给了网站额外安装命令):
pip install -e ".[website]"
2.3 配置(config.json、tokens、以及环境变量)
- 工具通用配置:
config.json
- 工具设置在仓库根目录的
config.json中(README 说config.json是 gitignored,需从config.example.json复制)。 - 你可以用环境变量
GADGET_CONFIG覆盖配置文件路径。
- 密钥/入门表:
tokens/目录
tokens/目录保存 API keys 与 onboarding sheet;该目录被 gitignored,README 明确写“永远不要提交里面内容”。- 入门 onboarding 表在
tokens/onboard.yaml(README 提到“填好一份 YAML 表,然后运行脚本一次”)。
- LLM 后端切换(统一方式)
- LLM 后端可通过
--api参数切换(四个后端:ollama默认、claude_cli、anthropic、openai)。 - 或者全局用环境变量
GADGET_LLM_BACKEND。
- 翻译后端切换与模型
- 翻译后端用环境变量
GADGET_TRANSLATION_BACKEND(默认ollama;并提到llamacpp/vllm/transformers作为选择)。 - 翻译模型可用
GADGET_TRANSLATION_MODEL覆盖;GUI 里也可管理模型。
2.4 一次性机器入门(onboard)
README 给了两条路径:
-
针对本仓库的机器配置:
- 填完
tokens/onboard.yaml后,运行一次scripts/onboard.py,它会自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、每个工具的配置、以及 rclone bootstrap。 - README 没在片段里写出“该脚本的完整命令行”,但脚本名明确是
scripts/onboard.py。
- 填完
-
服务器系统级安装:该逻辑迁移到了兄弟仓库
../ai-companion/scripts/onboard-server.sh,并说明使用方式见:bash ../ai-companion/scripts/onboard-server.sh --help。
2.5 数据同步(rclone)
README 说跨设备数据同步走 python scripts/sync.py push/pull,并且“requires rclone configuration”。
- 你可以直接运行:
python scripts/sync.py
- 它的
config.json里sync段控制(可用GADGET_CONFIG覆盖配置路径)。
也提到 README 顶部“要同步数据,运行 python scripts/sync.py”。
2.6 产物输出目录(outputs/)
所有生成结果会集中在 outputs/(README 已 gitignore,且可重建),目录包括:
outputs/logs/(中间过程)outputs/reports/(最终报告:Markdown/JSON/HTML)outputs/cache/(LLM cache、搜索 cache)outputs/data/(CSV/JSON profiles)outputs/images/(图表与生成图片)outputs/backups/(强制覆盖备份,如 website-force)
Hugo 站点内容会写入 tools/website/content|static(README 明确说没有单独的 outputs/site 暂存树)。
2.7 各工具典型用法(可直接复制命令)
A) summarize:AI 对话日报/周报/月报
README 推荐使用 python -m summarize 形式(旧脚本兼容,但这里按推荐写):
- Phase 1:导出未导出的日期(daily export)
python -m summarize daily export
- Phase 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
如果你要切换 LLM 后端,README 说 summarize 的四个总结后端通过统一的
--api切换(ollama默认、claude_cli、anthropic、openai)。
B) research:论文发现与研究分析
统一入口是 tools/research/research_scout.py,典型命令:
- 完整研究流水线(搜索 → 三阶段评估 → report)
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"
- 引文图谱(by arXiv ID / DOI)
python tools/research/research_scout.py citations 2301.12597
- 把报告部署到 Hugo
python tools/research/research_scout.py deploy
README 说明 research 的 LLM 后端也可通过
--api切换(ollama默认、claude_cli、anthropic、openai)。此外,“Deep paper insight” 功能支持--insight参数,但 README 片段没有给出对应的完整命令行示例。
C) benchmark:CPU/GPU 性能基准套件
README 明确要求:所有 benchmark 命令前先 cd tools/benchmark/。
- 全部跑
cd tools/benchmark
python -m benchmark.cli
- 仅 CPU
cd tools/benchmark
python -m benchmark.cli --cpu-only
- 仅 GPU
cd tools/benchmark
python -m benchmark.cli --gpu-only
- 跑基准并生成 HTML 报告
cd tools/benchmark
python -m benchmark.cli --report
- 生成报告并部署到 Hugo /benchmark/
cd tools/benchmark
python -m benchmark.cli --report --deploy
D) website:Hugo 博客(压缩 + 构建 + 发布)
- 安装网站依赖(README 提供的方式)
pip install -e ".[website]"
- macOS/Linux:增量压缩 + Hugo build + 推送 Pages
cd tools/website && bash update.sh
- Windows:运行 PowerShell 更新脚本(会切换到脚本目录)
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
- 本地预览(dev server,包含 drafts)
cd tools/website && hugo server -D
README 额外提醒:
tools/website/public/是一个独立部署仓库,自动提交并推送;不要手动提交它。
E) translator:Gradio 文档翻译器
- 安装翻译器依赖
pip install -e ".[translator]"
- 启动 Gradio 图形界面(浏览器打开)
python -m translator
README 说明默认模型是
tencent/Hy-MT2-1.8B(GGUF 变体tencent/Hy-MT2-1.8B-GGUF),首次使用会自动下载;可用GADGET_TRANSLATION_MODEL或 GUI 内模型管理覆盖。
最后:不踩坑的 README 规则(简短但重要)
- 不要把自动生成内容、rclone 同步数据、构建产物(如
build/、gadget.egg-info/)、以及tools/website/下那些部署/主题仓库当作“需要 git add 的源码”。 - 不要向
tools/website/public/直接提交(它是独立部署仓库,由脚本自动推送)。 tokens/里是密钥与 onboarding sheet:保持 gitignored,不要提交。
如果你愿意,我也可以在不编造命令的前提下,基于 README 把“从零到能跑 summarize/research/website 的最小路径”再整理成一条按顺序的 checklist(同样只用 README 里出现的信息)。你更想先跑哪一个工具:summarize、research、benchmark、website 还是 translator?
gpt-5.1-high — 10,795 字符 · 事实点 15/16
一、项目概览(中文总结)
1. 这是一个什么项目?
Gadgets 是一个把日常开发中积累的实用脚本整理成套件的仓库,核心围绕这几类任务:
- AI 会话日报/周报/月报生成
- 论文搜索与科研人物分析
- CPU/GPU 性能基准测试
- Hugo 博客自动构建与媒体压缩
- 本地文档翻译 Web GUI
所有工具共用根目录下的 common/ 包(通过 pip install -e . 安装),统一提供:
- LLM 调用(支持
ollama/claude_cli/anthropic/openai) - JSON 解析与修复
- 磁盘缓存(SHA-256 + TTL)与原子写入
- 本地翻译引擎
- Hugo 部署封装
可选的 AI Companion(独立仓库 ../ai-companion/)提供 DAG 发布和图工具,但不是必需。
2. 仓库结构简介
tools/:5 个相互独立的“产品级”工具目录tools/summarize/:AI 会话的日报/周报/月报生成tools/research/:论文发现、科研人员画像、引用图分析tools/benchmark/:CPU/GPU FLOPS 基准测试套件tools/website/:Hugo 博客(增量媒体压缩 + 自动构建发布)tools/translator/:Gradio 文档翻译 Web 应用
common/:所有工具共用的基础设施包(LLM 调用、缓存、IO、翻译、Hugo 部署)。scripts/:运维脚本,如数据同步、环境一键配置、翻译性能分析。docs/:设计文档、ECL 计划、审计报告和历史归档。outputs/:所有运行产生的输出,按日志、报告、缓存、数据、图片、备份分类,完全可重建且已被.gitignore。- 其他重要文件
AGENTS.md:仓库内所有 AI agent 的工作协议。CLAUDE.md:给 Claude Code 的仓库说明。pyproject.toml:整个项目及各工具的打包配置。
3. 各工具分别做什么?
-
tools/summarize/– 会话日报/周报/月报- 从多种来源读取你的 AI 会话日志(Claude Code、Codex、Cursor Agent、ChatGPT、自定义 JSON)。
- 分两阶段生成结构化的 日报 → 周报 → 月度趋势。
- 通过
ccusage 20.x自动统计多种 agent CLI 的 token 与费用。 - 支持四种 LLM 后端,通过
--api统一切换:ollama(默认,本地)、claude_cli、anthropic、openai。
-
tools/research/– 论文发现与科研人物分析- 一个统一 CLI:
tools/research/research_scout.py。 - 论文发现:从 arXiv / bioRxiv / PubMed 搜索论文,用三阶段 LLM pipeline(初筛→深度评估→引用影响)并生成 Hugo 报告。
- 深度洞察(
--insight):下载全文,分析写作结构、发表策略、核心知识;自动抓取 OpenReview 评审并归纳意见。 - 学者画像(profiling):基于 arXiv + Semantic Scholar 计算科研轨迹、Tier 分数、师生关系。
- 引用图分析:基于 Semantic Scholar 的前向/后向引用图 + LLM 解读。
- 一个统一 CLI:
-
tools/benchmark/– 性能基准测试- 跨平台 CPU/GPU FLOPS 测试,统一评估不同厂家的 GPU(NVIDIA CUDA / Apple MPS / Intel XPU)。
- 支持 FP64 / FP32 / FP16 / BF16 / FP8 等精度。
- 带 warmup + 正式测量 + 统计分析(median, IQR 去异常),结果追加写入 CSV。
- 可生成 Plotly 交互 HTML 报告,并支持部署到 Hugo 站点或公共排行榜。
-
tools/website/– Hugo 博客站点- 博客站点“TzJ’s Net”(PaperMod 主题),部署到 GitHub Pages。
- 内置增量媒体压缩(只压缩自
.last_build以来变更的图像/视频):- 图片经
pngquant - 视频经
HandBrakeCLI
- 图片经
- 本地双语翻译(默认 Ollama,Linux 下可用 vLLM,Windows 下 transformers),首次自动下载
tencent/Hy-MT2-1.8B模型。 - 所有自动生成内容(总结报告、研究报告、benchmark 页面、图片)直接写入
tools/website/content|static,带gadget_generated标记,不会覆盖手写内容。 tools/website/public/是单独的部署仓库(自动 commit + push,不建议手动改)。
-
tools/translator/– Gradio 文档翻译器- 基于
common的翻译引擎实现的 Web 界面,类似 Google 翻译。 - 支持翻译文本和多种文件(
.md/.txt/.pdf/.docx/ 图片),保留 Markdown 格式、代码块、URL、Hugo shortcode 等。 - 完全使用本地推理(默认
tencent/Hy-MT2-1.8B,GGUF 变体),模型首次调用时自动下载。 - 支持自动检测源语言和目标语言自动中英互翻,后端可在 GUI 或通过环境变量选择。
- 基于
-
common/– 共享基础设施- LLM 统一调用接口(
ollama/claude_cli/anthropic/openai)。 - JSON 修复、磁盘缓存、原子写入、翻译引擎、Hugo 部署封装。
- LLM 统一调用接口(
-
scripts/– 运行维护脚本sync.py:统一的 rclone 数据同步(推/拉/状态/配置/备份,包括 DAG 站点)。onboard.py:填好tokens/onboard.yaml后一键完成:SSH、Claude/Codex CLI、pip extras、各工具配置、rclone 启动。smoke.sh:不动任何数据的 smoke test(--help/--info/ import)。serve_local_llm.sh:创建适配 summarize 的 Ollama 模型并输出环境变量设置。- 其他如
language.py(Hugo 语言审计)、profile_translation.py(翻译 GPU profiler)。
-
../ai-companion/(独立仓库)- 提供 DAG 发布工具、idea graph、skill pipeline,但本仓库本身不启用 Companion 拦截 hook。
二、详细使用教程(面向第一次接触本项目)
说明:下面所有示例命令 全部取自 README,没有新增命令或参数;你可以直接复制运行,但请在自己的环境中按需替换路径、项目名、时间等参数。
1. 环境准备
- 基础环境
- Python 3.10+(推荐单独的虚拟环境或 conda 环境,如
AI环境,然后conda activate AI)。 - Node.js 18+(只在使用可选的 Companion graph / DAG 发布工具时需要)。
- Python 3.10+(推荐单独的虚拟环境或 conda 环境,如
- 硬件
- 若需要使用 benchmark 或高性能翻译,建议有对应 GPU(NVIDIA CUDA / Apple MPS / Intel XPU),项目会自动检测。
- 数据与 API key
- 仓库根目录下有一个
tokens/目录(已被 gitignore),用来放 API key、onboard 配置等敏感信息;不要把它提交到 git。
- 仓库根目录下有一个
2. 项目安装与公共依赖
假设你已经把仓库代码放在本地某个目录,以下命令都在仓库根目录执行。
- 安装基础包 + summarize / research / benchmark / website 所需依赖
pip install -e ".[all]"
- 如果要使用 translator 工具(Gradio 文档翻译)还需要单独安装它的 extras:
pip install -e ".[translator]"
说明:
pip install -e ".[all]"不包含translator相关依赖,需要显式添加上面的命令。
3. 配置文件与环境变量
- 全局配置文件
- 根目录下的
config.json(gitignored)保存各工具的配置。README 提到可以从config.example.json拷贝一份再按需修改。 - 如需放在自定义路径,可以通过环境变量
GADGET_CONFIG覆盖默认路径。
- 根目录下的
- LLM 后端选择
- 所有使用 LLM 的功能(summarize / research / common)都支持通过
--api参数选择后端:ollama(默认,本地 Ollama,gemma4:26b)claude_clianthropicopenai
- 也可以用环境变量
GADGET_LLM_BACKEND做全局默认设置。
- 所有使用 LLM 的功能(summarize / research / common)都支持通过
- 翻译后端与模型
- 翻译路径使用环境变量
GADGET_TRANSLATION_BACKEND指定后端:- 默认
ollama(本地服务,重用gemma4:26btag) - 回退为
llamacpp/vllm/transformers时会使用tencent/Hy-MT2-1.8B,首次自动下载。
- 默认
- Translator 工具默认模型为
tencent/Hy-MT2-1.8B(GGUF 变体),并可通过GADGET_TRANSLATION_MODEL或 GUI 进行覆盖。
- 翻译路径使用环境变量
4. 新机器一键初始化(可选)
-
仓库级机器配置:
scripts/onboard.py-
在
tokens/onboard.yaml中填好 SSH、各类 token、希望启用的工具等信息。 -
在仓库根目录运行:
python scripts/onboard.py -
脚本会自动:
- 配置 SSH
- 安装/登录 Claude/Codex CLI
- 安装各工具需要的 pip extras
- 配置各工具
- 启动 rclone 同步
-
-
服务器级别安装(在 ai-companion 仓库中)
-
若你在 Ubuntu 22.04/24.04 服务器上做全站安装(SSH key、Claude Code、Superpowers、Ponytail、AI Companion 等),需要在兄弟仓库
../ai-companion/中运行:bash ../ai-companion/scripts/onboard-server.sh --help
-
5. 数据同步与输出目录
- 数据同步(多设备场景)
- README 中指出:
-
顶层同步入口是:
python scripts/sync.py -
更细粒度的 cross-device 同步示例以
python scripts/sync.py push/pull的形式给出(根据你的场景选择 push 或 pull)。 -
脚本使用根目录
config.json的sync配置段(可用GADGET_CONFIG覆盖路径)。 -
DAG 站点发布使用
scripts/sync.py --category dag。
-
- README 中指出:
- 输出位置
- 所有工具运行生成的内容都放在
outputs/下,结构大致为:outputs/logs/:运行日志、导出日志outputs/reports/:最终报告(Markdown / JSON / HTML)outputs/cache/:LLM 与搜索缓存outputs/data/:结构化数据(CSV / JSON)outputs/images/:图表和生成图片outputs/backups/:强制覆盖时的备份
- Hugo 站点内容则直接写到
tools/website/content|static。
- 所有工具运行生成的内容都放在
6. 运行前快速自检(可选)
-
Smoke 测试脚本:
scripts/smoke.sh-
确认各工具的
--help/--info和 import 没问题(不触发 LLM、网络或写入):bash scripts/smoke.sh
-
-
本地 LLM 服务辅助脚本:
scripts/serve_local_llm.sh-
创建 summarize 调优过的 Ollama tag,并打印一组环境变量(通过
eval应用):eval "$(bash scripts/serve_local_llm.sh env)" -
持久配置项写在根目录
config.json的summarize段中。
-
三、各工具典型用法(可直接复制的命令)
1. Summarize:AI 会话日报 / 周报 / 月报
目标: 自动把分散在多设备、多工具上的 AI 对话整理成结构化日报/周报/月报,可选自动部署到 Hugo 站点。
-
日常工作流概览
- 在每台设备上导出当日 AI 对话记录。
- 把各设备导出的数据同步到同一位置(云盘或
python scripts/sync.py)。 - 运行 summarize 的 daily/weekly/monthly 命令生成报告,可选
--deploy自动发布到 Hugo。
-
典型命令
python -m summarize daily export
- 含义:阶段 1,导出所有“尚未导出”的日期的对话记录。
python -m summarize daily merge --sync-all
- 含义:阶段 2,同步所有日期并按天合并,生成每日汇总。
python -m summarize weekly generate --week 2026-W12 --deploy
- 含义:生成 2026 年第 12 周 的周报并部署。
python -m summarize monthly generate --month 2026-02 --deploy
- 含义:生成 2026 年 2 月 的月报并部署。
python -m summarize auto --deploy
- 含义:一键全流水线:
export → merge → weekly → monthly并部署。
LLM 后端切换:上述任何命令后面都可以加
--api,如--api ollama/--api claude_cli/--api anthropic/--api openai。
兼容老入口:
python tools/summarize/daily_summary.py .../weekly_summary.py/monthly_summary.py仍然可用,但推荐新的python -m summarize形式。
2. Research:论文发现与科研人物分析
统一入口脚本: tools/research/research_scout.py。
- 完整论文搜索 + 周报生成
python tools/research/research_scout.py report --project my-project
- 含义:以
my-project为项目名,执行:- 多源论文搜索(arXiv / bioRxiv / PubMed)
- 三阶段 LLM 评估
- 生成研究周报并部署到 Hugo(按工具内部配置)。
- 自然语言检索
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
- 含义:使用自然语言查询,自动路由到合适数据源进行论文搜索。
- 科研人员画像
python tools/research/research_scout.py profile "Sergey Levine"
- 含义:基于 ArXiv + Semantic Scholar,构建 “Sergey Levine” 的科研轨迹分析和 tier 评分。
- 引用图分析
python tools/research/research_scout.py citations 2301.12597
- 含义:以 arXiv ID(或 DOI)构建引用/被引图,并用 LLM 解读影响力。
- 报告部署到 Hugo
python tools/research/research_scout.py deploy
- 含义:把生成的研究报告部署到 Hugo 站点。
同样,所有带 LLM 的命令都可以加
--api来切换后端,例如在report命令后追加--api claude_cli。
3. Benchmark:CPU/GPU 性能基准测试
重要:README 明确要求所有 benchmark 命令前需要先
cd 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
python -m benchmark.cli --report --deploy
4. Website:Hugo 博客自动构建与发布
- 安装 website 相关依赖
pip install -e ".[website]"
- macOS / Linux:媒体压缩 + Hugo 构建 + 推送 GitHub Pages
cd tools/website && bash update.sh
- Windows:媒体压缩 + 构建 + 推送
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
- 脚本会在内部自动切换到自己的目录再执行。
- 本地预览站点(开发模式,包含草稿)
cd tools/website && hugo server -D
- 这样可以在本机打开 Hugo 的 dev server,实时预览博客内容。
注意:
- 自动生成内容写入
tools/website/content|static,并打gadget_generated标记;手写内容不会被覆盖。tools/website/public/是部署用的独立 Git 仓库,构建脚本会自动 commit + push。
5. Translator:Gradio 文档翻译 Web 应用
- 安装 translator 依赖
pip install -e ".[translator]"
- 启动 Gradio GUI
python -m translator
- 启动后会打开一个浏览器页面,你可以在页面中:
- 输入或粘贴文本
- 上传
.md/.txt/.pdf/.docx/ 图片等文件 - 选择源语言(可设为
auto)和目标语言(可设为auto,实现中英互翻) - 选择或切换模型(默认
tencent/Hy-MT2-1.8B,首次自动下载)
该工具使用
common.engine.create_engine()选择后端:优先ollama,Linux 上偏好vllm,Windows 上使用transformers,低显存场景用llamacppGGUF。
四、脚本与辅助工具的典型用法
1. 数据同步脚本 scripts/sync.py
- 基础调用:
python scripts/sync.py
- 用途(根据 README 描述):
- 集中管理 rclone 数据同步(push / pull / status / bootstrap / config)。
- 覆盖 summarize / website / research / benchmark / backups 等类别。
- 特殊的
dag类别通过scripts/sync.py --category dag用于生成 + 部署 DAG 站点。 - 同时也被用于跨设备同步(README 中以
python scripts/sync.py push/pull形式说明)。
2. 一键 Onboarding(再强调)
- 仓库级:
python scripts/onboard.py
- 填好
tokens/onboard.yaml后运行一次即可。
3. smoke 测试与本地 LLM 服务
- smoke 测试:
bash scripts/smoke.sh
- 本地 LLM 环境变量输出:
eval "$(bash scripts/serve_local_llm.sh env)"
以上是完全基于 README 整理的概览和使用教程,没有添加 README 之外的命令或参数。后续如果你想针对其中某个工具(比如只用 summarize 或只用 benchmark)做更深入的中文步骤,我可以再按该工具的 README / TUTORIAL 结构帮你拆成更细的操作清单。
gemini-3-flash — 2,767 字符 · 事实点 13/16
这份报告根据提供的 gadget 项目 README.md 整理而成。
1. 项目总结
Gadgets 是一个面向开发者日常工作的实用工具集。它整合了 AI 报表生成、论文调研、性能评测、博客自动化和文档翻译等功能,旨在提升开发效率。
仓库结构
tools/: 包含五个相互独立的工具产品(核心逻辑所在)。common/: 共享基础设施包,提供 LLM 调用、缓存、IO、翻译、Hugo 部署等通用能力。scripts/: 运维与维护脚本,如同步工具sync.py和新机器配置脚本onboard.py。docs/: 设计文档、计划和审计报告。outputs/: 存放所有自动生成的产物(已忽略 Git,可自动重建)。AGENTS.md/CLAUDE.md: 针对 AI 代理和 Claude Code 的运行协议与指南。
工具功能详解
- Summarize (AI 报表): 读取 AI 会话记录(Claude, ChatGPT 等),利用 LLM 生成日、周、月总结,并统计 Token 使用成本。
- Research (论文调研): 支持 arXiv/PubMed 等平台论文搜索、深度解析(含 OpenReview 评价)、学者画像分析及引用图谱分析。
- Benchmark (性能评测): 跨平台 CPU/GPU FLOPS 跑分工具,支持 NVIDIA、Apple Silicon、Intel 硬件,可生成交互式 HTML 报告。
- Website (博客运维): 基于 Hugo 的个人博客管理,具备增量媒体压缩(图片/视频)和本地模型驱动的双语自动翻译功能。
- Translator (文档翻译): 基于 Gradio 的 Web UI 工具,利用本地模型翻译文档(PDF, Docx, Markdown 等)并保留格式。
2. 详细使用教程
本教程面向初次接触该项目的用户,指导如何从零开始配置并运行工具。
环境准备
- Python: 3.10+ (推荐使用 Conda:
conda activate AI) - Node.js: 18+ (用于 Companion 可选组件)
- 硬件: 支持 CUDA (NVIDIA)、MPS (Apple) 或 XPU (Intel) 以进行 GPU 相关操作。
安装步骤
在仓库根目录下执行以下命令:
# 安装核心依赖及主要工具
pip install -e ".[all]"
# 安装翻译工具额外依赖 (包含 Gradio 和本地推理引擎)
pip install -e ".[translator]"
初始化配置
- 配置文件: 复制根目录下的
config.example.json为config.json并根据需要修改。 - 凭证管理: 在
tokens/目录下放置 API 密钥(该目录已被 Git 忽略)。 - 一键上机 (可选): 填写
tokens/onboard.yaml后运行:python scripts/onboard.py
各工具典型用法
1. Summarize — AI 报表生成
支持 ollama (默认), claude_cli, anthropic, openai 四种后端。
# 一键完成:导出、合并、生成周报/月报并部署
python -m summarize auto --deploy
# 手动生成特定周报
python -m summarize weekly generate --week 2026-W12 --deploy
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"
3. Benchmark — 硬件跑分
注意: 必须先进入对应目录。
cd tools/benchmark
# 运行完整跑分并生成交互式 HTML 报告
python -m benchmark.cli --report
# 仅运行 CPU 跑分
python -m benchmark.cli --cpu-only
4. Website — 博客运维与构建
# Windows 用户执行:增量压缩媒体、Hugo 构建并推送
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
# macOS/Linux 用户执行
cd tools/website && bash update.sh
# 本地预览博客
cd tools/website && hugo server -D
5. Translator — 网页版文档翻译
# 启动 Gradio GUI (自动在浏览器打开)
python -m translator
进阶技巧
- 切换 LLM 后端: 大多数工具支持通过
--api参数切换,如--api claude_cli或--api openai。 - 数据同步: 使用
python scripts/sync.py push或pull同步跨设备数据(需配置 rclone)。 - 默认模型: 翻译工具默认使用
tencent/Hy-MT2-1.8B,首次运行会自动下载。
gemini-3.5-flash — 5,722 字符 · 事实点 14/16
根据您提供的开源项目 gadget 的 README.md 内容,为您整理了项目总结以及一份详细的初学者中文使用教程。
第一部分:开源项目 gadget 总结
1. 项目简介
Gadgets 是一个在日常开发中积累的实用工具合集。它涵盖了 AI 日报生成、学术论文发现与分析、硬件性能基准测试、Hugo 博客自动化构建发布以及本地文档翻译等场景。项目核心理念为高度模块化,各工具既能独立使用,又共享位于根目录的底层基础设施。
2. 仓库结构
项目目录结构划分清晰,主要包含以下部分:
tools/(工具产品目录):包含五个完全独立的子工具包,是具体工具逻辑的存放地。common/(共享基础设施):通用底层代码,提供 LLM 调用、JSON 解析与修复、SHA-256 磁盘缓存、原子写入、翻译引擎及 Hugo 部署等跨工具基础能力。scripts/(运维与维护脚本):包含装机配置、多设备同步、冒烟测试及本地 LLM 启动等脚本。docs/(文档):存放设计文档、ECL 计划、审计报告及历史存档。outputs/(输出目录):统一存放所有生成的产物(如日志、报告、缓存、数据、图表、备份等),该目录已被 Git 忽略且可自动重建。- 协议/指南文件:
AGENTS.md:AI 代理的工作流协议(修改代码前必读)。CLAUDE.md:针对 Claude Code 的仓库指南。pyproject.toml:用于安装common包及各工具依赖的打包配置文件。
3. 各工具功能概述
summarize(AI 对话报告):读取多设备上的 AI 对话记录(如 Claude Code / Cursor 等),调用 LLM 自动生成结构化的日、周、月报,并使用ccusage自动统计各 Agent CLI 的 Token 消耗与成本。research(学术研究工具包):集成 arXiv、Semantic Scholar 等多数据源,提供论文自动发现与三阶段 LLM 筛选、论文深度洞察(结构分析、OpenReview 评价合成)、研究员轨迹画像和引用图谱分析。benchmark(性能基准测试):跨平台 CPU/GPU 浮点性能测量工具,统一支持 CUDA、Apple MPS、Intel XPU 的多精度测试(FP64 到 FP8),结果以追加模式写入 CSV,并能生成 Plotly 交互式图表排行榜。website(Hugo 博客):基于 Hugo 的静态博客网站。内置增量媒体压缩(pngquant、HandBrakeCLI)和无需联网的本地模型(Hy-MT2-1.8B)双语翻译管道,实现全自动构建与发布。translator(Gradio 文档翻译器):基于common翻译引擎构建的本地 Web 端翻译界面。支持保留 Markdown 格式翻译文本与多种文档(.pdf、.docx等),并可根据 CJK 比例自动识别语种进行中英互译。
第二部分:gadget 详细中文使用教程
本教程面向第一次接触该项目的用户,指导您完成从环境准备、安装、配置到各工具实际运行的全过程。
1. 环境准备
在开始之前,请确保您的系统满足以下基础软件要求:
- Python:
3.10+(推荐使用 Conda 环境AI) - Node.js:
18+(仅在使用可选的 Companion 伴侣图谱和 DAG 发布工具时需要) - rclone:(仅在需要跨设备数据同步时需要)
在终端中激活您的 Conda 环境:
conda activate AI
2. 安装步骤
项目通过 Extra 特性按需安装依赖。请根据您的使用场景在根目录下执行对应的安装命令:
- 安装通用基础依赖及全部工具 extras(不包含翻译器依赖):
pip install -e ".[all]" - 如果需要使用博客(Website)的翻译与压缩功能:
pip install -e ".[website]" - 如果需要使用 Gradio 翻译器(Translator):
pip install -e ".[translator]"
3. 初始化与装机配置
3.1 一键装机脚本 (Onboarding)
对于新机器的首次环境配置,项目提供了一键装机脚本。它会自动配置 SSH、安装并认证 Claude/Codex CLI、安装依赖包和配置 rclone:
- 复制并填写
tokens/onboard.yaml(该目录已被 Git 忽略,安全存放敏感 Token)。 - 在项目根目录运行装机脚本:
python scripts/onboard.py
3.2 配置文件
工具的全局设置存储在根目录的 config.json 中。
- 请从
config.example.json复制并重命名为config.json进行修改。 - 环境变量覆盖:您可以通过设置系统环境变量
GADGET_CONFIG来重定向配置文件的路径。
4. 全局核心配置与环境变量
项目支持通过环境变量和命令行参数灵活切换底层引擎:
- LLM 接口切换:通过参数
--api或全局环境变量GADGET_LLM_BACKEND切换。可选值包括:ollama(默认:本地 Ollama 服务,使用免密钥的gemma4:26b模型)claude_cli(免 API Key,直接复用本地 Claude Code CLI 的登录状态)anthropicopenai
- 翻译后端切换:通过全局环境变量
GADGET_TRANSLATION_BACKEND切换。可选值包括:ollama(默认:复用本地 Ollama 服务的gemma4:26b模型)llamacpp/vllm/transformers(本地进程内推理,默认使用自动下载的tencent/Hy-MT2-1.8B模型)
- 翻译模型重写:可通过设置环境变量
GADGET_TRANSLATION_MODEL指定其他翻译模型。
5. 各工具典型用法与命令
注意:请务必直接复制以下命令运行。所有生成的产物将保存在根目录的
outputs/文件夹中。
5.1 Summarize — AI 对话日/周/月报
- 步骤 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 - 一键完整流水线(自动执行 导出 $\rightarrow$ 合并 $\rightarrow$ 周报 $\rightarrow$ 月报并部署)
python -m summarize auto --deploy
5.2 Research — 论文发现与研究员分析
- 运行完整研报流水线(搜索 $\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 或 DOI)
python tools/research/research_scout.py citations 2301.12597 - 将生成的学术报告一键部署到 Hugo 博客
python tools/research/research_scout.py deploy
5.3 Benchmark — 性能基准测试
运行此工具前,必须先进入
tools/benchmark目录。
cd tools/benchmark
- 运行完整基准测试(自动识别 CUDA/MPS/XPU,结果追加至 CSV)
python -m benchmark.cli - 仅测试 CPU 性能
python -m benchmark.cli --cpu-only - 仅测试 GPU 性能
python -m benchmark.cli --gpu-only - 运行测试并生成 Plotly 交互式 HTML 报告
python -m benchmark.cli --report - 运行测试、生成报告并一键发布至 Hugo 博客的
/benchmark/页面python -m benchmark.cli --report --deploy
5.4 Website — Hugo 博客自动构建
- 在 macOS / Linux 系统下更新、压缩媒体并发布
cd tools/website && bash update.sh - 在 Windows 系统下更新、压缩媒体并发布
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1 - 启动本地预览开发服务器(包含草稿)
cd tools/website && hugo server -D
5.5 Translator — Gradio 网页翻译器
- 启动本地 Gradio 网页端翻译服务(启动后可在浏览器中打开服务地址进行可视化翻译)
python -m translator
6. 常用运维与辅助命令
- 只读冒烟测试(快速检查所有工具的依赖导入及
--help/--info是否正常)bash scripts/smoke.sh - 数据云端同步(使用 rclone 同步数据,支持
push或pull)python scripts/sync.py push python scripts/sync.py pull - 启动针对总结功能微调过的本地 Ollama 并导入环境变量
eval "$(bash scripts/serve_local_llm.sh env)"
gpt-5-mini — 9,165 字符 · 事实点 16/16
下面按要求分两部分回答:先中文总结项目(是什么、仓库结构、每个工具做什么),然后给出面向初次使用者的详细中文使用教程(环境准备、安装、配置、每个工具的典型可复制命令)。所有内容仅依据 README.md 中的信息,不做外推或新增命令。
- 项目概述(中文总结)
-
是什么
- Gadgets:一组实用开发工具的集合,涵盖 AI 会话汇总(日报/周报/月报)、论文检索与研究者分析、性能基准(CPU/GPU FLOPS)、Hugo 博客自动化部署与媒体增量压缩,以及基于本地推理的文档翻译(Gradio GUI)。各工具互相独立,共享仓库根目录下的
common/基础包(LLM 调用、缓存、翻译、Hugo 发布等)。
- Gadgets:一组实用开发工具的集合,涵盖 AI 会话汇总(日报/周报/月报)、论文检索与研究者分析、性能基准(CPU/GPU FLOPS)、Hugo 博客自动化部署与媒体增量压缩,以及基于本地推理的文档翻译(Gradio GUI)。各工具互相独立,共享仓库根目录下的
-
仓库结构(精简)
tools/summarize/— AI 会话日/周/月汇总工具(multi-device,两阶段)research/— 论文发现、研究者画像、引用图谱benchmark/— 跨平台 CPU/GPU 性能基准套件website/— Hugo 博客(增量媒体压缩 + 自动构建 & 发布)translator/— 基于 Gradio 的文档翻译前端(本地推理)
common/— 共享基础包:LLM 接口、JSON 修复、磁盘缓存、原子写入、本地翻译引擎、Hugo 部署等(通过pip install -e .安装)scripts/— 运维脚本(sync.py、onboard.py、smoke.sh、serve_local_llm.sh等)docs/— 设计文档与归档outputs/— 所有生成物(logs/reports/cache/data/images/backups,已 gitignore)- 其它:
AGENTS.md(代理工作流程)、pyproject.toml(打包配置)
-
每个工具做什么(概要)
- summarize:读取多设备的 AI 会话日志(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),用 LLM 生成结构化日/周/月汇总,并可统计 token/cost(通过 ccusage 20.x);支持多个 LLM 后端(
--api)。 - research:统一的学术研究工具,具备论文发现(arXiv/bioRxiv/PubMed)、三阶段 LLM 评审、深度洞见下载与分析、研究者画像(ArXiv + Semantic Scholar)、引用图谱分析,并能部署报告到 Hugo。
- benchmark:跨平台 FLOPS 基准,支持 NVIDIA CUDA / Apple MPS / Intel XPU,覆盖多种精度(FP64/FP32/FP16/BF16/FP8(实验)),测量包含热身与统计分析,结果追加到 CSV,可生成交互 HTML 报告并部署到 Hugo。
- website:基于 Hugo 的静态博客流水线,内建增量媒体压缩(pngquant、HandBrakeCLI)与本地模型双语翻译(默认 Ollama / 本地模型 tencent/Hy-MT2-1.8B 自动下载),自动将生成内容写入
tools/website/content|static并由脚本构建与推送到 Pages(tools/website/public/为单独部署仓库,不应手动提交)。 - translator:Gradio Web UI 的文档翻译器,支持
.md/.txt/.pdf/.docx/图片等,保护代码块/URL/Hugo shortcode,使用common的本地推理翻译引擎(自动选择 ollama / vllm / transformers / llamacpp),默认模型tencent/Hy-MT2-1.8B(首次运行自动下载)。
- summarize:读取多设备的 AI 会话日志(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),用 LLM 生成结构化日/周/月汇总,并可统计 token/cost(通过 ccusage 20.x);支持多个 LLM 后端(
-
共享基础与脚本要点
common/实现 LLM 后端统一接入(ollama、claude_cli、anthropic、openai)、磁盘缓存、翻译引擎、Hugo 部署等。scripts/包含数据同步(sync.py,基于 rclone)、机器 onboarding(onboard.py)、本地 LLM 启动脚本、只读 smoke 测试脚本等。- 输出统一写入
outputs/(logs/reports/cache/data/images/backups)。
-
要注意的要点(README 中的提醒)
- Python 3.10+、Node.js 18+(仅当使用 Companion/DAG 工具时需要)
tokens/存放 API key 与 onboarding 表单,已 gitignored;切勿提交- 所有生成文件都在
outputs/下并被 gitignore - LLM 后端通过
--api参数统一切换,也可用环境变量GADGET_LLM_BACKEND - 翻译后端通过
GADGET_TRANSLATION_BACKEND、模型通过GADGET_TRANSLATION_MODEL控制 - 不要向 git 提交自动生成内容、rclone 同步数据、build/、gadget.egg-info/、或部署主题仓库内容
- 许可证:GPL-3
- 详细中文使用教程(面向第一次接触者,覆盖环境准备、安装、配置,以及每个工具的典型用法,命令可直接复制;均仅采自 README)
前提说明:下面的步骤和命令均依据 README 中列出的指令与说明,不做新增参数或未在 README 中出现的命令。
A. 环境准备(最低要求)
- Python:3.10+
- 推荐(可选):使用 conda 环境(README 推荐名为
AI),例如:- conda 环境(README 建议):先创建并激活(README 仅建议 activate):
- conda create -n AI python=3.10
- conda activate AI
(注:README 推荐使用
conda activate AI,但不提供具体创建命令,上面仅为常见做法)
- conda 环境(README 建议):先创建并激活(README 仅建议 activate):
- Node.js:18+(仅当需使用 Companion / DAG 功能时)
- 其他系统工具:pngquant、HandBrakeCLI、Hugo(用于 website 工具;README 在网站部分提到这些依赖)
- rclone(用于 cross-device sync,如果要使用
scripts/sync.py的 push/pull)
B. 仓库基础安装与 common 包
- 在仓库根目录,安装
common可编辑包(最小):
pip install -e .
- 如需安装整套 extras(summarize / research / benchmark / website),README 提示使用:
pip install -e ".[all]"
(注意:all 不包含 translator;translator 要单独安装,见下)
C. 配置(必看)
- 仓库根的
config.example.json为示例,工具实际读取config.json(仓库根)且该文件被 gitignore。README 建议:复制示例到config.json并按需修改。- 操作示例(README 指示有此文件,但未给确切命令;以下为常见步骤):
cp config.example.json config.json
# Windows PowerShell 可用复制命令:Copy-Item config.example.json config.json
tokens/目录保存 API keys 与 onboarding 表单 (tokens/onboard.yaml),该目录被 gitignore。切勿提交其中内容。- 可用环境变量(README 中提及):
GADGET_CONFIG—— 覆盖配置文件路径(工具会读取 repo-root config.json,若需覆盖可设此变量)GADGET_LLM_BACKEND—— 全局切换 LLM 后端(与命令行--api等价)GADGET_TRANSLATION_BACKEND/GADGET_TRANSLATION_MODEL—— 控制翻译后端与模型(translator / website 翻译使用)
D. 通用运维脚本
- 数据同步(rclone 必需):
python scripts/sync.py
# cross-device push/pull(README 指出可用 push/pull,例如)
python scripts/sync.py push
python scripts/sync.py pull
- 一次性机器配置(onboarding):
python scripts/onboard.py
(README:填写 tokens/onboard.yaml 后运行脚本一次以完成配置)
- 只读 smoke 检查(无 LLM/网络/写操作):
bash scripts/smoke.sh
- 本地 LLM 服务(生成 summarize 调优的 Ollama variant 并打印 env),README 给出:
eval "$(bash scripts/serve_local_llm.sh env)"
(该命令在类 Unix/bash 环境中使用;README 就有此示例)
E. outputs/ 目录说明(查看位置与用途)
- 所有生成的产物写入仓库根下
outputs/:outputs/logs/— 中间产物(导出日志、运行日志)outputs/reports/— 最终报告(Markdown, JSON, HTML)outputs/cache/— LLM / 搜索缓存outputs/data/— 结构化数据(CSV/JSON)outputs/images/— 图表与生成图片outputs/backups/— 强制覆盖备份
- 注意:Hugo 内容被直接写入
tools/website/content|static(不是outputs/site)
F. 各工具典型用法(可直接复制运行的命令;均来自 README)
- Summarize(AI 会话日/周/月汇总)
- 推荐入口(新的形式,README 推荐使用
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
- 说明要点(均来自 README):
- Phase 1:
daily export导出未导出的日期 - Phase 2:
daily merge合并(--sync-all可同步所有日期) weekly generate与monthly generate支持分别生成并可用--deploy发布auto --deploy为“一键”完整流水线:export → merge → weekly → monthly + deploy- LLM 后端通过
--api切换(ollama默认;也可claude_cli/anthropic/openai) - README 提示旧的入口仍可用(向后兼容):
python tools/summarize/daily_summary.py ...(但推荐-m summarize)
- Phase 1:
- Research(论文发现与研究者分析)
- 统一 CLI(README 指定脚本路径和示例命令):
python tools/research/research_scout.py report --project my-project
python tools/research/research_scout.py ask "找 Pieter Abbeel 最近的机器人操作论文"
python tools/research/research_scout.py profile "Sergey Levine"
python tools/research/research_scout.py citations 2301.12597
python tools/research/research_scout.py deploy
- 说明要点:
report:完整流水线(搜索 → 三阶段评估 → 报告生成)ask:自然语言搜索(会自动路由到合适来源)profile:研究者画像citations:引用图谱(可用 arXiv ID / DOI)- LLM 后端通过
--api切换(同 summarize)
- 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
- 说明要点:
python -m benchmark.cli运行所有基准(结果追加到 CSV)--cpu-only/--gpu-only分别限制运行范围--report生成 HTML 报告(可加入--deploy发布到 Hugo)- README 提到自动检测 CUDA / MPS / Intel XPU 等(无额外命令)
- Website(Hugo 博客)
- 安装网站相关依赖:
pip install -e ".[website]"
- 在 macOS / Linux 上执行更新与构建(README 给出):
cd tools/website && bash update.sh
- 在 Windows 上执行 PowerShell 脚本(README 提示):
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
- 本地预览(Hugo dev server):
cd tools/website && hugo server -D
- 说明要点:
update.sh实现增量压缩(只处理自.last_build后变化的媒体)、构建并推送tools/website/public/(这是单独部署仓库)tools/website/public/不应手动提交,脚本会自动 commit + push- 本地翻译与模型:默认使用 Ollama,本地模型
tencent/Hy-MT2-1.8B会在首次运行时自动下载(README 说明)
- Translator(Gradio 文档翻译)
- 安装 translator 依赖(单独安装):
pip install -e ".[translator]"
- 启动 Gradio GUI:
python -m translator
- 说明要点(README):
- 翻译器使用
common.engine.create_engine()自动选择后端(ollama 优先;Linux 偏好 vLLM;Windows fallback transformers;llamacpp 为低显存选项) - 默认模型
tencent/Hy-MT2-1.8B(GGUF varianttencent/Hy-MT2-1.8B-GGUF),首次运行自动下载 - 支持文件类型
.md/.txt/.pdf/.docx/图片,并会保护代码块/URLs/Hugo shortcodes - 可通过环境变量
GADGET_TRANSLATION_MODEL覆盖默认模型(README 提及变量名,但未给示例语法)
- 翻译器使用
G. 其它提示与约束(README 中的规则)
- LLM 后端统一切换:命令行
--api或环境变量GADGET_LLM_BACKEND(可选值:ollama(默认) /claude_cli/anthropic/openai) - 翻译后端选择:
GADGET_TRANSLATION_BACKEND(ollama默认 →llamacpp/vllm/transformers等) - 不要把
tokens/、outputs/、build/、gadget.egg-info/、或tools/website/public/的内容加入 git(README 明确提醒) - 关于服务器 one-click onboarding(在 sibling repo
ai-companion):
bash ../ai-companion/scripts/onboard-server.sh --help
(README 说明该脚本在 ai-companion 仓库中,示例命令如上)
H. 快速示例流程(组合)
- 安装完整 extras(summarize/research/benchmark/website):
pip install -e ".[all]"
- 安装 translator(单独)并启动翻译 GUI:
pip install -e ".[translator]"
python -m translator
- 运行 summarize 完整流水线(示例):
python -m summarize daily export
python -m summarize daily merge --sync-all
python -m summarize weekly generate --week 2026-W12 --deploy
- 运行 benchmark 并生成报告:
cd tools/benchmark
python -m benchmark.cli --report --deploy
- 构建并发布网站(macOS / Linux):
pip install -e ".[website]"
cd tools/website && bash update.sh
I. 常见安全 / 操作注意(来自 README)
tokens/里存放密钥与敏感 onboarding 表单,已 gitignored,绝对不要提交- 所有自动生成文件集中到
outputs/,已 gitignored - 切勿手动向
tools/website/public/提交变更(脚本会在构建时自动操作) - GPU 基准会自动检测 CUDA/MPS/XPU(无需额外命令)
- 若需覆盖默认配置文件路径,设置
GADGET_CONFIG环境变量指向你的配置文件(README 明示变量名)
如果需要,我可以:
- 依据 README 中的各工具文档(如 tools/summarize/tutorial.md、tools/research/TUTORIAL.md、tools/benchmark/tutorial.md、tools/website/CLAUDE.md、tools/translator/core.py 等)为你逐个工具做更细的逐步操作说明或把 README 中提到的 TUTORIAL.md 内容提取并整理成可执行的步骤(但这会需要读取这些文件;目前我只基于 README 回答)。
- 或者现在就去仓库中读取这些工具的 TUTORIAL.md/源文件并为你生成更详尽的逐步指南(你要我继续的话请确认)。
kimi-k3-high — 6,354 字符 · 事实点 15/16
一、项目总结
这是什么
Gadget 是一个个人开发者的日常工具合集,用 Python 编写。作者把日常开发中反复用到的实用工具沉淀到一个仓库里,涵盖五大类场景:AI 对话日报/周报/月报生成、学术论文发现与分析、硬件性能基准测试、Hugo 博客自动化、文档翻译。
核心设计理念:
tools/下每个目录是一个独立工具,可单独使用;- 所有工具共享根目录的
common/基础设施包(LLM 调用、JSON 解析、磁盘缓存、原子写入、翻译引擎、Hugo 部署),通过pip install -e .安装; - LLM 后端统一通过
--api参数切换,四种选择:ollama(默认,本地无需 key)、claude_cli(复用 Claude Code 登录态)、anthropic、openai; - 所有产物统一输出到
outputs/(已 gitignore),配置统一放在根目录config.json。
仓库结构
gadget/
├── tools/ # 五个独立工具
│ ├── summarize/ # AI 对话日报/周报/月报
│ ├── research/ # 论文发现 + 研究者分析 + 引用图谱
│ ├── benchmark/ # CPU/GPU 性能基准测试
│ ├── website/ # Hugo 博客(增量压缩 + 自动构建发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包(LLM/缓存/IO/翻译/Hugo)
├── scripts/ # 运维脚本(sync.py、onboard.py 等)
├── docs/ # 设计文档、ECL 计划、审计报告
├── outputs/ # 所有生成产物(gitignored)
├── AGENTS.md # AI agent 工作协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # common/ + 各工具的打包配置
每个工具做什么
| 工具 | 功能 |
|---|---|
| summarize | 读取 Claude Code / Codex / Cursor / ChatGPT 等 AI 对话记录,调用 LLM 生成结构化日报、周报、月报。多设备两阶段架构:各设备导出 → 云盘同步聚合 → 合并生成。通过 ccusage 20.x 统计各 agent CLI 的 token 用量和成本 |
| research | 统一学术研究工具,单一入口 research_scout.py 提供四大能力:①论文发现(arXiv/bioRxiv/PubMed,三阶段 LLM 流水线:快速筛选→深度评估→引用影响力);②论文深度洞察(--insight,全文下载 + 写作结构分析 + OpenReview 评论匹配);③研究者画像(论文/引用数据 + 研究轨迹分析 + 师生关系发现);④引用图谱分析(Semantic Scholar API) |
| benchmark | 跨平台 CPU/GPU FLOPS 基准测试,支持 NVIDIA CUDA、Apple MPS、Intel XPU,覆盖 FP64/FP32/FP16/BF16/FP8(实验)精度。统计方法:预热 + 正式测量 + 中位数/IQR 离群剔除 + 显式 GPU 同步。结果追加写入 CSV,可生成 Plotly 交互式 HTML 报告和排行榜 |
| website | Hugo 静态博客(“TzJ’s Net”,PaperMod 主题),部署到 GitHub Pages。内置增量媒体压缩(pngquant 压图、HandBrakeCLI 压视频,只处理 .last_build 之后变化的文件)和本地模型双语翻译。各工具的部署流水线直接写入 `tools/website/content |
| translator | 基于 Gradio 的文档翻译网页,类 Google 翻译体验,支持文本和 .md/.txt/.pdf/.docx/图片,保护 Markdown 格式(代码块、URL、Hugo shortcode)。纯本地推理,默认模型 tencent/Hy-MT2-1.8B,模型常驻内存 |
二、新手使用教程
1. 环境准备
需要的基础环境(README「Environment Requirements」一节):
- Python 3.10+,推荐使用 conda 环境
AI:
conda activate AI
- Node.js 18+(仅当你要用可选的 Companion graph / DAG 发布工具时才需要)
- rclone(仅当需要跨设备数据同步时)
- 各工具自己的特定依赖见对应目录下的
requirements.txt
2. 安装
克隆仓库后,在仓库根目录执行:
# 安装 common 包 + summarize / research / benchmark / website 全部 extras
pip install -e ".[all]"
注意:all 不包含 translator,翻译器要单独装:
pip install -e ".[translator]"
如果只用单个工具,也可以只装对应 extra,例如只用 website:
pip install -e ".[website]"
安装后可以用只读冒烟测试验证各工具可用(不调用 LLM、不联网、不写文件):
bash scripts/smoke.sh
3. 配置
- 配置文件:复制模板生成根目录配置(gitignored):
cp config.example.json config.json
可以用环境变量 GADGET_CONFIG 指定其他路径。
- API 密钥:放在
tokens/目录(gitignored,永远不要提交)。 - 新机器一键初始化:填写
tokens/onboard.yaml一张表,然后运行一次:
python scripts/onboard.py
它会自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置和 rclone 引导。
- LLM 后端选择:所有工具的 LLM 功能统一用
--api切换:ollama(默认,本地 Ollama,无需 key,Gemma4-26B)、claude_cli(无需 API key)、anthropic、openai;也可以用环境变量GADGET_LLM_BACKEND全局指定。
4. 各工具典型用法
4.1 Summarize — AI 对话日报/周报/月报
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 # 一键全流程:导出 → 合并 → 周报 → 月报 + 部署
旧入口
python tools/summarize/daily_summary.py ...等仍可用(向后兼容),但推荐上面的python -m summarize形式。
可选:启动一个为 summarize 调优的本地 Ollama 变体:
eval "$(bash scripts/serve_local_llm.sh env)"
4.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
所有 LLM 功能可加 --api 切换后端(ollama / claude_cli / anthropic / openai)。
4.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/
GPU 会自动检测 CUDA / Apple MPS / Intel XPU。
4.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 # 本地预览(开发服务器,含草稿)
首次运行时翻译模型 tencent/Hy-MT2-1.8B 会自动下载。tools/website/public/ 是独立的部署仓库,由构建脚本自动提交推送,不要手动往里提交。
4.5 Translator — 文档翻译器
pip install -e ".[translator]" # 安装依赖(gradio + GGUF 翻译栈)
python -m translator # 启动 Gradio 界面(自动在浏览器打开)
- 默认模型
tencent/Hy-MT2-1.8B,首次使用自动下载;可用环境变量GADGET_TRANSLATION_MODEL或在 GUI 内切换。 - 源语言可设
auto(按 CJK 比例检测),目标语言为auto时在中英之间自动翻转。 - 翻译后端由
GADGET_TRANSLATION_BACKEND指定:ollama(默认)→llamacpp/vllm/transformers。
5. 数据同步与产物位置
跨设备同步数据(需要配置好 rclone,配置在根目录 config.json 的 sync 段):
python scripts/sync.py # 查看用法
python scripts/sync.py push # 推送
python scripts/sync.py pull # 拉取
所有生成物(日志、报告、缓存、结构化数据、图表、备份)都在 outputs/ 下,已全部 gitignore,删掉也能自动重建。
6. 常见注意事项
- 永远不要
git add自动生成的内容、rclone 同步的数据、构建产物(build/、gadget.egg-info/)以及tools/website/下的部署/主题仓库。 tokens/目录存放密钥,绝不提交。- 许可证:GPL-3。
更详细的分步操作、数据格式和 FAQ,README 指向
TUTORIAL.md以及各工具目录下的源文档(如tools/summarize/tutorial.md、tools/research/TUTORIAL.md等),本教程只覆盖了 README 中出现的内容。
kimi-k2.7-code — 5,907 字符 · 事实点 15/16
根据 README 内容,整理如下:
一、项目总结
Gadget 是一个个人开发工具集仓库,收集了日常开发中沉淀下来的实用工具,涵盖 AI 对话总结、论文发现、性能测试、博客自动化和文档翻译等场景。
仓库结构
| 目录 | 作用 |
|---|---|
tools/ |
5 个独立工具,每个子目录可单独使用 |
tools/summarize/ |
AI 对话日报/周报/月报生成 |
tools/research/ |
论文发现、研究者分析、引文网络 |
tools/benchmark/ |
CPU/GPU 性能基准测试 |
tools/website/ |
Hugo 静态博客(增量压缩 + 自动构建发布) |
tools/translator/ |
Gradio 文档翻译器 |
common/ |
公共基础包(LLM 调用、缓存、IO、翻译、Hugo 部署),通过 pip install -e . 安装 |
scripts/ |
运维脚本(数据同步、机器初始化、冒烟测试等) |
docs/ |
设计文档、ECL 计划、审计报告、历史归档 |
outputs/ |
所有生成产物(已 gitignore,可自动重建) |
AGENTS.md |
AI agent 工作流协议 |
CLAUDE.md |
Claude Code 仓库指南 |
pyproject.toml |
包配置 |
各工具职责
- summarize:读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化日报、周报、月报。支持多设备两阶段工作流,并通过
ccusage统计各 CLI 的 token 消耗和费用。 - research:统一学术研究工具包,提供论文发现、论文深度洞察、研究者画像、引文图分析四大功能,入口为
tools/research/research_scout.py。 - benchmark:跨平台 CPU/GPU FLOPS 性能测试工具,支持 NVIDIA CUDA、Apple MPS、Intel XPU,覆盖 FP64/FP32/FP16/BF16/FP8 等精度,生成 CSV 累计结果和交互式 HTML 报告。
- website:基于 Hugo + PaperMod 主题的静态博客「TzJ’s Net」,部署到
https://tzj2006.github.io/。内置增量图片/视频压缩(pngquant、HandBrakeCLI)和本地模型双语翻译。 - translator:基于
common翻译引擎的 Gradio 文档翻译器,支持文本和文件翻译,保留 Markdown 格式,默认使用本地模型tencent/Hy-MT2-1.8B。
二、详细使用教程(面向新手)
1. 环境准备
- Python 3.10+
- 推荐使用 conda 环境
AI:conda activate AI - Node.js 18+(仅用于可选的 Companion 图表和 DAG 发布工具)
- 部分工具需要额外系统依赖:
- Hugo(website 工具)
- pngquant、HandBrakeCLI(website 媒体压缩)
- rclone(数据同步)
- Ollama(本地 LLM 默认后端)
2. 安装
安装公共包和全部工具依赖(不含 translator)
pip install -e ".[all]"
all不包含 translator,需单独安装。
安装 translator 依赖
pip install -e ".[translator]"
安装 website 依赖(包含 torch + transformers)
pip install -e ".[website]"
3. 配置
基础配置文件
复制示例配置:
cp config.example.json config.json
config.json 是 gitignored 的,可通过环境变量指定其他路径:
export GADGET_CONFIG=/path/to/config.json
API Key / Token 目录
tokens/
- 存放 API key 和 onboarding 表单
- 该目录已 gitignore,切勿提交
新机器一键初始化
填写 tokens/onboard.yaml 后运行:
python scripts/onboard.py
该脚本会自动完成:SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置、rclone 引导。
本地 LLM 服务(summarize 调优版 Ollama)
eval "$(bash scripts/serve_local_llm.sh env)"
持久化参数写在 config.json 的 summarize 部分。
4. 各工具典型用法
以下命令均直接摘自 README,可直接复制使用。
4.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 ... python tools/summarize/weekly_summary.py ... python tools/summarize/monthly_summary.py ...
切换 LLM 后端: 所有 LLM 相关命令支持 --api,可选:
ollama(默认,本地 Ollama,无需 API key,使用 Gemma4-26B)claude_cli(复用 Claude Code CLI 登录态,无需 API key)anthropicopenai
例如:
python -m summarize auto --deploy --api openai
也可通过全局环境变量设置:
export GADGET_LLM_BACKEND=openai
4.2 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"
引文图分析:
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
4.3 Benchmark — 性能基准测试
注意:所有 benchmark 命令需要先进入
tools/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
4.4 Website — Hugo 博客
安装依赖:
pip install -e ".[website]"
macOS/Linux:增量压缩 + Hugo 构建 + 推送到 GitHub Pages
cd tools/website && bash update.sh
Windows:
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
本地预览(开发服务器,包含草稿):
cd tools/website && hugo server -D
4.5 Translator — Gradio 文档翻译器
安装依赖:
pip install -e ".[translator]"
启动 Gradio 界面:
python -m translator
5. 数据同步
使用 rclone 在不同设备间同步数据:
python scripts/sync.py push
python scripts/sync.py pull
python scripts/sync.py status
配置位于 config.json 的 sync 部分。
6. 其他实用脚本
# 只读冒烟测试(检查 --help、--info、imports;不调用 LLM、不联网、不写文件)
bash scripts/smoke.sh
# 启动 summarize 调优版 Ollama 并打印环境变量
eval "$(bash scripts/serve_local_llm.sh env)"
# 双语内容审计 + summarize 报告重命名
python scripts/language.py
# 翻译引擎 GPU 性能分析
python scripts/profile_translation.py
7. 重要注意事项
- 不要提交自动生成内容:包括
outputs/、build/、gadget.egg-info/、rclone 同步数据、tools/website/下的部署/主题仓库等。 - 翻译后端选择:通过
GADGET_TRANSLATION_BACKEND控制,可选ollama(默认,gemma4:26b)→llamacpp/vllm/transformers(使用tencent/Hy-MT2-1.8B)。 - LLM 后端统一切换:通过
--api参数或GADGET_LLM_BACKEND环境变量。 tools/website/public/是独立部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动提交推送,不要直接向其中提交代码。- AI Companion 是可选的,位于同级目录
../ai-companion/,不会被自动安装。
glm-5.2-high — 10,360 字符 · 事实点 16/16
一、项目总结
1. 它是什么
Gadgets 是一个开发者在日常工作中沉淀下来的实用工具集合,覆盖五大场景:
- AI 对话日报/周报/月报生成(Summarize)
- 论文发现与研究者分析(Research)
- CPU/GPU 性能基准测试(Benchmark)
- Hugo 博客自动化(Website)
- 文档翻译(Translator)
设计上有几个关键特点:
tools/下每个子目录是一个可独立使用的工具common/是所有工具共享的基础设施包(LLM 调用、JSON 解析、磁盘缓存、原子写、翻译、Hugo 部署),通过pip install -e .安装- 所有 LLM 功能统一通过
--api参数切换四种后端:ollama(默认,本地无 key)、claude_cli(复用 Claude Code CLI 登录态)、anthropic、openai - 所有生成产物统一输出到
outputs/(已被 gitignore) - 配置统一放在仓库根目录的
config.json(gitignored,从config.example.json拷贝),可用GADGET_CONFIG覆盖路径 - 许可证 GPL-3
2. 仓库结构
gadget/
├── tools/ # 五个独立工具产品(改工具就改这里)
│ ├── summarize/ # AI 对话日/周/月报
│ ├── research/ # 论文发现 + 研究者分析 + 引用图
│ ├── benchmark/ # CPU/GPU 性能基准
│ ├── website/ # Hugo 博客(增量媒体压缩 + 自动构建发布)
│ └── translator/ # Gradio 文档翻译器
├── common/ # 共享基础设施包(LLM/缓存/IO/翻译/Hugo)
├── scripts/ # 运维与维护脚本(sync.py, onboard.py 等)
├── docs/ # 设计文档、ECL 计划、审计报告、历史归档
├── outputs/ # 所有生成产物(gitignored)
├── AGENTS.md # AI agent 工作流协议
├── CLAUDE.md # Claude Code 仓库指南
└── pyproject.toml # common + 各工具的打包配置
输出目录 outputs/ 内部分类:
outputs/
├── logs/ # 中间日志
├── reports/ # 最终报告(Markdown/JSON/HTML)
├── cache/ # LLM 缓存、搜索缓存
├── data/ # 结构化数据(CSV、JSON profile)
├── images/ # 图表与生成图片
└── backups/ # 强制覆盖备份
注意:Hugo 站点内容直接写入 tools/website/content|static,不存在 outputs/site 暂存目录。
3. 每个工具分别做什么
Summarize — AI 对话日/周/月报
自动读取每日 AI 对话记录(Claude Code / Codex / Cursor Agent / ChatGPT / 通用 JSON),调用 LLM 生成结构化的日/周/月总结。
- 多设备两阶段架构:在各设备导出对话日志 → 通过云盘同步或手动拷贝聚合 → 生成日报 → 累积后生成周报与月度趋势
- 通过 ccusage 20.x 的按来源命名空间命令(
ccusage claude、ccusage codex、ccusage gemini…)自动发现并统计各 agent CLI 的 token 用量与成本 - 四种 LLM 后端通过
--api切换:ollama(默认,本地 Gemma4-26B)、claude_cli、anthropic、openai
Research — 论文发现与研究者分析
通过单一 CLI 入口 tools/research/research_scout.py 提供四大能力:
- 论文发现:从 arXiv / bioRxiv / PubMed 搜索,经三阶段 LLM 流水线(快速筛选 → 深度评估 → 引用影响)生成研究周报并部署到 Hugo;支持会议论文搜索与作者搜索
- 深度论文洞察(
--insight):下载论文全文,让 LLM 分析写作结构、发表策略、可复用的核心知识;自动匹配 OpenReview 获取评审意见,分析共识与争议;综合跨论文的科研写作指南 - 研究者画像:从 arXiv + Semantic Scholar 抓取论文与引用数据,LLM 生成研究轨迹分析,计算 tier 分数,通过主页抽取 + 合著模式自动发现导师–学生关系;支持同名消歧与反查
- 引用图分析:基于 Semantic Scholar API 的前向引用 / 后向参考分析,配 LLM 驱动的影响解读
Benchmark — 性能基准套件
跨平台 CPU/GPU FLOPS 基准测试工具,统一测量不同硬件厂商与精度档位的浮点性能。
- 支持 NVIDIA (CUDA)、Apple Silicon (MPS)、Intel (XPU) 实跑(OpenCL 仅在
--info检测中出现) - 精度覆盖 FP64 / FP32 / FP16 / BF16 / FP8(实验性)
- 测量流程:预热 + 正式测量 + 统计分析(中位数、IQR 离群剔除)+ 显式 GPU 同步
- 结果以 append 模式累积到 CSV(永不覆盖,天然支持多硬件累积榜单)
- 可生成 Plotly 交互式 HTML 报告与榜单,支持部署到 Hugo 站点 / 提交公共榜单
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),由构建脚本自动 commit + push,不要直接提交它
Translator — Gradio 文档翻译器
基于 common 翻译引擎构建的 Gradio 文档翻译器:Google-Translate 风格的本地翻译网页。
- 翻译文本与文件(
.md/.txt/.pdf/.docx/ 图片),保留 Markdown 格式(代码块、URL、Hugo shortcode 等片段受保护) - 本地推理,不走云端 API:复用
common.engine.create_engine()自动选后端(ollama优先;transformers为 Windows 兜底;vllm为 Linux 优选;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/ — 共享基础设施包
所有工具依赖的共享层,以 Python 包形式通过 pip install -e . 安装:
- 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段onboard.py— 仓库级一次性机器配置:填一份tokens/onboard.yaml,跑一次脚本,自动完成 SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置、rclone bootstrapsmoke.sh— 跨所有工具的只读冒烟网(--help/--info/ imports;不调 LLM、不联网、不写文件)serve_local_llm.sh— 创建一个为 summarize 调优的 Ollama 变体并打印 env(eval "$(bash scripts/serve_local_llm.sh env)");持久化旋钮放在config.json的summarize段- 其他:
language.py(Hugo 双语审计 + summarize 报告重命名)、profile_translation.py(翻译引擎 GPU profiler)
AI Companion — 可选工具
兄弟仓库 ../ai-companion/ 提供 DAG 发布工具,被 scripts/sync.py --category dag 使用。本仓库没有 Companion 拦截钩子,onboarding 不会安装 Companion。旧的 install.ai_companion 设置被忽略。
二、详细使用教程(面向新手)
1. 环境准备
1.1 基础环境
- Python 3.10+(推荐用 conda 环境
AI) - Node.js 18+(仅用于可选的 Companion 图与 DAG 发布工具)
- 各工具目录下的
requirements.txt列出该工具的特定依赖
1.2 创建并激活 conda 环境
conda create -n AI python=3.10
conda activate AI
1.3 配置文件准备
工具配置统一放在仓库根目录的 config.json(已被 gitignore)。从示例文件拷贝:
cp config.example.json config.json
如需指定其他路径,设置环境变量:
# Linux/macOS
export GADGET_CONFIG=/path/to/your/config.json
# Windows PowerShell
$env:GADGET_CONFIG = "C:\path\to\your\config.json"
1.4 LLM 后端全局配置(可选)
通过环境变量 GADGET_LLM_BACKEND 全局指定后端,可选值:ollama(默认)、claude_cli、anthropic、openai。
export GADGET_LLM_BACKEND=ollama
1.5 翻译后端全局配置(可选)
通过 GADGET_TRANSLATION_BACKEND 指定,默认 ollama,可选 llamacpp / vllm / transformers。
export GADGET_TRANSLATION_BACKEND=ollama
2. 安装
2.1 安装 common 包 + 多数工具 extras
pip install -e ".[all]"
注意:
[all]不包含translator,translator 需单独安装。
2.2 单独安装 translator 依赖
pip install -e ".[translator]"
2.3 单独安装 website 依赖(含 torch + transformers 用于翻译)
pip install -e ".[website]"
2.4 一次性机器配置(可选但推荐)
填好 tokens/onboard.yaml 后运行:
python scripts/onboard.py
它会自动完成:SSH 配置、Claude/Codex CLI 安装与认证、pip extras 安装、各工具配置、rclone bootstrap。
注意:
tokens/目录保存 API key 与 onboarding 表,已被 gitignore,切勿提交其内容。
2.5 服务器系统级安装(仅 Ubuntu 22.04/24.04 服务器)
该脚本已迁移到 ai-companion 仓库:
bash ../ai-companion/scripts/onboard-server.sh --help
3. 各工具典型用法
3.1 Summarize — AI 对话报告
推荐使用 python -m summarize 形式(旧的 python tools/summarize/daily_summary.py 等入口仍可用,是向后兼容的 re-export shim)。
两阶段日常工作流:
# 阶段 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
一键全流水线:
# 导出 → 合并 → 周报 → 月报 + 部署
python -m summarize auto --deploy
切换 LLM 后端示例:
python -m summarize daily merge --sync-all --api anthropic
3.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
切换 LLM 后端示例:
python tools/research/research_scout.py report --project my-project --api openai
3.3 Benchmark — 性能基准
注意:所有 benchmark 命令必须先
cd进入tools/benchmark/。
cd tools/benchmark
# 跑全部基准(结果 append 到 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
3.4 Website — Hugo 博客
安装依赖(含 torch + transformers 用于翻译):
pip install -e ".[website]"
macOS/Linux 一键构建发布(增量压缩 + Hugo build + push Pages):
cd tools/website && bash update.sh
Windows(脚本会自动 cd 到自身目录):
powershell -ExecutionPolicy Bypass -File tools/website/update.ps1
本地预览(开发服务器,含 drafts):
cd tools/website && hugo server -D
重要提醒:
tools/website/public/是独立的部署仓库(tzj2006/tzj2006.github.io),由构建脚本自动 commit + push,不要直接提交它。
3.5 Translator — Gradio 文档翻译器
安装依赖:
pip install -e ".[translator]"
启动 Gradio GUI(浏览器自动打开):
python -m translator
可选:通过环境变量覆盖默认翻译模型:
export GADGET_TRANSLATION_MODEL=tencent/Hy-MT2-1.8B-GGUF
4. 运维与维护脚本
4.1 数据同步(需先配置 rclone)
python scripts/sync.py # 默认行为
python scripts/sync.py push # 推送
python scripts/sync.py pull # 拉取
python scripts/sync.py --category dag # 生成 + 部署 DAG 站点
4.2 只读冒烟测试(不调 LLM、不联网、不写文件)
bash scripts/smoke.sh
4.3 启动本地 LLM(summarize 调优的 Ollama 变体)
eval "$(bash scripts/serve_local_llm.sh env)"
4.4 一次性机器配置
填好 tokens/onboard.yaml 后:
python scripts/onboard.py
5. 重要注意事项
-
GPU benchmark 自动检测 CUDA / Apple MPS## 5. 重要注意事项(续)
-
GPU benchmark 自动检测 CUDA / Apple MPS / Intel XPU
-
tokens/目录保存 API key 与 onboarding 表,已被 gitignore,切勿提交其内容 -
所有生成文件输出到
outputs/目录,已被 gitignore -
LLM 后端切换统一通过
--api参数:ollama(默认)、claude_cli、anthropic、openai(或全局环境变量GADGET_LLM_BACKEND) -
翻译路径使用
GADGET_TRANSLATION_BACKEND选择的本地推理引擎:ollama(默认,复用 chat taggemma4:26b)→llamacpp/vllm/transformers(进程内,模型tencent/Hy-MT2-1.8B) -
跨设备数据同步使用
python scripts/sync.py push/pull(需先配置 rclone) -
切勿
git add:自动生成内容、rclone 同步数据、构建产物(build/、gadget.egg-info/)、tools/website/下的部署/主题仓库 -
工具配置放在仓库根
config.json(gitignored,从config.example.json拷贝),用GADGET_CONFIG覆盖路径 -
许可证:GPL-3(见
LICENSE)
以上即基于 README 的完整中文总结与新手使用教程。如需每个工具的逐步细节、数据格式、FAQ,README 指向了 TUTORIAL.md 及各工具源码目录下的 tutorial.md / CLAUDE.md,可按需深入查阅。
提示:当前处于 Ask 模式,以上内容仅为信息说明,未对系统做任何修改。如需我帮你执行安装、配置或运行某个工具,请切换到 Agent 模式。
本地 Ollama
Gemma4 26B — 3,442 字符 · 事实点 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模型。
Gemma4 12B — 3,465 字符 · 事实点 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/下的部署相关内容。
Qwen3.8 27B — 8,044 字符 · 事实点 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 36B — 7,847 字符 · 事实点 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。
复现
docbench.py(跑测,断点续跑)→ docbench.json(完整记录)→ gen_doc_post.py(生成本页)。