
在 summarize 中使用 Ollama 本地模型完全离线的文章摘要指南【免费下载链接】summarizePoint at any URL/YouTube/Podcast or file. Get the gist. CLI and Chrome Extension.项目地址: https://gitcode.com/GitHub_Trending/summarize/summarize本文基于 summarize 项目的官方文档 docs/ollama.md讲解如何将本机的 Ollama 服务接入 summarize CLI 与 Chrome/Firefox 扩展实现无需 API Key、无需云端往返、数据不出本机的 LLM 摘要能力。读完本文你将掌握--model ollama/model的完整用法、CLI/配置文件/环境变量三种配置方式、远程与鉴权场景的接线方法以及本地模型选型与已知限制。Ollama 是什么为什么适合 summarizeOllama 是本地运行开源大模型的常用工具它默认在http://localhost:11434/v1暴露一个OpenAI 兼容的 Chat Completions API。summarize 直接与该端点对话——不需要 API Key没有云端往返数据不离开你的机器。这一点对敏感内容、离线环境或希望控制成本的用户尤其有价值。从源码可以看到项目把 Ollama 视为一个标准的 openai-compatible 网关在 src/llm/provider-registry.ts 中ollama的 profile 声明了execution: openai-compatible、defaultBaseUrl: DEFAULT_OLLAMA_BASE_URL且forceChatCompletions: true而 src/llm/providers/models.ts 的resolveOllamaModel()会生成一个api: openai-completions的合成模型把请求指向 Ollama 的/v1端点。快速开始两条命令跑通# 1. 拉取一个适配你显存VRAM的模型 ollama pull qwen3:14b # 2. 用 summarize 指向它摘要任意 URL summarize https://example.com --model ollama/qwen3:14b仅此而已。使用默认的http://localhost:11434/v1端点时不需要设置任何环境变量。配置方式详解CLI 参数--model ollama/modelsummarize url --model ollama/modelmodel部分必须与ollama list中的标签逐字符一致包括变体后缀ollama/qwen3:14bollama/llama3.1:8bollama/gemma3:12b-it-q8_0注意这里的模型 ID 会原样透传给 Ollamaqwen3:14b而不是openai/qwen3:14b这对应 docs/ollama.md 中 Transport details 一节的说明与 src/llm/model-id.ts 中ollama/...前缀的解析逻辑一致。如果你本机没有该标签Ollama 会返回模型不存在错误因此务必先用ollama list核对。配置文件~/.summarize/config.json{ model: ollama/qwen3:14b, ollama: { baseUrl: http://localhost:11434/v1 } }ollama.baseUrl只在指向远程 Ollama 实例或非默认端口时才需要。配置文件中该字段的类型定义见 src/config/types.ts注释明确指出需要按运行环境覆盖时优先用环境变量OLLAMA_BASE_URL。环境变量变量作用默认值OLLAMA_BASE_URL覆盖 Ollama OpenAI 兼容 Base URL含/v1后缀http://localhost:11434/v1OLLAMA_BASE_URL还控制着 Chrome/Firefox 扩展模型选择器中的自动发现auto-discovery——设置它或配置文件中的ollama.baseUrl后你已安装的 Ollama 模型会自动出现在扩展的下拉列表中无需手工填写。这个自动发现逻辑在 src/daemon/models.ts 中实现只有当OLLAMA_BASE_URL或 config 中的ollama.baseUrl显式非空时daemon 才会以 1200ms 超时探测 Ollama 的 OpenAI 兼容端点并枚举可用模型把结果挂到providers.ollama。默认值常量定义于 src/llm/provider-registry.ts 的DEFAULT_OLLAMA_BASE_URL。远程 OllamaLAN / Tailscale如果 Ollama 运行在局域网另一台机器上或通过 Tailscale 组网export OLLAMA_BASE_URLhttp://gpu-rig.lan:11434/v1 summarize https://example.com --model ollama/qwen3:14b此时把gpu-rig.lan换成实际主机名或 IP 即可。带鉴权的 OllamaAuth 前置代理如果你在 Ollama 前面架了鉴权代理export OPENAI_API_KEYyour-token-heresummarize 会把该 Key 作为Authorization: Bearer …请求头发送。裸的 Ollama 会忽略这个请求头任何值都能通过所以即使只是随便填一个 dummy 值也可以。源码层面src/llm/provider-profile.ts 对ollama提供商做了特殊处理默认使用ollama作为占位 apiKey对应裸服务忽略鉴权的行为一旦设置了OPENAI_API_KEY就会真实转发。模型推荐16GB 消费级显卡的取舍在 Q4_K_M 量化约 10GB 磁盘占用的前提下针对摘要质量的推荐如下qwen3:14b—— 指令遵循能力强约 128K 上下文2026 年当前世代。非常适合长文章、播客和 YouTube 字幕。gemma3:12b—— 较新的 Gemma 世代指令微调显存占用更轻为长上下文留出更多余量。mistral-small:24b—— 16GB 显存下 Q4 量化能舒适容纳的最大型号质量更高但 TTFT首 token 延迟更慢显存余量更紧。经验法则≤8B 参数的小模型在长文内容上容易幻觉具体细节型号、日期、人名。如果你要摘要 YouTube 字幕或长文章优先选择 12B 以上的模型。已知限制不支持文档附件Ollama 模型不接受 PDF--format markdown配合--markdown-mode llm仍然可用HTML 进、Markdown 出但二进制.pdf输入需要支持文档附件的 Anthropic/OpenAI/Google 模型。这与 src/llm/provider-registry.ts 中supportsDocuments: false的声明一致。没有原生视频理解请走字幕transcript路径YouTube 的默认路径而不是--video-mode understand。质量上限受本地模型约束不要指望 14B 本地模型产出 GPT-5 级别的输出。建议对同一输入做一次 A/B 对比校准预期。传输细节底层如何工作Ollama 通过其 OpenAI 兼容的/v1/chat/completions端点被调用。summarize 会强制使用 Chat Completions 模式Ollama 不支持 OpenAI Responses API并把模型 ID 原样发送qwen3:14b不带openai/前缀。这两点均有源码依据forceChatCompletions: true定义在 src/llm/provider-registry.tsresolveOllamaModel()将 API 定为openai-completions见 src/llm/providers/models.ts流式输出可用supportsStreaming: true与项目其他 OpenAI 兼容传输共用 HTTP 提交、补全校验与流式用量结算见 docs/llm.md 的 Defaults 小节。与扩展/daemon 的联动除了 CLIOllama 还深度集成在扩展体系中OLLAMA_BASE_URL同时是 daemon 环境快照src/daemon/env-snapshot.ts和运行状态展示src/run/status-cli.ts所关注的变量扩展侧的模型路由apps/chrome-extension/src/lib/model-routing.ts同样识别ollama/...模型。这意味着在扩展设置中配置好 Ollama 后面板摘要、daemon 请求与 CLI 可以共用同一套本地推理服务。小结接入本地 Ollama 是 summarize 实现完全离线摘要最直接的路径一个ollama pull加一个--model ollama/model即可开工需要自定义端点时CLI、~/.summarize/config.json与OLLAMA_BASE_URL三种方式按需取用。请牢记两条约束模型标签必须与ollama list完全一致PDF 附件与视频理解需要其他模型路径。更完整的 LLM 模型选择与 flag 体系参见 docs/llm.md自动模型选择机制参见 docs/model-auto.md。【免费下载链接】summarizePoint at any URL/YouTube/Podcast or file. Get the gist. CLI and Chrome Extension.项目地址: https://gitcode.com/GitHub_Trending/summarize/summarize创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考