smaug
Smaug 是一款专为知识管理打造的自动化工具,它能像巨龙守护宝藏一样,将你在 Twitter/X 上收藏的书签和点赞内容自动归档为结构清晰的 Markdown 文件。许多用户常面临“只存不看”的困境,导致有价值的技术文章、代码库或深度讨论随时间流逝而难以检索,Smaug 正是为了解决这一痛点而生。
它不仅简单保存链接,还能智能展开短链接,提取 GitHub 仓库详情、文章全文甚至推文线程的完整上下文。其核心亮点在于集成了 AI 分析能力,支持调用 Claude Code 和 OpenCode 等多种大模型,自动对内容进行分类、总结并整理到本地知识库中。通过简单的命令行操作,用户即可实现从数据抓取到智能处理的全流程自动化。
Smaug 特别适合开发者、研究人员及技术爱好者使用,尤其是那些习惯在社交媒体上追踪前沿技术动态,并希望将其转化为个人持久知识资产的人群。只需几分钟配置,你就能拥有一位不知疲倦的"AI 图书管理员”,帮你把零散的社交媒体的碎片信息,系统性地转化为可搜索、可复用的宝贵资料库。
使用场景
资深全栈开发者李明习惯在 Twitter/X 上收藏大量技术推文,包括最新的 GitHub 开源项目、架构设计文章和代码片段,旨在构建个人知识库以备后续查阅。
没有 smaug 时
- 链接失效与内容丢失:收藏的短链接(t.co)随时间推移可能失效,且无法直接查看原文完整内容,导致“收藏即遗忘”。
- 人工整理耗时巨大:手动点击每个书签,复制标题、作者和正文到笔记软件,并人工判断分类,处理几百条记录需耗费数小时。
- 缺乏上下文关联:仅保存了推文快照,缺少对引用的 GitHub 仓库星级、描述或长文核心观点的结构化提取,复习时难以快速抓住重点。
- 知识分散难检索:有价值的信息散落在浏览器书签和不同标签页中,未形成统一的 Markdown 文档库,无法通过本地搜索高效复用。
使用 smaug 后
- 自动归档与链接还原:smaug 自动抓取所有书签,将 t.co 短链还原为真实 URL,并提取文章全文或 GitHub 仓库元数据,永久保存至本地 Markdown。
- AI 智能分析与分类:内置 Claude Code 自动分析每条内容,提取核心摘要并按“工具”、“文章”等类别自动归入
knowledge目录,无需人工干预。 - 结构化知识沉淀:生成的 Markdown 文件包含丰富的上下文(如仓库星级、作者信息),并按日期组织,直接形成可版本控制的知识库。
- 工作流无缝集成:配置一次后,只需运行简单命令即可批量处理新增书签,将原本数小时的手工劳动缩短为几分钟的自动化流程。
smaug 将碎片化的社交媒体收藏转化为结构化、可检索的本地知识资产,让开发者真正拥有自己的“数字宝藏库”。
运行环境要求
- Linux
- macOS
- Windows
不需要 GPU
未说明

快速开始
史矛革 🐉
将你的 Twitter/X 书签(和/或可选的点赞)自动归档为 Markdown 格式。
就像龙守护着宝藏一样,史矛革会收集你收藏的珍贵内容和点赞。
多模型支持: 史矛革支持 Claude Code(默认)和 OpenCode,让你可以使用多种 AI 模型。不同模型的结果可能会有所差异——请仔细测试并找到最适合你工作流程的模型。设置详情请参阅 AI CLI 集成。
目录
🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥
_____ __ __ _ _ _ ____
/ ____| \/ | / \ | | | |/ ___|
\___ \| |\/| |/ _ \| | | | | _
___) | | | / ___ \ |_| | |_| |
|____/|_| |_/_/ \_\___/ \____|
🐉 龙苏醒了……又有宝藏等着被收藏!
快速入门(5 分钟)
# 1. 安装 bird CLI(Twitter API 封装工具)
# 安装说明见 https://github.com/steipete/bird
# 2. 克隆并安装史矛革
git clone https://github.com/alexknowshtml/smaug
cd smaug
npm install
# 3. 运行设置向导
npx smaug setup
# 4. 运行完整任务(抓取 + 使用 Claude 处理)
npx smaug run
设置向导将完成以下操作:
- 创建必要的目录
- 引导你获取 Twitter 凭证
- 创建你的配置文件
手动获取 Twitter 凭证
史矛革使用 bird CLI,而 bird CLI 需要你的 Twitter 会话 Cookie。
如果你不想使用向导来简化流程,也可以手动将会话信息填入配置文件。
- 复制示例配置文件:
cp smaug.config.example.json smaug.config.json - 在浏览器中打开 Twitter/X
- 打开开发者工具 → 应用程序 → Cookies
- 找到并复制以下值:
auth_tokenct0
- 将它们添加到你的
smaug.config.json中:
{
"twitter": {
"authToken": "your_auth_token_here",
"ct0": "your_ct0_here"
}
}
注意:
smaug.config.json已被 .gitignore 忽略,以防止意外提交凭证。取而代之的是跟踪示例文件。
史矛革的实际功能
- 从 Twitter/X 抓取书签,使用 bird CLI(也可同时抓取点赞,或两者兼抓)
- 展开 t.co 链接,揭示真实 URL
- 提取链接页面的内容:
- GitHub 仓库(通过 API 获取星标数、描述、README)
- 外部文章(标题、作者、内容)
- X/Twitter 长文(通过 bird CLI 提取全文)
- 引用推文和回复线程(完整上下文)
- 调用 Claude Code 来分析并分类每条推文
- 保存为 Markdown 文件,按日期整理,并附带丰富上下文
- 归档到知识库:GitHub 仓库存入
knowledge/tools/,文章存入knowledge/articles/
手动运行
# 完整任务(抓取 + 使用 Claude 处理)
npx smaug run
# 默认抓取书签
npx smaug fetch 20
# 抓取所有书签(分页加载,需使用 git 版本的 bird CLI)
npx smaug fetch --all
npx smaug fetch --all --max-pages 5 # 限制为 5 页
# 改为抓取点赞
npx smaug fetch --source likes
# 同时抓取书签和点赞
npx smaug fetch --source both
# 处理已抓取的推文
npx smaug process
# 强制重新处理(忽略重复项)
npx smaug process --force
# 检查待处理的任务
node -e "console.log(require('./.state/pending-bookmarks.json').count)"
抓取所有书签
默认情况下,Twitter 的 API 每次请求会返回约 50–70 条书签。若需抓取更多,可使用 --all 标志启用分页功能:
npx smaug fetch --all # 抓取全部(最多 10 页)
npx smaug fetch --all --max-pages 20 # 抓取最多 20 页
注意: 这需要使用从 git 构建的 bird CLI(而非 npm 发布版本)。安装说明请参阅 故障排除。
费用提示: 处理大量书签可能会消耗大量 Claude Token。每个包含复杂内容的书签(如长篇文章、GitHub README 等)都会增加上下文长度。建议分批处理以控制成本:
npx smaug run --limit 50 -t # 每次处理 50 条,并跟踪 Token 使用情况
使用 -t 标志可监控用量。不同模型的成本估算请参阅 Token 使用追踪。
分类
分类定义了不同类型书签的处理方式。史矛革提供了合理的默认分类,但你可以在 smaug.config.json 中自定义它们。
默认分类
| 分类 | 匹配条件 | 动作 | 归档位置 |
|---|---|---|---|
| github | github.com | 存档 | ./knowledge/tools/ |
| article | medium.com, substack.com, dev.to, 博客等 | 存档 | ./knowledge/articles/ |
| x-article | x.com/i/article/* | 存档 | ./knowledge/articles/ |
| tweet | (备用) | 记录 | 仅保存到 bookmarks.md |
🔜 注意:转录功能已标记,但尚未自动化。欢迎提交 PR!
X/Twitter 长文
X 文章(x.com/i/article/*)是 Twitter 原生的长文格式。史矛革会使用 bird CLI 提取完整的文章内容:
- 直接提取:如果书签中的推文是文章作者的原创帖子,则直接提取内容。
- 搜索回退:如果你书签的是他人分享或引用的文章,史矛革会搜索原始作者的推文,并从中提取完整内容。
- 元数据回退:如果搜索失败,则记录基本元数据(标题、描述)。
示例 X 文章书签:
## @joaomdmoura - 从 20 亿个智能体工作流中学到的经验
> [完整文章内容已提取]
- **推文:** https://x.com/joaomdmoura/status/123456789
- **链接:** https://x.com/i/article/987654321
- **归档:** [lessons-from-2-billion-agentic-workflows.md](./knowledge/articles/lessons-from-2-billion-agentic-workflows.md)
- **内容:** 深入探讨将 CrewAI 扩展到数十亿次智能体执行过程中所发现的模式。
动作
- 存档:创建带有丰富元数据的独立 Markdown 文件
- 记录:仅添加到 bookmarks.md,不另建文件
- 转录:标记以供未来转录 (自动转录功能即将推出!欢迎提交 PR)
自定义分类
在 smaug.config.json 中添加您自己的分类:
{
"categories": {
"research": {
"match": ["arxiv.org", "papers.", "scholar.google"],
"action": "file",
"folder": "./knowledge/research",
"template": "article",
"description": "学术论文"
},
"newsletter": {
"match": ["buttondown.email", "beehiiv.com"],
"action": "file",
"folder": "./knowledge/newsletters",
"template": "article",
"description": "新闻通讯期刊"
}
}
}
您的自定义分类会与默认分类合并。要覆盖某个默认分类,只需使用相同的键(例如 github、article)。
书签文件夹
如果您已将 Twitter 书签组织到文件夹中,Smaug 可以将这种组织方式保留为标签。通过配置文件夹 ID 到标签名称的映射来实现:
{
"folders": {
"1234567890": "ai-tools",
"0987654321": "articles-to-read",
"1122334455": "research"
}
}
如何找到文件夹 ID:
- 打开 Twitter/X 并进入您的书签。
- 点击一个文件夹。
- URL 将显示为
https://x.com/i/bookmarks/1234567890,其中的数字即为文件夹 ID。
当文件夹配置完成后:
- Smaug 会分别从每个文件夹中抓取数据。
- 每个书签都会被标记为其所属的文件夹名称。
- 标签会出现在
bookmarks.md条目和知识文件的 frontmatter 中。
注意: Twitter 的 API 在一次性获取所有书签时不会返回文件夹归属信息,因此 Smaug 必须单独逐个文件夹进行抓取。
自动化
每 30 分钟自动运行一次 Smaug:
选项 A:PM2(推荐)
npm install -g pm2
pm2 start "npx smaug run" --cron "*/30 * * * *" --name smaug
pm2 save
pm2 startup # 开机启动
选项 B:Cron
crontab -e
# 添加:
*/30 * * * * cd /path/to/smaug && npx smaug run >> smaug.log 2>&1
选项 C:systemd
# 创建 /etc/systemd/system/smaug.service
# 详情请参阅 docs/systemd-setup.md
输出
bookmarks.md
您的书签按日期整理:
# 2026年1月2日 星期四
## @simonw - Gist Host Fork for Rendering GitHub Gists
> 我分叉了优秀的 gistpreview.github.io,创建了 gisthost.github.io
- **推文:** https://x.com/simonw/status/123456789
- **链接:** https://gisthost.github.io/
- **归档:** [gisthost-gist-rendering.md](./knowledge/articles/gisthost-gist-rendering.md)
- **内容:** 一款免费的 GitHub Pages 托管工具,用于渲染来自 Gist 的 HTML 文件。
---
## @tom_doerr - Whisper-Flow 实时转录
> 这太棒了——使用 Whisper 实现实时转录
- **推文:** https://x.com/tom_doerr/status/987654321
- **链接:** https://github.com/dimastatz/whisper-flow
- **归档:** [whisper-flow.md](./knowledge/tools/whisper-flow.md)
- **内容:** 使用 OpenAI Whisper 并支持流式传输的实时语音转文字工具。
knowledge/tools/*.md
GitHub 仓库会生成各自的文件:
---
title: "whisper-flow"
type: tool
date_added: 2026-01-02
source: "https://github.com/dimastatz/whisper-flow"
tags: [ai, transcription, whisper, streaming]
via: "Twitter bookmark from @tom_doerr"
---
使用 OpenAI Whisper 进行实时语音转文字转录……
## 主要特性
- 流式音频输入
- 多语言支持
- 低延迟输出
## 链接
- [GitHub](https://github.com/dimastatz/whisper-flow)
- [原始推文](https://x.com/tom_doerr/status/987654321)
配置
复制示例配置并进行自定义:
cp smaug.config.example.json smaug.config.json
示例 smaug.config.json:
{
"source": "bookmarks",
"archiveFile": "./bookmarks.md",
"pendingFile": "./.state/pending-bookmarks.json",
"stateFile": "./.state/bookmarks-state.json",
"timezone": "America/New_York",
"twitter": {
"authToken": "your_auth_token",
"ct0": "your_ct0"
},
"autoInvokeClaude": true,
"claudeModel": "sonnet",
"claudeTimeout": 900000,
"allowedTools": "Read,Write,Edit,Glob,Grep,Bash,Task,TodoWrite",
"webhookUrl": null,
"webhookType": "discord"
}
| 选项 | 默认值 | 描述 |
|---|---|---|
source |
bookmarks |
要抓取的内容:bookmarks(默认)、likes 或 both |
includeMedia |
false |
实验性:包含媒体附件(照片、视频、GIF) |
archiveFile |
./bookmarks.md |
主归档文件 |
timezone |
America/New_York |
用于日期格式化 |
cliTool |
claude |
要使用的 AI CLI:claude 或 opencode |
autoInvokeClaude |
true |
自动运行 Claude Code 进行分析 |
claudeModel |
sonnet |
要使用的模型(sonnet、haiku 或 opus) |
autoInvokeOpencode |
true |
自动运行 OpenCode 进行分析 |
opencodeModel |
opencode/glm-4.7-free |
OpenCode 模型(详见 OpenCode 文档) |
claudeTimeout |
900000 |
最大处理时间(15 分钟) |
parallelThreshold |
8 |
同时处理的最小书签数量 |
webhookUrl |
null |
用于通知的 Discord/Slack webhook |
环境变量同样适用:AUTH_TOKEN、CT0、SOURCE、INCLUDE_MEDIA、ARCHIVE_FILE、TIMEZONE、CLI_TOOL、CLAUDE_MODEL、OPENCODE_MODEL 等。
实验性:媒体附件
媒体提取功能(照片、视频、GIF)目前可用,但默认关闭。要启用:
# 一次性使用标志
npx smaug fetch --media
# 或在配置中
{
"includeMedia": true
}
启用后,media[] 数组会包含在待处理的 JSON 中,内容包括:
type: “photo”、“video” 或 “animated_gif”url: 媒体全尺寸链接previewUrl: 缩略图(更小、加载更快)width、height: 尺寸videoUrl、durationMs: 仅适用于视频
⚠️ 为什么是实验性?
- 需要支持媒体的 bird 版本 —— PR #14 添加了媒体提取功能。在合并之前,您需要使用包含此 PR 的分支,或等待上游发布。否则,
--media将不起作用(数组为空)。 - 工作流程仍在完善中 —— 短截屏(< 30 秒)不需要转录,但较长的视频可能需要。我们仍在探索最佳处理方式。
AI CLI 集成
Smaug 支持多种 AI CLI 工具,用于智能处理书签:
- Claude Code(默认)— Anthropic 的 Claude CLI
- OpenCode — 另一种支持多种模型的 AI CLI
使用 OpenCode(替代 Claude)
要使用 OpenCode 替代 Claude Code:
{
"cliTool": "opencode",
"opencodeModel": "opencode/glm-4.7-free",
"autoInvokeOpencode": true
}
可用的 OpenCode 模型包括:
opencode/glm-4.7-free(免费版)opencode/kimi-k2.5-free(免费版)opencode/claude-sonnet-4.5(通过 OpenCode 使用 Claude)opencode/gpt-5.2(通过 OpenCode 使用 GPT)
可通过环境变量设置:
export CLI_TOOL=opencode
export OPENCODE_MODEL=opencode/kimi-k2.5-free
Claude Code 集成
Smaug 默认使用 Claude Code 进行智能书签处理。.claude/commands/process-bookmarks.md 文件包含以下说明:
- 生成描述性标题(而非通用的“文章”或“推文”)
- 将 GitHub 仓库归档到
knowledge/tools/ - 将文章归档到
knowledge/articles/ - 处理带有完整上下文的引用推文
- 处理带有父级上下文的回复线程
- 对大批量书签进行并行处理(可配置阈值,默认为 8 个书签)
你也可以手动运行处理命令:
claude
> Run /process-bookmarks
Token 使用跟踪
使用 -t 标志跟踪 API 费用:
npx smaug run -t
# 或
npx smaug run --track-tokens
每次运行结束时,都会显示如下细分信息:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 TOKEN 使用情况
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
主模型 (sonnet):
输入: 85 tokens <$0.01
输出: 5,327 tokens $0.08
缓存读取: 724,991 tokens $0.22
缓存写入: 62,233 tokens $0.23
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💰 总费用:$0.53
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
成本优化:Haiku 子代理
对于大批量书签(默认 8 个及以上),Smaug 会启动并行子代理。默认情况下,这些子代理使用 Haiku 模型而非 Sonnet 模型,从而将成本几乎降低一半:
| 配置 | 20 个书签 | 时间 |
|---|---|---|
| Sonnet 子代理 | $1.00 | 4 分 12 秒 |
| Haiku 子代理 | $0.53 | 4 分 18 秒 |
速度相同,但成本降低了约 50%。由于分类和归档任务并不需要 Sonnet 级别的推理能力,因此 Haiku 模型完全可以胜任。
这一设置在 .claude/commands/process-bookmarks.md 中通过在 Task 调用中添加 model="haiku" 来配置。
故障排除
“没有新的书签需要处理”
这意味着以下两种情况之一:
- 未成功获取任何书签(请检查 bird CLI 的凭据)
- 所有已获取的书签已存在于
bookmarks.md中
若要从头开始,请执行以下操作:
rm -rf .state/ bookmarks.md knowledge/
mkdir -p .state knowledge/tools knowledge/articles
npx smaug run
bird CLI 出现 403 错误
你的 Twitter Cookie 可能已过期。请从浏览器中获取新的 Cookie。
处理速度较慢
- 在配置中尝试使用
haiku模型代替sonnet,以获得更快但略显粗糙的处理效果 - 确保未使用
--force参数重复处理(这会导致编辑而非追加内容)
仅获取了约 50–70 个书签
npm 发布的 bird CLI(v0.5.1)不支持分页功能。要获取所有书签,请从 Git 安装 bird:
# 克隆并构建 bird 源代码
cd /tmp
git clone https://github.com/steipete/bird.git
cd bird
pnpm install # 或:npm install -g pnpm && pnpm install
pnpm run build:dist
# 全局链接(可能需要 sudo 或 --force)
npm link --force
# 验证
bird --version # 应显示更新的提交哈希
bird bookmarks --help # 应显示 --all 标志
然后使用 npx smaug fetch --all 来启用分页功能,获取所有书签。
致谢
- bird CLI 由 Peter Steinberger 开发
- 基于 Claude Code 构建
许可证
MIT
版本历史
v0.3.12026/01/06v0.3.02026/01/05v0.22026/01/02常见问题
相似工具推荐
n8n
n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备