如果你关注过 OpenClaw 这个项目,可能会觉得它功能完整但结构相对复杂,而且不是用 Python 实现。
对于很多想快速搭建一个 本地运行的 Discord AI 助手 的开发者来说,可能更希望有一个:
- 架构更简单
- 全 Python 实现
- 不需要自己封装 OpenAI API
- 本地运行即可
这时候,推荐看看这个项目:
openclaw-mini 它是一个 OpenClaw 风格的'极简版本',专注在一个清晰的路径上: Discord + 本地 Codex CLI + Markdown 驱动的行为定义。
openclaw-mini 是什么?
openclaw-mini 是一个最小可用的 OpenClaw 风格 Agent,专注做三件事:
- ✅ 使用 Discord 作为输入输出通道
- ✅ 使用本地 Codex CLI 执行模型推理
- ✅ 使用
SOUL.md+skills/*.md定义行为
没有复杂的多 Agent 管理,没有庞大的中间层抽象。
它的核心目标是:
做一个你能在一个下午完整读懂的 AI Agent 架构。
它的运行机制:非常干净的一条主线
读过代码之后,你会发现整个控制流非常清晰。
1️⃣ 启动入口:main.py
- 加载环境变量
- 启动 Discord 客户端
没有额外框架,没有复杂生命周期管理。
2️⃣ bot.py:处理消息
当收到 Discord 消息时:
- 过滤 bot 自己发的消息
- 处理内置命令:
/help/skills/soul
如果不是命令,则进入模型处理流程。
3️⃣ 构造提示词(Prompt 拼接)
普通消息会被封装为一个完整 instruction,包含:
SOUL.md的内容(Agent 的人格和行为原则)skills/*.md的所有技能卡片内容- 用户原始消息
它的思路是:
用 Markdown 驱动行为,而不是在代码里写大量逻辑。
这是一种非常干净的'提示工程驱动架构'。
4️⃣ llm.py:调用本地 Codex CLI
这里是最有意思的设计。
它 不在 Python 里直接调用 OpenAI API, 而是调用:
codex exec --json --output-last-message
然后读取模型的最终输出。
也就是说:
- Python 只负责 I/O 和流程
- 模型会话由 Codex CLI 管理
- 对话状态由 Codex CLI 线程维护
本地 Codex 会话的设计:非常聪明
每一个 Discord 会话会映射到一个:
✅ 持久化 Codex thread ID


