OpenClaw 实战3:如何搭建日常办公 Agent 工作台

-
插图由AI生成
上一篇讲工具选择,最后落到一个问题:
如果任务不是一次性的,个人 Agent 工作台应该怎么设计?
这一篇接着往下走,先不讨论复杂企业系统,也不讨论代码仓库,而是从更日常的办公任务开始。
比如做一套汇报材料。
这篇不是要一次性把所有办公场景都设计完。
更现实的做法,是先选一个高频、边界清楚、有明确产出物的任务,把它做成一个可复用 skill。等这个 skill 跑通以后,再用同样方法慢慢覆盖会议纪要、调研报告、项目周报、方案文档、复盘材料等其他场景。
所以这篇文章的重点,不是“汇报材料怎么做得最漂亮”,而是借这个小案例说明:
这篇文章真正想回答的是:
日常办公工作台可以怎样从一个具体任务开始,逐步沉淀出自己的 skills。
传统做法通常是从 PowerPoint、WPS 或 Keynote 开始。
先找模板,再列大纲,再一页页写标题、正文、图表和备注。图片要自己找,版式要自己调,讲稿要另外写,最后再导出 PDF 或发给同事。
这种方式的优点是直观、可控,适合精修和正式交付。
但它的问题也很明显:结构、素材、讲稿、版本和交付物都靠人手工维护。做完一套材料以后,真正可复用的往往只是一个 PPT 文件,而不是一套可重复执行的制作流程。
后来很多人开始用普通 AI 辅助。
做法变成:打开聊天窗口,让 AI 帮忙写大纲、写几页文案、生成几张图,然后自己再复制到 PowerPoint 里手工拼。
这比纯手工快很多,但很快会遇到新问题:
01 大纲确认过一次,下次还要重新讲。
02 图片命名、讲稿命名、音频命名每次都靠临时约定。
03 哪些步骤需要人工确认,哪些步骤可以自动跑,没有固定规则。
04 生成 HTML、PDF、音频、素材目录时,每次都重新写命令。
05 做完一次以后,经验散落在聊天记录里,没有沉淀成可复用能力。
所以这里其实有三层:
传统 Office 做法:人在编辑器里完成页面。
普通 AI 辅助做法:AI 生成部分内容,人再手工搬运和拼装。
Agent 工作台做法:把材料生产流程、文件规范、工具脚本和模板一起组织起来。
这就是“用 AI 辅助做一份材料”和“搭一个 Agent 工作台”的差别。
用 AI 辅助,是把一个任务问完。
搭 Agent 工作台,是把一类任务变成可重复执行的工作流。
01日常办公工作台不只是文件夹
很多人理解工作台,会先想到一个资料目录。
资料目录当然重要,但还不够。
真正有用的日常办公 Agent 工作台,至少要包含四层东西:
workspace:资料、草稿、产出和归档放在哪里。
workflow:一类任务按什么步骤推进。
tools:哪些脚本、命令、模板可以被调用。
skills:哪些经验已经固化成可复用方法。
如果只有 workspace,没有 workflow,Agent 只能在文件堆里找材料。
如果只有 workflow,没有 tools,很多步骤还是要人手工处理。
如果只有 tools,没有 skills,Agent 不知道什么时候该用哪个脚本,也不知道哪些环节必须确认。
所以工作台的核心,不是“给 Agent 一个文件夹”,而是让它知道:
01 这类工作应该怎么开始。
02 资料应该放在哪里。
03 中间产物怎么命名。
04 哪些动作可以自动执行。
05 哪些节点必须等人确认。
06 交付物怎么验证。
07 做完以后经验怎么沉淀。
02一个具体案例:汇报材料制作 skill
这次可以用一个真实小案例来说明, office-skills 仓库里的一个通用 skill:
office-skills/skills/image-html-ppt-report
它解决的是一类很常见的办公任务:
用图片页和 HTML 播放器制作一套 PPT 风格汇报材料。
这类材料不一定要生成 .pptx。
更适合的方式是:
每页先生成一张稳定图片。
再用 index.html 做播放入口。
需要时补讲稿音频。
需要分发时导出 PDF。
最后形成一套目录:
report-folder/
├── index.html
├── report-assets.md
├── 01-title.md
├── 01-title.png
├── 01-title-script.md
├── 01-title-script-edge.mp3
├── 02-background.md
├── 02-background.png
├── 02-background-script.md
├── 02-background-script-edge.mp3
└── report.pdf
这里面有几个关键约定。
NN-topic.md 是每页图片的提示词或页面设计说明。
NN-topic.png 是最终图片页。
NN-topic-script.md 是纯讲稿正文,里面所有文字都会被送去 TTS 生成音频,所以不能写建议时长、语气说明、标题或制作备注。
NN-topic-script-edge.mp3 是讲稿音频。
index.html 是离线播放器。
report.pdf 是按页码把图片合并出来的 PDF。
这套约定看起来很简单,但它把一次临时制作,变成了一条可重复执行的流水线。
03和传统 Office / PowerPoint 的差别
这里需要先说清楚:这种工作台不是要否定 PowerPoint。
PowerPoint、Keynote、WPS 演示这类工具,仍然是非常成熟的人工编辑工具。它们适合人直接做版式、调动画、改细节、现场演示,也适合组织里已有固定模板和审稿流程的场景。
差别在于工作重心不同。
传统 PowerPoint:解决页面编辑。
普通 AI 辅助:解决局部内容生成。
Agent 工作台:解决材料生产流程。
Agent 工作台不是先打开一个空白 PPT 页面,而是先把整套材料当成一个项目来组织:目标、受众、大纲、提示词、图片、讲稿、音频、HTML、PDF 和素材目录。
所以更合理的关系是:Agent 工作台负责结构、生成、命名、批处理、导出、归档和复用;PowerPoint / WPS 负责人工精修、组织模板、复杂动画、正式审稿和现场编辑。它不是替代 Office,而是把 Office 之前和之后那些散乱的流程工程化。
04从任务到工作流
做汇报材料这件事,不能一上来就让 Agent 自动生成全部内容。
更合理的流程是:
主题/目标
-> 页码大纲
-> 每页提示词
-> 每页图片
-> 可选讲稿/音频
-> index.html
-> 可选 PDF
-> 素材目录
这里最重要的不是脚本,而是确认点。
工作台必须知道哪些地方不能直接自动跑。
所以这个 skill 里把流程分成了三种模式。
第一种是全流程确认模式。
适合正式汇报、对质量要求高的材料。
主题/目标 -> 人确认
页码大纲 -> 人确认
每页提示词 -> 人确认
每页图片 -> 人 review
讲稿 -> 人确认
音频 -> 人试听
HTML / PDF / 目录 -> 自动生成
第二种是确认大纲后自动生成模式。
适合内部初版、快速草稿。
主题/目标 -> 人确认
页码大纲 -> 人确认
提示词 / 图片 / 讲稿 / 音频 / HTML / PDF / 目录 -> 自动生成
第三种是已有素材装配模式。
适合用户已经有图片页和音频,只想生成播放器和 PDF。
扫描目录
-> 提示阻塞性缺口
-> 生成 index.html
-> 导出 report.pdf
-> 可选生成素材目录
这三个模式,其实就是日常办公工作台的关键设计。
不是所有任务都要人一步步确认,也不是所有任务都适合全自动。
工作台要做的是给不同风险等级的任务设置不同自动化程度。
05skills 不是提示词,而是工作方法
很多人会把 skill 理解成一段高级 prompt。
这不够。
真正有用的 skill,至少应该包含几类东西:
1. 任务边界:这个 skill 处理什么,不处理什么。
2. 工作模式:什么时候人确认,什么时候自动化。
3. 文件规范:输入、过程产物、最终产物怎么命名。
4. 工具脚本:可重复执行的操作不要每次重写。
5. 模板资产:固定格式的产出不要每次临时生成。
6. 验证规则:完成前检查哪些东西。
7. 使用说明:同事拿到以后怎么部署和适配。
image-html-ppt-report 这个 skill 里,就不是只有一个 SKILL.md。它还包含中文说明、跨工具部署说明、HTML 模板、workflow 文档和一组工具脚本。具体目录和用法可以直接看 office-skills 仓库。
这时 skill 就不只是“提示词”,而是一个小型办公能力包。
06工具脚本负责稳定动作
日常办公工作台里,Agent 适合做判断、组织、改写和调度。
但稳定动作最好交给脚本。
比如这个案例里,图片生成、音频生成、HTML 生成、PDF 导出和素材扫描都被整理成了脚本。
这些动作不应该每次都让 Agent 临时写代码。
临时写代码有两个问题:
第一,容易不一致。
今天叫 01-title.txt,明天叫 01-title.md;今天音频叫 -讲稿-edge.mp3,明天又叫 -script-edge.mp3。
第二,容易藏硬编码。
比如固定某个目录、固定某个模型、固定某个 base URL、固定只适配某次分享会。
整理成通用脚本以后,目录、模型、base URL、输出文件、是否跳过已有文件等参数,都应该通过命令行或环境变量传入,而不是写死在脚本里。
这就是工具脚本和临时脚本的区别。
临时脚本服务一次任务。
工具脚本服务一类任务。
07模板负责固定界面
这个案例里还有一个很重要的经验:index.html 模板要固化。
一开始的 HTML 是围绕 15 页分享会写的。
缩略图面板也容易写成固定 15 张。
但通用 skill 不能这样。
通用模板应该适配任意页数,不能把某次分享会的 15 页、固定缩略图数量或特定标题写死。模板里要把“这次分享会”的定制内容拿掉,留下通用播放器能力。
assets/index-template.html
这个模板可以被 build_index.py 填入报告标题、图片列表和音频列表,最后生成 index.html。
这也是工作台设计里很重要的一点:
能模板化的产出,不要每次重新设计。
08目录结构让 Agent 知道边界
一个日常办公工作台,可以从一个很朴素的目录结构开始。
比如:
office-workbench/
├── inbox/
├── projects/
├── outputs/
├── archive/
└── .codex/
└── skills/
└── image-html-ppt-report/
inbox/ 放临时输入资料。
projects/ 放正在处理的具体任务。
outputs/ 放最终交付物。
archive/ 放已完成材料。
.codex/skills/ 放这个工作台可复用的 skills。
如果是 OpenClaw,也可以是类似结构:
office-workbench/
├── agent-guides/
│ └── image-html-ppt-report/
├── reports/
├── materials/
├── outputs/
└── memory/
结构不必一开始就很复杂。
关键是要让 Agent 明确:
01 哪些目录是输入资料。
02 哪些目录允许写产物。
03 哪些目录是 skill 和模板,不能随便改。
04 哪些文件是最终交付物。
05 哪些内容应该归档。
否则 Agent 很容易把工作过程、临时文件和最终文件混在一起。
09memory 和 skill 要分工
搭工作台时,还要区分 memory 和 skill。
memory 适合存偏好和事实,比如默认语言、常用比例、是否总要保留素材目录。skill 适合存流程和工具,比如任务分几种模式、文件怎么命名、哪个脚本生成 HTML、完成前怎么检查。
这两者不能混。如果把流程都写进 memory,下一次 Agent 可能只记得一些模糊偏好,不知道具体怎么执行。如果把个人偏好都写进 skill,skill 又会变得过度绑定某个人,分享给同事时不好复用。
所以更合理的关系是:
skill:通用工作方法。
memory:个人或团队偏好。
workspace:当前任务材料。
session:这一次任务状态。
这也是 OpenClaw 这类工具里 tools、skills、session、memory 要分开的原因。
10权限边界要提前定
办公工作台看起来没有代码仓库那么危险,但也不能没有边界。
至少要提前定义几类边界:可以读哪些资料目录,可以在哪些目录生成文件,哪些脚本可以直接跑,哪些节点必须问人,是否允许覆盖已有文件。
在这个汇报材料案例里,可以这样设计:
可以自动执行:
01 扫描素材目录。
02 根据已有图片生成 index.html。
03 根据已有图片导出 PDF。
04 生成素材统计目录。
建议确认后执行:
01 批量生成图片。
02 批量生成音频。
03 覆盖已有 index.html 或 report.pdf。
必须人工确认:
01 页码大纲。
02 正式汇报材料的图片质量。
03 需要对外发布的讲稿和音频。
04 删除或覆盖原始资料。
边界判断
工作台不是越自动越好。它应该把自动化放在低风险、可验证的环节,把人放在目标、结构、质量和发布判断上。
11先覆盖一个场景,再慢慢扩展
如果要从零搭一个日常办公 Agent 工作台,不必一上来就覆盖所有办公场景。
更合理的方式,是先做一个最小版本:
1. 选一个高频任务。
2. 给这个任务建一个固定目录。
3. 固化文件命名规则。
4. 把重复动作写成脚本。
5. 把流程和确认点写成 skill。
6. 把最终产出模板化。
7. 用一两个真实任务跑通。
8. 再把经验整理成 README,分享给同事。
这个案例里的高频任务是“汇报材料制作”。
它不是日常办公工作台的全部,只是第一个可落地的样板。
等这个样板稳定以后,再逐步积累其他 skills,比如会议纪要、调研报告、项目周报、方案文档和复盘材料。每一类任务都可以按同样方式沉淀成一个 skill。
这些 skills 不需要一次性做完。
更好的节奏是:遇到一个高频任务,先用 AI 临时完成;第二次遇到时,整理文件结构和确认点;第三次遇到时,把重复动作写成脚本;再往后,就可以沉淀成 skill。
这些 skill 最好不要只留在某个临时项目目录里。
更适合的做法,是单独建一个仓库来管理。
比如我现在把这次的经验移到了一个公开的 office-skills 仓库里:
office-skills/
├── README.md
└── skills/
└── image-html-ppt-report/
├── SKILL.md
├── SKILL-CN.md
├── README.md
├── agents/
├── assets/
├── references/
└── scripts/
这个仓库不是某一次分享会的附件,而是一个长期积累办公 skills 的地方。根目录的 README.md 说明整个仓库的定位,skills/ 下面每个子目录是一类办公任务,image-html-ppt-report/ 是第一个样板。
这样做有几个好处:
01 skills 不再和某个具体项目绑死。
02 同事可以直接 clone 或复制某个 skill。
03 Codex、Claude Code、OpenClaw 都可以按自己的方式接入。
04 每个 skill 都可以单独迭代、测试和打包。
05 办公经验可以像代码一样版本化。
当这些 skills 慢慢多起来,个人工作台就不再只是一个聊天窗口,而是一个围绕自己真实工作场景逐步扩展的能力系统。
12小结
日常办公 Agent 工作台的关键,不是让 Agent 什么都能做。
而是把高频工作拆成可控流程:
workspace 管资料。
workflow 管步骤。
tools 管稳定动作。
skills 管可复用经验。
memory 管个人偏好。
session 管本次任务状态。
image-html-ppt-report 这个案例说明,一个小任务也可以被工程化:
从主题到大纲,从提示词到图片,从讲稿到音频,从 HTML 到 PDF,从一次经验到可分享 skill。
日常办公工作台的价值,不是把 AI 叫来临时帮忙,也不是一次性做完所有办公自动化,而是把自己反复遇到的一类类工作,逐步变成可复用、可验证、可交接的流程。
如果你对“软件开发工作台”更感兴趣,可以回顾前面那组Agent-First 软件外包项目工作模式,那里讲的是围绕软件项目组织上下文、任务状态、工具脚本和交付流程。
个人办公工作台这个方向,这里先讲到这个粒度。后面 OpenClaw 实战会转向另一个延展方向:低权限服务型 Agent。
夜雨聆风