<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>文档 on HappyRock</title><link>/zh-cn/docs/</link><description>Recent content in 文档 on HappyRock</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 19 Jun 2026 16:19:24 +0800</lastBuildDate><atom:link href="/zh-cn/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Docker Desktop + n8n + Qdrant + Embedding 自动入库链完整教程</title><link>/zh-cn/docs/workfollow/</link><pubDate>Fri, 19 Jun 2026 16:19:24 +0800</pubDate><guid>/zh-cn/docs/workfollow/</guid><description>&lt;hr&gt;
&lt;h1 id="-docker-desktop--n8n--qdrant--embedding-自动入库链完整教程"&gt;🚀 Docker Desktop + n8n + Qdrant + Embedding 自动入库链完整教程&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;一套可以直接跑的「本地AI知识库系统」：
Webhook → Embedding → n8n处理 → Qdrant向量数据库 → 可检索知识库
结合我自己前面踩的坑（Webhook解析、vector格式、HTTP JSON错误、payload结构等），全部做成“避坑版”。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h1 id="-一整体架构"&gt;🧱 一、整体架构&lt;/h1&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;用户请求(Webhook)
 ↓
n8n Workflow
 ↓
Embedding模型（Ollama / OpenAI）
 ↓
Set Node（结构标准化）
 ↓
HTTP Request（写入Qdrant）
 ↓
Qdrant Vector DB
 ↓
后续检索 / RAG
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h1 id="-二docker-desktop-启动-qdrant--n8n"&gt;🐳 二、Docker Desktop 启动 Qdrant + n8n&lt;/h1&gt;
&lt;h2 id="1-docker-composeyml"&gt;1️⃣ docker-compose.yml&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;version&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;3.9&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;services&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;qdrant&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;qdrant/qdrant&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ports&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;6333:6333&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;./qdrant_data:/qdrant/storage&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;n8n&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;image&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;n8nio/n8n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ports&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;5678:5678&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;environment&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;N8N_HOST=localhost&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;N8N_PORT=5678&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;N8N_PROTOCOL=http&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;NODE_ENV=production&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;volumes&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#ae81ff"&gt;./n8n_data:/home/node/.n8n&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动：&lt;/p&gt;</description></item><item><title>从零搭建 AI 新闻自动化系统：Ubuntu 部署 n8n + DeepSeek + Hugo 实战教程</title><link>/zh-cn/docs/n8n/</link><pubDate>Sun, 07 Jun 2026 00:23:18 +0800</pubDate><guid>/zh-cn/docs/n8n/</guid><description>&lt;blockquote&gt;
&lt;p&gt;作者：HappyRock&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;适合人群：开发者、独立开发者、技术管理者、AI爱好者&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;技术栈：Ubuntu + Docker + n8n + DeepSeek + Hugo&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="前言"&gt;前言&lt;/h3&gt;
&lt;p&gt;过去几年，我们习惯了：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;打开RSS
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;浏览新闻
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;筛选热点
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;整理摘要
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;写公众号
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;发布博客
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;整个过程往往需要 1~2 小时。&lt;/p&gt;
&lt;p&gt;而在 AI Agent 时代，这些工作已经可以交给 AI 自动完成。&lt;/p&gt;
&lt;h4 id="本文将完整记录如何从零开始"&gt;本文将完整记录如何从零开始：&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 部署 n8n&lt;/li&gt;
&lt;li&gt;配置 Docker Compose&lt;/li&gt;
&lt;li&gt;对接 DeepSeek API&lt;/li&gt;
&lt;li&gt;自动抓取 AI 新闻&lt;/li&gt;
&lt;li&gt;自动筛选和排序热点&lt;/li&gt;
&lt;li&gt;自动生成公众号内容&lt;/li&gt;
&lt;li&gt;自动输出 Hugo Markdown&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最终形成一个属于自己的 AI 内容生产系统。&lt;/p&gt;
&lt;h3 id="一为什么选择-n8n"&gt;一、为什么选择 n8n？&lt;/h3&gt;
&lt;p&gt;很多人第一次接触自动化时会遇到：&lt;/p&gt;
&lt;p&gt;Python + Crontab
Shell Script
Airflow
Jenkins&lt;/p&gt;
&lt;p&gt;这些方案虽然强大，但门槛较高。&lt;/p&gt;
&lt;p&gt;n8n 的优势在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;低代码&lt;/li&gt;
&lt;li&gt;可视化&lt;/li&gt;
&lt;li&gt;支持AI&lt;/li&gt;
&lt;li&gt;支持Webhook&lt;/li&gt;
&lt;li&gt;支持API&lt;/li&gt;
&lt;li&gt;支持数据库&lt;/li&gt;
&lt;li&gt;支持工作流编排&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本质上：&lt;/p&gt;</description></item></channel></rss>