<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>新闻摘要 &#8211; 95博客</title>
	<atom:link href="https://95bok.cn/tag/%e6%96%b0%e9%97%bb%e6%91%98%e8%a6%81/feed/" rel="self" type="application/rss+xml" />
	<link>https://95bok.cn</link>
	<description>云烟</description>
	<lastBuildDate>Mon, 13 Apr 2026 07:46:32 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://95bok.cn/wp-content/uploads/2025/11/cropped-1740116058152-32x32.jpg</url>
	<title>新闻摘要 &#8211; 95博客</title>
	<link>https://95bok.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>这周我用 n8n + Ollama 搭了个本地自动化助手，结果它真帮我把每天的新闻和日志处理完了</title>
		<link>https://95bok.cn/%e8%bf%99%e5%91%a8%e6%88%91%e7%94%a8-n8n-ollama-%e6%90%ad%e4%ba%86%e4%b8%aa%e6%9c%ac%e5%9c%b0%e8%87%aa%e5%8a%a8%e5%8c%96%e5%8a%a9%e6%89%8b%ef%bc%8c%e7%bb%93%e6%9e%9c%e5%ae%83%e7%9c%9f%e5%b8%ae/</link>
					<comments>https://95bok.cn/%e8%bf%99%e5%91%a8%e6%88%91%e7%94%a8-n8n-ollama-%e6%90%ad%e4%ba%86%e4%b8%aa%e6%9c%ac%e5%9c%b0%e8%87%aa%e5%8a%a8%e5%8c%96%e5%8a%a9%e6%89%8b%ef%bc%8c%e7%bb%93%e6%9e%9c%e5%ae%83%e7%9c%9f%e5%b8%ae/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 07:46:32 +0000</pubDate>
				<category><![CDATA[Docker容器]]></category>
		<category><![CDATA[本地AI]]></category>
		<category><![CDATA[n8n]]></category>
		<category><![CDATA[Ollama]]></category>
		<category><![CDATA[工作流]]></category>
		<category><![CDATA[新闻摘要]]></category>
		<category><![CDATA[日志分析]]></category>
		<category><![CDATA[自动化]]></category>
		<guid isPermaLink="false">https://95bok.cn/%e8%bf%99%e5%91%a8%e6%88%91%e7%94%a8-n8n-ollama-%e6%90%ad%e4%ba%86%e4%b8%aa%e6%9c%ac%e5%9c%b0%e8%87%aa%e5%8a%a8%e5%8c%96%e5%8a%a9%e6%89%8b%ef%bc%8c%e7%bb%93%e6%9e%9c%e5%ae%83%e7%9c%9f%e5%b8%ae/</guid>

					<description><![CDATA[# 这周我用 n8n + Ollama 搭了个本地自动化助手，结果它真帮我把每天的新闻和日志处理完了 这周一我 ... <a title="这周我用 n8n + Ollama 搭了个本地自动化助手，结果它真帮我把每天的新闻和日志处理完了" class="read-more" href="https://95bok.cn/%e8%bf%99%e5%91%a8%e6%88%91%e7%94%a8-n8n-ollama-%e6%90%ad%e4%ba%86%e4%b8%aa%e6%9c%ac%e5%9c%b0%e8%87%aa%e5%8a%a8%e5%8c%96%e5%8a%a9%e6%89%8b%ef%bc%8c%e7%bb%93%e6%9e%9c%e5%ae%83%e7%9c%9f%e5%b8%ae/" aria-label="阅读 这周我用 n8n + Ollama 搭了个本地自动化助手，结果它真帮我把每天的新闻和日志处理完了">阅读更多</a>]]></description>
										<content:encoded><![CDATA[<p># 这周我用 n8n + Ollama 搭了个本地自动化助手，结果它真帮我把每天的新闻和日志处理完了</p>
<p>这周一我盯着满屏幕的 RSS 订阅源和一堆没看的新闻，突然冒出一个想法：<strong>能不能让 AI 帮我把这些消化掉，早上起来只看一份整理好的摘要？</strong></p>
<p>于是折腾了几天。中间踩了不少坑，但最后效果确实不错。记录一下整个过程。</p>
<hr />
<h2>周一：装 n8n</h2>
<p>之前已经装过 Ollama，模型用的 qwen2.5:7b，跑起来没问题。这次就差一个工作流引擎。</p>
<pre><code class="language-bash">mkdir -p /opt/n8n &amp;&amp; cd /opt/n8n</p><p>cat &gt; docker-compose.yml &lt;&lt; &#039;EOF&#039;
version: &quot;3.8&quot;
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - &quot;5678:5678&quot;
    volumes:
      - n8n-data:/home/node/.n8n
    environment:
      - GENERIC_TIMEZONE=Asia/Shanghai
      - TZ=Asia/Shanghai
volumes:
  n8n-data:
EOF</p><p>docker compose up -d
</code></pre>
<p>装完打开 <code>http://IP:5678</code>，注册账号，进去了。界面长这样——左边一堆节点，右边画布，跟搭积木差不多。</p>
<p>第一个想法很简单：<strong>每天早上 8 点，抓几条新闻，让 AI 总结一下发给我。</strong></p>
<hr />
<h2>周二：踩坑——n8n 连不上 Ollama</h2>
<p>我加了个 Ollama 节点，填了 <code>http://localhost:11434</code>，一点测试——连不上。</p>
<p>折腾了半天才想起来：<strong>n8n 跑在 Docker 里，localhost 指向的是容器自己，不是宿主机。</strong></p>
<p>解决：</p>
<pre><code class="language-bash"># 查看 Docker 网关地址
docker network inspect bridge --format='{{range .IPAM.Config}}{{.Gateway}}{{end}}'
# 输出：172.17.0.1
</code></pre>
<p>然后 n8n 里 Ollama 的 URL 改成 <code>http://172.17.0.1:11434</code>。</p>
<p>但还连不上。又查了一下——Ollama 默认只监听 127.0.0.1，外面访问不到。</p>
<pre><code class="language-bash"># 改 Ollama 配置，监听所有接口
mkdir -p /etc/systemd/system/ollama.service.d
cat &gt; /etc/systemd/system/ollama.service.d/override.conf &lt;&lt; &#039;EOF&#039;
[Service]
Environment=&quot;OLLAMA_HOST=0.0.0.0&quot;
EOF
systemctl daemon-reload &amp;&amp; systemctl restart ollama
</code></pre>
<p>这下通了。测试一下：</p>
<pre><code class="language-bash">curl http://172.17.0.1:11434/api/generate -d '{"model":"qwen2.5:7b","prompt":"你好","stream":false}'
</code></pre>
<p>返回了正常响应。踩了两个坑，浪费半天。</p>
<hr />
<h2>周三：搭第一个工作流——新闻摘要</h2>
<p>思路：Schedule 定时 → RSS 抓取 → AI 总结 → 通知。</p>
<p>具体节点：</p>
<h3>1. Schedule 触发器</h3>
<ul>
<li>时间：每天早上 8:00</li>
<li>时区：Asia/Shanghai</li>
<h3>2. RSS Feed Read 节点</h3>
<li>填入几个常看的 RSS 地址</li>
<li>每条取标题和摘要</li>
<h3>3. Code 节点（数据预处理）</h3>
<p>RSS 抓回来是列表，需要拼成一段话给 AI：</p>
<pre><code class="language-javascript">// 把多条 RSS 合并成一段文本
const items = $input.all();
const text = items.map(item =&gt; {
  return <code>标题：${item.json.title}n摘要：${item.json.contentSnippet || ''}</code>;
}).join('nn<hr />nn');</p><p>return [{ json: { combined_text: text, count: items.length } }];
</code></pre>
<h3>4. Ollama Chat 节点</h3>
<p>System Prompt：</p>
<pre><code class="language-">你是一个新闻摘要助手。以下是今天的几条新闻，请用简洁的中文总结每条的核心内容，
按类别分组（科技/财经/国际/其他），每条一句话。总字数控制在 500 字以内。
</code></pre>
<p>User Message 填上一步的 <code>{{ $json.combined_text }}</code>。</p>
<h3>5. Telegram Bot 通知</h3>
<p>用 Telegram Bot 发给我（飞书/邮件/钉钉都行）。消息内容填 AI 的回复。</p>
<p>完整流程：</p>
<pre><code class="language-">Schedule (8:00)
  → RSS Feed Read (3个源)
    → Code (合并文本)
      → Ollama Chat (总结)
        → Telegram Bot (发送)
</code></pre>
<p>第一次跑的时候，等了大概 15 秒，手机收到消息了。AI 把 10 条新闻分成了 4 类，每条一句话，看起来清爽多了。</p>
<hr />
<h2>周四：第二个——服务器日志分析</h2>
<p>每天看日志太烦了。干脆让 AI 帮我看。</p>
<p>先写个脚本提取关键信息：</p>
<pre><code class="language-bash">cat &gt; /opt/n8n/log-analyzer.sh &lt;&lt; &#039;SCRIPT&#039;
#!/bin/bash
# 提取昨天的关键日志</p><p>echo "=== Nginx 错误 (昨天) ==="
yesterday=$(date -d "yesterday" +%Y/%m/%d)
grep "$yesterday" /var/log/nginx/error.log | tail -20</p><p>echo ""
echo "=== 系统异常 ==="
grep -i "error|fail|kill|oom" /var/log/syslog | tail -20</p><p>echo ""
echo "=== 磁盘 ==="
df -h / | tail -1</p><p>echo ""
echo "=== 内存峰值 ==="
echo "昨日最高内存使用: $(cat /proc/meminfo | grep MemTotal)"
SCRIPT</p><p>chmod +x /opt/n8n/log-analyzer.sh
</code></pre>
<p>n8n 里加一个工作流：</p>
<li>Schedule：每天 22:00</li>
<li>Execute Command：跑上面的脚本</li>
<li>Ollama Chat：分析日志，找出需要关注的问题</li>
<li>通知：有异常才发，没问题就不打扰</li>
<p>Ollama 的 System Prompt：</p>
<pre><code class="language-">你是运维助手。分析以下日志，如果有异常（服务崩溃、磁盘不足、OOM 等），
列出问题和修复建议。如果一切正常，回复"今日日志正常"，不需要展开。
</code></pre>
<p>跑了两天，第一天确实抓到了一个 Nginx 的 upstream 超时问题，AI 建议检查后端服务的响应时间，顺藤摸瓜找到了一个慢查询。</p>
<hr />
<h2>周五：踩坑——n8n 自己占了太多内存</h2>
<p>周五早上看服务器，发现 n8n 占了 800MB 内存。我一共就 24G，倒是不紧张，但跑在 8G 机器上就够呛了。</p>
<p>查了一下，n8n 默认把所有执行记录都存在内存里。改一下：</p>
<pre><code class="language-yaml"># docker-compose.yml 里加环境变量
environment:
  - EXECUTIONS_MODE=database
  - DB_TYPE=sqlite
  - GENERIC_TIMEZONE=Asia/Shanghai
  - TZ=Asia/Shanghai
</code></pre>
<p>再加上资源限制：</p>
<pre><code class="language-yaml">deploy:
  resources:
    limits:
      memory: 512M
</code></pre>
<p>改完重启，内存降到 300MB 左右。</p>
<p>另外，工作流如果设置了&#8221;保存执行记录&#8221;，数据会越积越多。建议在 n8n 设置里把 <strong>保存天数</strong> 改成 3~7 天，自动清理。</p>
<hr />
<h2>周末：把几个工作流串起来</h2>
<p>有了新闻和日志两个工作流，周末又把之前做的服务器监控工作流也加进来了。现在每天的时间线是这样的：</p>
<p>| 时间 | 工作流 | 作用 |<br />
|</p>
<hr />
<hr />
<p>|</p>
<hr />
<hr />
<p>&#8211;|</p>
<hr />
<hr />
<p>|<br />
| 8:00 | 新闻摘要 | 抓 RSS，AI 总结，发我手机 |<br />
| 12:00 | 邮件检查 | 有新邮件自动分类摘要 |<br />
| 18:00 | 服务器巡检 | CPU/内存/磁盘/服务状态 |<br />
| 22:00 | 日志分析 | 分析当天日志 |</p>
<p>四个工作流，全部跑在本地。</p>
<hr />
<h2>给小内存机器的建议</h2>
<p>如果你跑在 8G 或更小的机器上：</p>
<li><strong>模型用 phi3:3.8b 或 qwen2.5:3b</strong>，内存占用 2~3G</li>
<li><strong>n8n 限制 512MB 内存</strong>，执行记录保存天数设短一点</li>
<li><strong>工作流别设太频繁</strong>，新闻摘要每天 1~2 次就够了</li>
<li><strong>Ollama 和 n8n 分开部署</strong>的话，可以放在不同机器上</li>
</ul>
<hr />
<h2>总结</h2>
<p>折腾了一周，几个感受：</p>
<p>1. <strong>n8n 上手不难</strong>，画布式的界面比写代码直观，但第一次连本地 Ollama 确实会踩坑<br />
2. <strong>本地 AI 够用</strong>——qwen2.5:7b 做摘要、分类、简单分析完全没问题，就是速度慢点（5~15 秒一次）<br />
3. <strong>自动化这东西，一旦跑起来就停不下来了</strong>——我现在已经开始想把 RSS 换成微信公众号了……</p>
<p>下一篇打算写写沙箱和长期记忆的方案。AI 光会总结还不够，得能&#8221;记住&#8221;之前的事，并且安全地执行一些操作。到时候再聊。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://95bok.cn/%e8%bf%99%e5%91%a8%e6%88%91%e7%94%a8-n8n-ollama-%e6%90%ad%e4%ba%86%e4%b8%aa%e6%9c%ac%e5%9c%b0%e8%87%aa%e5%8a%a8%e5%8c%96%e5%8a%a9%e6%89%8b%ef%bc%8c%e7%bb%93%e6%9e%9c%e5%ae%83%e7%9c%9f%e5%b8%ae/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
