解密openclaw底层pi-mono架构系列一:5. 让 AI 住进 Slack —— 自我管理的 Slack Bot 智能体详解

解密openclaw底层pi-mono架构系列一:5. 让 AI 住进 Slack —— 自我管理的 Slack Bot 智能体详解

>>关注,点赞,转发私信发代码<<

>>关注,点赞,转发私信发代码<<

>>关注,点赞,转发私信发代码<<

前五篇我们依次构建了 (统一 LLM API)、(智能体运行时)、(终端 UI)、(终端编程助手)、(浏览器聊天组件)。它们要么在终端里运行,要么在浏览器中运行——但都需要人主动打开才能用 。如果 AI 能住在你团队天天用的 Slack 里,随叫随到、还能自己定时干活呢?这就是本篇主角——。


  1. [pi-mom 是什么](#pi-mom 是什么)
  2. [整体架构:从终端到 Slack](#整体架构:从终端到 Slack)
  3. 系统提示词:每次消息前动态构建
  4. [事件系统:让 Agent 自己定闹钟](#事件系统:让 Agent 自己定闹钟)
  5. [双层记忆:Agent 的”笔记本”](#双层记忆:Agent 的”笔记本”)
  6. [工具系统:Agent 的五把瑞士军刀](#工具系统:Agent 的五把瑞士军刀)
  7. 沙箱模式:安全与自由的平衡
  8. 对话历史:两种日志各司其职
  9. [技能系统:Agent 自己造工具](#技能系统:Agent 自己造工具)
  10. 实战:从零运行示例
  11. 总结与回顾

一句话定义

= + + Slack 集成 + 事件调度 + 沙箱执行

它是一个自我管理的 Slack 机器人:你在 Slack 频道里跟它说话,它就像一个全能员工——能执行命令、写代码、安装工具、创建定时任务,甚至自己给自己做”技能扩展”。

类比理解

场景 类比 对应的包 在终端里和 AI 聊天 跟 AI 打电话 在浏览器里和 AI 聊天 跟 AI 视频会议 在 Slack 里和 AI 协作 AI 常驻办公室,随时响应

关键区别: 和 需要你主动打开才能用,而 常驻在 Slack 中 ,还能通过事件系统自己定时干活——不用你叫它,它自己会按时检查邮箱、总结消息、发送提醒。

核心能力


架构图

核心模块一览

消息处理流程

与前几章的关系


对应

pi-mom 的系统提示词不是写死的 ,而是每次收到消息前从磁盘动态构建的。这意味着记忆更新、技能安装后,下一条消息立即生效。

系统提示词的七大组成部分

为什么要动态构建?

类比:传统方式像背课文——写死了就是那些;pi-mom 像带着笔记本上考场——随时翻阅最新笔记。

运行示例 01

输出展示两个场景:

场景 1:Docker 沙箱模式

场景 2:带记忆内容


对应

这是 pi-mom 最有趣的设计之一:Agent 不仅能被动响应消息,还能通过写 JSON 文件主动触发自身。

三种事件类型

事件文件格式

每种事件就是一个 JSON 文件,放在 目录:

事件生命周期

[SILENT] 响应机制

周期事件是一个巧妙的设计:

类比:就像保安巡逻——有问题就报告,没问题就安静走过,不用每次都说”一切正常”。

运行示例 02

这个示例会模拟完整的事件生命周期(总共运行约 14 秒):


对应

pi-mom 使用文件系统作为记忆存储,分两层:

记忆架构

为什么用文件而不是数据库?

记忆更新流程

运行示例 03(记忆部分)

输出展示记忆的动态加载:


pi-mom 只有 5 个工具,但覆盖了几乎所有操作需求:

工具一览

label 参数:用户体验的小细节

每个工具都有一个必需的 参数,显示为 Slack 中的状态指示器:

类比:就像外卖 App 的状态更新——“骑手已取餐”、”正在配送中”——让用户知道 Agent openclaw docker 教程 在做什么。

bash 工具的安全设计


pi-mom 支持两种执行模式:

双模式对比

Docker 容器管理

路径自动转换

Docker 模式下,mom 自动处理路径映射:


pi-mom 为每个频道维护两份日志,用途截然不同:

context.jsonl vs log.jsonl

为什么要两份?

使用示例

消息同步机制

当 mom 离线期间 Slack 里有新消息怎么办?


pi-mom 最有创意的设计之一是技能系统(Skills)——Agent 可以自己创建可复用的 CLI 工具。

技能结构

SKILL.md 格式

技能创建流程

类比:就像一个员工不仅能完成当前任务,还会把重复的工作流打包成脚本,下次更高效。


前提条件

注意:所有示例都是离线演示,不需要:

  • Slack App Token
  • Slack Bot Token
  • Anthropic API Key
  • Docker

步骤 1:安装依赖

这会安装 (TypeScript 运行时)和项目依赖。

步骤 2:运行示例

每个示例的输出预期

示例 1(06:prompt)

  • 展示 Docker 模式下的完整系统提示词
  • 展示带记忆内容的系统提示词
  • 输出关键设计决策总结

示例 2(06:events)

  • 实时演示三种事件的创建和触发
  • 展示事件文件的自动删除
  • 展示周期事件的取消

示例 3(06:memory)

  • 演示双层记忆的读取
  • 展示记忆更新后的即时生效
  • 列出 5 个工具的详细参数
  • 对比 context.jsonl 和 log.jsonl 的内容

如果要连接真实 Slack

真实部署需要以下环境变量:


pi-mom 的核心设计哲学

设计决策 选择 为什么 系统提示词 每次动态构建 记忆/技能更新即时生效 记忆存储 MEMORY.md 文件 Agent 自己能读写,人也能直接编辑 事件调度 JSON 文件驱动 外部系统、Agent 自身都能创建事件 执行环境 Docker 沙箱 安全隔离,Agent 可以大胆执行命令 对话历史 双日志分离 context.jsonl 喂 LLM,log.jsonl 给人搜 工具设计 5 个 + label bash 做 90% 的事,label 让用户知道进度 技能系统 SKILL.md 约定 Agent 自我进化,越用越强

一句话记住

pi-coding-agent 是终端里的 AI 编程搭档——你主动找它。
pi-web-ui 是浏览器里的 AI 对话组件——用户主动用它。
pi-mom 是 Slack 里的 AI 常驻员工——它自己也会主动干活。

完整系列回顾


Slack 消息格式

pi-mom 使用 Slack 的 mrkdwn 格式(不是 Markdown):

消息更新策略

频道隔离

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/279647.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月14日 下午12:31
下一篇 2026年3月14日 下午12:31


相关推荐

关注全栈程序员社区公众号