每个安全研究人员都有这种感觉——你发现了一个有趣的 GitHub 仓库、一篇新的 CVE 文章、一篇关于新利用技术的博客。你把它转发到自己的 WhatsApp 上。它立刻淹没在聊天记录中。几周后你真正需要那篇文章时——却找不到了。
别再给自己发送那些再也找不到的链接了——一次性发送给 Samuraizer,它们会被总结、打标签,并永久可搜索。
| 之前 😵 | 之后 🗡️ |
|---|---|
![]() 散乱的链接淹没在聊天记录中 |
![]() 已分析、打标签,随时可被找到 |
🎯 额外隐私模式(仅本地)——使用 ollama 运行,所有数据保留在你的机器上。
samuraizer.db + 通过 Ollama 的本地 AI 嵌入。ollama pull qwen3:4b,ollama pull qwen3-embedding:8b)。.pdf,.docx,.pptx,.txt,.md


/yt-channels API 运行,并在 UI 的 RSS/YT 部分显示
![]() 分析 URL |
![]() 每日推荐阅读 |
@ 自动补全,或使用 @ 浏览按钮
![]() 带来源分数的 RAG 聊天 |
![]() 固定上下文的聊天 |
[!IMPORTANT] 塑造 Samuraizer 的未来! 我们目前正在对新功能(如本地 LLM 和 Obsidian 导出)进行投票。 在此处投票!
flowchart LR
Browser[浏览器 UI] -->|HTTP| Frontend[React 前端]
Frontend -->|REST/NDJSON| Backend[Flask API]
Backend -->|SQL| SQLite[(samuraizer.db)]
Backend -->|API| Gemini[Gemini 2.5 Flash]
Backend -->|local API| Ollama[Ollama - 本地 LLM]
Backend -->|GitHub API| GitHub[GitHub]
Backend -->|RSS| RSS[RSS 订阅源]
Telegram[Telegram 机器人] -->|HTTP| Backend
samuraizer.db 中,并呈现在前端。PATCH /entries/<id> 持久化更新)| 层 | 技术/库 |
|---|---|
| 后端 | Python,Flask,SQLite,feedparser,PyMuPDF |
| LLM | Gemini 2.5 Flash(Gemini API),Ollama(本地可选) |
| 前端 | React 18,Vite,Tailwind CSS |
| 机器人 | python-telegram-bot v20 |
| 转录 | transcriptapi.com |
选择你偏好的设置方式:
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer
复制 .env.example 到 .env 并填入你的值。
你也可以打开 Web UI,转到 设置 标签,在保存前调整设置(提供商、API 密钥、Ollama 模型名称、嵌入模型名称)。
cp .env.example .env
| 变量 | 必填 | 获取方式 |
|---|---|---|
LLM_PROVIDER | 否 | gemini(默认,云端)或 ollama(本地) |
GEMINI_API_KEY | 使用 gemini 时 | Google AI Studio → 获取 API 密钥 |
OLLAMA_URL | 使用 ollama 时 | Ollama API URL(默认:http://localhost:11434) |
OLLAMA_MODEL | 使用 ollama 时 | 推理模型(默认:qwen3:14b) |
OLLAMA_EMBED_MODEL | 使用 ollama 时 | 嵌入模型(默认:qwen3-embedding:8b) |
TELEGRAM_BOT_TOKEN | 否 | 通过 Telegram 上的 @BotFather 创建机器人 |
GITHUB_TOKEN | 否 | GitHub → 设置 → 开发者设置 → 个人访问令牌 — 将 API 频率限制从 60 提高到 5000 次/小时 |
TRANSCRIPTAPI | 否 | transcriptapi.com/dashboard/api-keys — YouTube 转录获取所必需 |
SAMURAIZER_URL | 否 | 后端 URL(默认:http://localhost:8000),供 Telegram 机器人使用 |
使用 Ollama 完全离线运行 Samuraizer:
# 安装 Ollama CLI(取决于平台)
# macOS
curl -fsSL https://ollama.com/install.sh | sh
# Windows
irm https://ollama.com/install.ps1 | iex
# Linux(Ubuntu/Debian)
curl -fsSL https://ollama.com/install.sh | sh
# 启动 Ollama 服务
ollama serve
# 安装模型
ollama pull qwen3:4b # 推理
ollama pull qwen3-embedding:8b # 嵌入
# 在 .env 中设置提供商
LLM_PROVIDER=ollama
如果你已有 Gemini 嵌入,切换到 Ollama 将在下次启动时自动清除它们(维度不匹配)。通过 UI 或 POST /entries/embed-all 重新嵌入。
# 创建并激活虚拟环境
python -m venv .venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
pip install -r requirements.txt
cd frontend
npm install
cd ..