Java 21 Spring Boot 3.5 Spring AI Alibaba · Apache-2.0 全部开源 · 一个 JAR 交付、数据零出网做 Agent 的人大概都有个体感:原子能力早就堆得差不多了——联网搜索、抓网页、文生图、HTML 渲染成图、结构化记忆、定时任务、技能运行时,一样不缺。真正难的从来不是再加一个工具,而是把这些散装能力编排成一条能干完整活的流水线。MateClaw 1.8.0 干的就是这件事。这个版本把数字员工从一箱工具推向能把活干完的人:一句话简报,就能产出一篇躺进公众号草稿箱的图文,或一组可直接发布的小红书竖版卡片——用你自己的口吻、过了可度量的去 AI 化、扫过合规、还记进了台账。先声明一件重要的事:MateClaw 是 Apache-2.0 全部开源的——后端、前端、桌面端、网页组件、内置技能,一个都不留在闭源里,没有功能墙。下面这篇按技术视角把 1.8.0 拆开讲。一、内容工作室:把原子能力编排成一条流水线内容工作室是 1.8.0 的招牌场景,也是 MateClaw第一个完全用自身原子能力端到端搭起来的场景——没有为它写死任何内容专用的黑盒逻辑,它就是把已有工具按顺序编排起来。预置的「内容工作室」员工出厂就绑好了对应技能与工具,system prompt 固化了七段工作流:七段里有几处值得单独点名的技术细节:② 搜集:公众号文章 URL 走专用的wechat_article_extract工具,把mp.weixin.qq.com页面清洗成结构化的{标题, 作者, 时间, 正文, 图片},让员工做角度差异化而不是洗稿。③ 成文:遵循你的人设与文风记忆——第二篇起就不必再交代口吻,记忆里存着。⑦ 交付:在外向、不可逆的那一步停下来等你确认,任何东西离开机器前都先过审。首批两个平台一等公民:平台技能产出微信公众号gzh_article内联样式 HTML 文章(公众号编辑器不吃style,一切样式内联)、按头图尺寸的封面、小节配图、合规自查——可粘贴交付,或经gzh_publish直接推进草稿箱。小红书xhs_note以图为主的成品包:标题四件套 碎句正文配话题标签,以及至少 3 张竖版 3:4 卡片,由 HTML 模板渲染并在线预览;xhs_package硬校验「≥3 图」。因为排版本质就是 HTML,模板可以由 AI 对话创建与打磨:先渲染出预览 PNG、看着图改、满意再定稿,可复用的自定义模板沉淀进你自己的可编辑技能(内置技能保持不可变)。下图是内容工作室在控制台里由一条简报产出一篇公众号文章——左边对话推进,右侧「运行总览」里能看到实时生成的封面等文件:二、去 AI 化:一条可度量的闭环,而不是玄学整个场景的差异化灵魂,是去 AI 化被做成了可度量、可回归的东西,而不是往 prompt 里塞一句写得像人一点。核心是一个启发式脚本ai_trace_score——纯 Python、无 LLM、确定性可回归,给文本打 0–100 分,并返回具体信号与位置:六个信号覆盖了机器味最典型的几种来源:句长方差过低(整齐划一)、模板连接词密度、套话短语、列表/破折号滥用、段落机械等长、以及具体性缺失(数字/专名/第一人称太少)。员工据此针对信号定向改写——口语化、上第一人称、补具体细节、句长打散、删套话、按平台调口吻(公众号沉稳、小红书活泼)——再复评,循环到达标或触及max_rounds 3。到上限就取当前最好版本并如实告知分数,而不是无限烧 token。需要说清楚:这是启发式质量增强,不保证绕过任何 AI 检测器——技能与产出都会明确标注这一点。老老实实,比吹能过检测靠谱。三、发布链:为连发三个月而逐行加固发一次草稿很容易;连续三个月每天发,坑才会一个个冒出来。1.8.0 对发布链逐行审计:逐条说下工程细节:正文图不再裂。微信不抓正文里的外链图,所以一篇满是/api/v1/files/generated/…的草稿发出去正文图全裂。现在发布链解析 HTML,把每张正文图上传进微信作为图文内图片并改写src;上传失败的图保留原src并回报,而不阻断整篇。密钥加密落库。weixinoa.app_secret等敏感设置以AES-GCM 加密存储,密钥取自环境变量MATECLAW_SETTING_KEY(未配置回退到机器派生密钥),密文带enc:v1:前缀,旧明文读时透明兼容、下次写入自动升级。一个微信服务、一个 token。微信同 appId 只有一个有效 token 且取 token 有限额。现在服务实例按 appId 缓存、token持久化,重复调用与多实例部署不再互踩;密钥变更即失效缓存。瞬时失败重试,已知错误说人话。对可重试的微信错误码指数退避重试,并把已知错误码翻译成可操作的中文提示——比如 IP 白名单错误直接提示把服务器公网 IP 加进公众号后台白名单。草稿永远有封面。封面解析不到时渲染一张内置占位封面,保证草稿仍能落地,并在返回里如实提示用了占位封面。发布保持草稿箱优先:群发/发表是外向、不可逆且受频次限制的动作,由 MateClaw 出草稿、你在后台点发表;可选的publish动作走 approval 审批流。四、内容日历:把合规与台账焊进交付工具本身凡是这条也让模型顺手记一下的设计,薄弱点就在模型会忘。1.8.0 把合规与台账焊进交付工具,不再依赖模型记得调:交付 扫 记。gzh_package与xhs_package交付时跑服务端合规扫描(极限词 / 诱导词 / 承诺收益词),交付成功后自动落台账。高危命中在返回里显式标出,高危发布默认拦截。选题指纹防重复。每条台账带一个归一化的选题指纹;content_item check_recent回看近 N 天的packaged/published记录(忽略draft/failed),让每日定时任务不再选到你已经做过的题。个人违禁词并入。合规扫描把你结构化记忆里的banned_words作为额外类目,叠加在内置词库之上。只读的内容日历页。新页列出每条台账——平台、标题、状态、选题、预览链接、时间——顶部带状态计数卡。ID 全程按字符串处理(雪花精度约定)。五、浏览器 Agent:按引用去看,不再对着像素猜用截图坐标驱动真实浏览器很脆:页面一重排,点击就落空。1.8.0 给浏览器 Agent 一种结构化的看与做的方式:无障碍树 ref 快照。Agent 把页面读成一棵紧凑的无障碍树,每个可交互元素拿到一个稳定的ref句柄。按 ref 交互。点击、输入、选择都针对ref指向的元素,而不是像素——一次操作能挺过重排,比坐标寻找可靠得多。真实浏览器的隐私护栏。用用户真实浏览器会话有实打实的风险,所以被隐私护栏围起来,并保留一个受控的 CDP(Chrome DevTools Protocol)逃生舱应对安全路径够不着的场景——显式启用,而非默认。六、运行时加固 更快更轻一批 Agent 运行时的加固,让长的、工具密集的运行不脱轨:注意力锚定与环境感知——每个工具带上溯源(来自哪个 MCP 服务或技能),skill 约束被固定在模型注意力里不随长跑漂走,员工还会收到关于自身环境的事件通知。工具调用循环护栏——同一工具用同样参数在紧循环里反复调会被识别并打断,而不是静默烧掉迭代预算。改动后校验提醒——在一次会改变状态的操作(写文件、改代码)之后,Agent 被提醒去校验而不是盲目宣布成功。性能与工程侧:快加载:按需引入 Element Plus 并对未用组件 tree-shake,加上懒加载的 3D 模型查看器与修掉的 preload 泄漏,把初始加载包体砍掉约 78%,首字更快。聊天上下文占用面板:按来源拆分谁在占用上下文窗口(记忆 / Wiki / 身份 / 工具 / 历史),让你看清窗口为什么满了。Wiki 跨知识库 wikilink:[[wikilink]]现在能跨知识库解析,原始素材支持批量操作。MCP 进度通知:长跑 MCP 工具流式回报进度,不再一黑到底。新增供应商:火山方舟 Agent Plan 加入供应商序列;技能 Python 脚本可配置pip 源(适配离线/内网)。底座升级:公开 Docker 栈切到PostgreSQL 16,后端升级到Spring Boot 3.5.16。七、升级与自部署配置完全兼容。员工 / 技能 / Wiki / 渠道 / 定时任务 / 工作流 / 触发器 / 目标全部原样保留。Flyway 新增一张表mate_content_item,三方言(H2 / MySQL / KingbaseES-PostgreSQL)各一份,已有库自动 baseline。从 v1.7.0 升上来,几点要注意:内容工作室按需启用——升级后出现预置员工及其技能(gzh_article、xhs_note、deai_humanize),不主动跟它说话就什么都不跑。要发公众号,在设置里配app_id/app_secret(现在加密落库)。请把MATECLAW_SETTING_KEY设成一个稳定密钥并做好备份:它用来解密已有密文,丢了就得重填密钥。别忘了把服务器公网 IP 加进公众号白名单。小红书无官方发布 API——产出可直接发布的卡片素材包(默认),浏览器辅助上传作为可选、需审批的增强,不绕过任何风控或人机验证。自己跑起来只要一个 JAR,或者一条 Docker 命令:# 源码构建cdmateclaw-serverexportDASHSCOPE_API_KEYyour-key mvn spring-boot:run# 端口 18088,H2 文件库# 或 Docker(PostgreSQL 16 SearXNG 后端)cp.env.example .env# 填 DASHSCOPE_API_KEY 等dockercompose up-d# 宿主机 18080前端pnpm build会打进后端 JAR 的static/,所以生产就是一个java -jar,数据全程零出网。结语:从它有工具到它把事办了一箱工具,等着被拿起来;一个能干活的人,把活干完。1.8.0 是 MateClaw 第一次用自身原子能力端到端干完一整件活——从选题到草稿箱,外向那一步为你的确认而停,每次交付都被扫描、被记录。也是浏览器 Agent 不再对着像素猜、开始对着真实存在的东西下手的版本。来源 github或者gitee搜索 MateClaw