ORANGE BOOK · LOCAL AI

第十三章 本地 AI 智能体与工作流

13.1 一句话讲清"Agent"

Agent = 一个能自己"想清楚步骤、调用工具、看结果、再继续"的 AI

普通的 AI 对话:

你:今天天气怎么样?
AI:根据我的训练数据,我无法实时获取天气信息。

Agent 化的 AI:

你:今天天气怎么样?
AI:[调用"天气工具",输入"今日"]
工具:返回 "上海,多云,22℃"
AI:今天上海多云,22 度,可以穿单衣。

差别就在那一对方括号里——Agent 会自己决定调用什么工具,再基于结果回答

13.2 本地 Agent 是 2026 年最火的方向

为什么火?因为它把"AI"从"会聊天的玩具"变成了"会干活的伙伴"。

本地 Agent 能做的真实事情

  • 自动整理桌面:每周一早上把上周的所有截图按主题分类
  • 自动归档发票:扫描发票 → OCR → 提取信息 → 重命名 → 分类
  • 自动写日报:扫描你今天的 git 提交、Calendar、邮件 → 生成日报草稿
  • 自动批注 PDF:你扔进去一份 PDF,Agent 自动加书签 + 高亮要点
  • 自动监控网页:每天抓取某些网页,发现变化告诉你
  • 自动发周报邮件:每周日晚自动总结、自动发送
  • 自动备份:检测到某个文件夹有变化时,自动用 rsync 备份

所有这些,都可以完全本地完成

13.3 本地 Agent 的三大流派

流派 1:可视化工作流(无代码)

代表工具:

  • n8n:开源的"国际化 Zapier",支持本地部署
  • Dify:国产开源,自托管完整 LLM 应用平台
  • Coze Studio(开源版):字节出品,节点式 Agent 编排
  • FastGPT:国产,专注知识库 + Agent

特点:拖拽节点,连线,配置参数。不写代码就能搭复杂工作流。 适合:办公自动化、运营、不会写代码但有清晰流程的人

流派 2:代码型 Agent 框架

代表工具:

  • LangChain / LangGraph:老牌,生态最大
  • LlamaIndex:偏 RAG + Agent 一体化
  • CrewAI:多 Agent 协作
  • AutoGen:微软出品,多 Agent 对话
  • Smolagents:HuggingFace 出品,极简

特点:用 Python 写,灵活度极高。 适合:开发者

流派 3:通用桌面 Agent

代表工具:

  • Open Interpreter:让 AI 直接执行你电脑上的命令
  • Claude Desktop + MCP:通过 MCP 协议连接各种本地工具
  • Cursor / Cline:代码编辑器内的 Agent
  • Mediar / Roo Code:桌面 Agent

特点:直接操作系统、文件、浏览器、命令行。 适合:技术爱好者,效率工具党

13.4 MCP(Model Context Protocol)—— 2026 年最重要的协议

MCP 是 Anthropic 在 2024 年底推出的开放协议,到 2026 年已经成为本地 Agent 的"USB 接口"。

一句话讲清

MCP 让任何 AI 能用统一的方式调用任何"工具"(文件系统、浏览器、数据库、Slack、Gmail……)。

它解决了什么

以前:

  • 想让 AI 读你的 Notion,要写 Notion 接入代码
  • 想让 AI 读你的 Gmail,要写 Gmail 接入代码
  • 想让 AI 操作浏览器,要写浏览器自动化代码
  • 100 个工具就是 100 套代码

有了 MCP:

  • 每个工具实现一个"MCP Server"(一次写好,所有 AI 通用)
  • 任何支持 MCP 的 AI(Claude Desktop、Cursor、Cline 等)配置一下就能用
  • 生态爆炸式增长:到 2026 年 4 月已有 1000+ 公开 MCP Server

已经有的 MCP Server

类别 代表
文件系统 filesystem MCP
浏览器 playwright MCP, puppeteer MCP
数据库 postgres MCP, sqlite MCP
Notion / Obsidian notion MCP, obsidian MCP
Gmail / Outlook gmail MCP
Slack / 飞书 slack MCP, lark MCP
GitHub github MCP
搜索引擎 brave-search MCP, duckduckgo MCP
终端命令 shell MCP
你想得到的几乎所有工具

本地 AI 怎么用 MCP

Cherry Studio 0.9+ 起原生支持 MCP:

  1. 打开 Cherry Studio → 设置 → MCP 服务
  2. 添加一个 MCP Server(如文件系统)
  3. 配置参数(如允许访问的目录路径)
  4. 在对话中,AI 自动可以调用这些工具

实例:你在 Cherry Studio 里说:"请把我桌面上所有截图按月份分类"——AI 会自动调用文件系统 MCP,列文件、识别日期、创建子文件夹、移动文件,全程不需要你写代码

Claude Desktop 也支持 MCP

虽然 Claude 是云端 AI,但 Claude Desktop 可以通过 MCP 操作你本地的文件、浏览器、终端——这是"云端大脑 + 本地手脚"的混合方案。

13.5 实战 1:自动整理桌面 Agent

目标:每周日晚 22:00,自动把过去一周新增到桌面的截图,按"工作 / 私人 / 设计 / 学习 / 其他"分类移到对应文件夹。

方案 A:n8n 工作流(无代码)

装 n8n

docker run -it --rm -p 5678:5678 docker.n8n.io/n8nio/n8n

打开浏览器 http://localhost:5678

搭建流程

[Cron 节点:每周日 22:00 触发]
        ↓
[Read Files:读取 ~/Desktop 下过去 7 天的所有 .png/.jpg]
        ↓
[Loop:对每个文件]
        ↓
[Ollama 节点:让 Qwen 2.5-VL 看图,分类为"工作/私人/设计/学习/其他"]
        ↓
[Move File:根据分类移到 ~/Desktop/screenshots/[分类]]
        ↓
[完成 → 推送桌面通知"已整理 N 张截图"]

第一次设置 1 小时,之后每周自动跑

方案 B:Open Interpreter(命令行)

pip install open-interpreter
interpreter --local --model qwen2.5-coder:7b

然后输入:

请帮我整理 ~/Desktop 文件夹:
1. 列出所有图片文件
2. 用 Qwen 2.5-VL 看每张图,分类为"工作/私人/设计/学习/其他"
3. 在 ~/Desktop 下创建对应子文件夹
4. 把每张图移动到对应子文件夹
5. 完成后告诉我处理了多少张

Open Interpreter 会自动写出 Python 脚本,自动执行,自动看结果调整——你只需在它问"是否执行"时按 y。

方案 C:Cherry Studio MCP

  1. 给 Cherry Studio 配上 filesystem MCP(只允许访问 Desktop)
  2. 配上 Qwen 2.5-VL 模型
  3. 直接对话:
请帮我整理桌面:
1. 列出所有 PNG/JPG 文件
2. 看每张图分类(工作/私人/设计/学习/其他)
3. 移动到对应子文件夹
4. 结束后告诉我处理结果

Cherry Studio 会调用 MCP 一步步执行。

13.6 实战 2:自动归档发票 Agent

目标:扔一堆发票 PDF / 图片到一个"待处理"文件夹,Agent 自动 OCR、提取信息、重命名、归档。

流程设计

[监控文件夹 "~/Documents/发票_待处理"]
        ↓
[新文件入库时触发]
        ↓
[1. 用本地 OCR 工具(PaddleOCR 或 Qwen 2.5-VL)识别文字]
[2. 用 Qwen 3 8B 提取:日期、金额、发票号、销售方]
[3. 重命名为 "YYYYMMDD-销售方-金额.pdf"]
[4. 移动到 "~/Documents/发票_已归档/[YYYY年]/[MM月]"]
[5. 写入一行到 ~/Documents/发票汇总.csv]
        ↓
[完成]

提取信息的提示词

你是一个发票信息提取专家。下面是发票 OCR 后的文字:

[贴入 OCR 结果]

请提取:
- 发票日期 (YYYY-MM-DD)
- 销售方公司名称
- 金额(含税总额,数字)
- 发票号码

只用 JSON 返回,不要任何解释:
{"date": "...", "vendor": "...", "amount": ..., "invoice_no": "..."}

整套链路工具组合

  • 监控文件夹:fswatch (Mac) / inotify (Linux) / Watcher (Windows)
  • OCR:PaddleOCR (中文最准) 或直接 Qwen 2.5-VL
  • AI 提取:Ollama + Qwen 3 8B
  • 执行:Python 脚本(让 AI 替你写)

这一套搭好后,会计、个体户、自由职业者每月省 5–10 小时

13.7 实战 3:自动写日报 Agent

目标:每天 18:00 自动收集你今天做的事,生成日报草稿。

数据来源

  • 代码:今天的 git commits(git log --since=midnight
  • 会议:今天的日历(Calendar / Outlook)
  • 邮件:今天发出的邮件主题
  • 任务:Things / OmniFocus / Notion 已完成任务
  • 聊天:(如果允许)Slack/飞书发言

Agent 流程

[Cron:每天 18:00 触发]
        ↓
[并行收集]
- git log
- 今天的日历
- 今天的邮件
- 今天的待办完成
        ↓
[整合到一段文本]
        ↓
[Qwen 3 14B + 系统提示词:"写日报"]
        ↓
[生成 daily_report_2026-04-19.md]
        ↓
[推送 Mac 通知 + 打开文件]

写日报的提示词

你是我的日报助手。下面是今天我各种工具的活动记录:

【git commits】
[贴入]

【日历】
[贴入]

【邮件】
[贴入]

【完成的任务】
[贴入]

请帮我写一份日报,结构:

# YYYY-MM-DD 日报

## 今天完成
[3-5 条具体事项,去掉啰嗦细节]

## 关键数据
[今天产生的有意义数字:代码行数、会议数、问题数等]

## 卡点 / 风险
[今天发现的问题或卡住的事]

## 明天计划
[基于今天进展,预测明天 3 件事]

## 一行总结
[今天最值得记住的一件事]

隐私加分项

把这一整套部署在 Mac 上的好处:

  • 代码不离公司电脑
  • 邮件不被读(你只把邮件主题给本地 AI,不给正文)
  • 日报本身存在本地,你决定要不要发

13.8 进阶:构建多 Agent 协作系统

到 2026 年,前沿玩法是"多个 Agent 协作"。

经典三角色:研究员 + 写作员 + 编辑

[研究员 Agent]
- 拿到任务:"写一篇关于 XX 主题的文章"
- 用搜索 MCP 查资料
- 用知识库 MCP 查内部资料
- 整理 outline 给写作员
        ↓
[写作员 Agent]
- 基于 outline 写正文
- 写完给编辑
        ↓
[编辑 Agent]
- 审稿、找问题
- 改不行的话退给写作员重写
- 通过的话输出最终版

用 CrewAI 实现(Python)

from crewai import Agent, Task, Crew
from langchain.llms import Ollama

llm = Ollama(model="qwen3:14b")

researcher = Agent(role="研究员", goal="收集主题相关资料", llm=llm)
writer = Agent(role="写作员", goal="写一篇好文章", llm=llm)
editor = Agent(role="编辑", goal="保证质量", llm=llm)

crew = Crew(agents=[researcher, writer, editor])
result = crew.kickoff(task="写一篇关于本地 AI 的科普文章")

完全本地。

13.9 把 Agent 接到日常通知里

让 Agent 跑完后主动通知你

Mac:用 osascript

osascript -e 'display notification "日报已生成" with title "本地 AI"'

跨平台:ntfy.sh(开源推送)

curl -d "日报已生成" ntfy.sh/your-topic

手机装 ntfy App 订阅 your-topic,AI 跑完会推送到手机。

微信 / 飞书 / 钉钉 webhook

公司常用的 webhook 推送,Agent 干完事直接发到群里。

13.10 本地 Agent 的局限要诚实地说

限制 1:复杂任务不如云端 Agent

让本地 Qwen 3 14B 完成"读 50 个文件 + 多步推理 + 修改 30 个地方",效果不如 Claude / GPT-5。 临界点:任务超过 5 步、超过 32K 上下文,本地常常掉链子。

限制 2:Function Calling 稳定性

本地模型调用工具的稳定性比云端差。 解法:用专门的"工具调用"友好模型——Qwen 3、GLM-4 在国产里 Function Calling 较稳。

限制 3:长任务容易"漂移"

跑半小时的任务,到后期可能忘了开始的目标。 解法:把大任务拆小、显式存"状态"(写到本地文件)、用 LangGraph 这种支持状态机的框架。

13.11 安全:让 Agent 跑起来前必读

Agent 比普通对话危险得多——它能改你的文件、删你的内容、发邮件、上网。

必须做的 5 件事

  1. 沙盒化:用 Docker / 限定文件夹,不要让 Agent 直接操作整个系统
  2. 白名单工具:只开你真的需要的 MCP Server,关掉不必要的
  3. 关键操作要确认:删除 / 发送邮件 / 转账等操作必须人工二次确认
  4. 写日志:每个 Agent 步骤记录到本地日志,方便事后查
  5. 断网测试:第一次跑新 Agent,断网测试,确认没有偷偷上传数据

13.12 入门到能用:3 个月的学习路径

如果你看完这章心潮澎湃,这是建议的学习路径:

第 1 个月:用现成的

  • 装 Cherry Studio + 跑通 MCP 文件系统
  • 让本地 AI 帮你做"文件分类、笔记整理"这种简单 Agent 任务
  • 学会"对一个具体任务,怎么想 prompt"

第 2 个月:搭 n8n / Dify

  • Docker 装 n8n,搭 3 个完整工作流
  • 比如:发票归档、日报生成、知识库定期同步
  • 学会"用节点拼出复杂流程"

第 3 个月:写代码型 Agent

  • 学一点 Python(如果不会),用 LangChain / smolagents
  • 写 1 个完全自定义的 Agent 满足你独特需求
  • 公开到 GitHub,加入开源生态

13.13 本章小练习

练习 1:在 Cherry Studio 装一个 MCP

去 https://github.com/modelcontextprotocol 选一个最简单的 MCP(如 filesystem),按教程接到 Cherry Studio。 让本地 AI 帮你读一下你某个文件夹的内容——亲身感受 AI "操作你电脑"是什么感觉。

练习 2:搭一个最小工作流

用 Open Interpreter 命令:

请把我下载文件夹里所有超过 30 天没动过的文件列出来,问我哪些可以删。

体验"AI 自己写代码 + 自己执行 + 跟你确认"的完整 Agent 闭环。

练习 3:设计你的 1 号家用 Agent

写一份"理想中的家用 Agent"需求:

  • 它叫什么(比如"小桔")
  • 它每天 / 每周做什么
  • 它需要访问哪些工具
  • 它不能做什么(安全边界)

写下来。这是你接下来 3 个月的实操目标。

13.14 一句话记住

Agent 不是魔法——它就是"会主动想步骤、会调用工具、会看结果"的 AI。本地 Agent 把这件事变得安全、私密、属于你自己。

下一章 第十四章 · 把本地AI接入你日常用的软件,我们让本地 AI 出现在 Obsidian、VS Code、Apple 快捷指令、微信里——融入你日常的每一个软件。