用 Python 打造一个极简OpenClaw Agent —— openclaw-mini

用 Python 打造一个极简OpenClaw Agent —— openclaw-mini
在这里插入图片描述](https://i-blog.ZEEKLOGimg.cn/direct/cc1b1aeaef9747e69580b154824fb91d.png)

如果你关注过 OpenClaw 这个项目,可能会觉得它功能完整但结构相对复杂,而且不是用 Python 实现。

对于很多想快速搭建一个 本地运行的 Discord AI 助手 的开发者来说,可能更希望有一个:

  • 架构更简单
  • 全 Python 实现
  • 不需要自己封装 OpenAI API
  • 本地运行即可

这时候,我非常推荐看看这个项目:

👉 openclaw-mini
Repo: https://github.com/robotlearner001/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

线程信息保存在:

.codex-discord-sessions.json 

并支持:

  • TTL 过期控制(CODEX_SESSION_TTL_SEC
  • 超时自动重建
  • 会话持续上下文

这样做的好处是:

✅ 不需要自己实现对话历史拼接
✅ 不需要维护 token 限制逻辑
✅ 不需要管理复杂的 API session

全部交给 Codex CLI。


为什么这个设计很实用?

对于个人开发者或小团队,这种架构有几个明显优势:

✅ 1. 可读性极高

整个代码量很小,逻辑线性。

你可以在一个晚上完全理解:

  • 消息如何进来
  • Prompt 如何构造
  • 模型如何调用
  • 会话如何持久化

✅ 2. 本地迭代极快

你只需要:

  1. 安装 openAI Codex CLI
  2. 配置 Discord Token
  3. 修改 Markdown 文件

改完 SOUL.md 或某个 skill 文件,重启即可生效。


✅ 3. 运维非常轻量

项目已经包含:

  • systemd 模板
  • launchd 模板
  • 环境变量控制参数:
    • CODEX_SANDBOX
    • approval 策略
    • 超时时间
    • 模型选择

这意味着:

它是“最小可生产部署”的结构。

它适合什么人?

如果你想做:

  • 🎯 一个 Discord 专用 AI 助手
  • 🧠 一个本地可控的 Agent
  • 🛠 一个可以完全理解其内部机制的系统
  • 🐍 一个纯 Python 技术栈项目

那么 openclaw-mini 是非常合适的起点。


和完整 OpenClaw 的区别

对比项OpenClawopenclaw-mini
架构复杂度
语言非 Python✅ Python
多 Agent 支持简化
上手难度偏高✅ 非常友好
适合人群进阶构建者✅ 快速原型开发者

如果你觉得 OpenClaw 太重、太抽象、太工程化,
openclaw-mini 是一个非常好的“轻量入口”。


总结

openclaw-mini 做了一件很聪明的事情:

把复杂性留给 Codex CLI,把结构简化到最小。

Discord 负责输入输出,
Markdown 负责行为定义,
Codex 负责推理,
Python 负责连接。

这是一种非常“Unix 哲学”的设计方式:
每个组件做好一件事。

如果你正在考虑做一个本地 AI Discord Agent,
我建议从它开始,而不是一上来就搭一个复杂框架。


Repo

🔗 https://github.com/robotlearner001/openclaw-mini


如果你已经在用 OpenClaw 或在做自己的 Agent 框架,也欢迎交流思路。
极简架构,有时候反而是最强的起点。

英文参考

OpenClawAgent

Read more

基于Java的不固定长度字符集在指定宽度和自适应模型下图片绘制生成实战

基于Java的不固定长度字符集在指定宽度和自适应模型下图片绘制生成实战

目录 前言 一、需求介绍 1、指定宽度生成 2、指定列自适应生成 二、Java生成实现 1、公共方法 2、指定宽度生成 3、指定列自适应生成 三、总结 前言         在当今数字化与信息化飞速发展的时代,图像的生成与处理技术正日益成为众多领域关注的焦点。从创意设计到数据可视化,从游戏开发到人工智能辅助创作,高效、精准且具有高度适应性的图像生成方案有着广泛而迫切的需求。Java 作为一种强大、稳定且广泛应用的编程语言,在图像绘制领域也发挥着不可忽视的作用。         在GIS领域,比如图例的生成就会面对以上的问题。由于在进行字符标注时无法预测文本的长度,因此我们需要能有一种自适应文本长度的生成方法,但是同时,也有可能我们需要指定一种宽度从而对字符文本进行绘制的需要。如下两图所示: 自适应宽度生成示意图 指定宽度生成示意图          本实战旨在深入探讨基于 Java 的不固定长度字符集在指定宽度和自适应模型下图片绘制生成的方法与技巧。不固定长度字符集为图片绘制带来了独特的挑战与机遇。一方面,其灵活多变的字符组合方式能够创造出丰富多

By Ne0inhk
IDEA安装教程配置java环境(超详细)_idea配置java,零基础入门到精通,收藏这篇就够了

IDEA安装教程配置java环境(超详细)_idea配置java,零基础入门到精通,收藏这篇就够了

引言 IntelliJ IDEA 是一款功能强大的集成开发环境(IDE),广泛用于 Java 开发,但也支持多种编程语言,如 Kotlin、Groovy 和 Scala。本文将为你提供一步一步的指南,帮助你在 Windows 系统上顺利安装 IntelliJ IDEA。 一、安装 JDK 1.1下载JDK 1.访问 JDK 下载页面 打开浏览器,访问Oracle JDK 下载页面. Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#java22 2.选择版本 选择适合你的 JDK 版本(例如 JDK17或JDK21

By Ne0inhk
从 “Hello AI” 到企业级应用:Spring AI 如何重塑 Java 生态的 AI 开发

从 “Hello AI” 到企业级应用:Spring AI 如何重塑 Java 生态的 AI 开发

🔥个人主页:@草莓熊Lotso 🎬作者简介:C++研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 前言:当大模型浪潮席卷软件开发领域时,Java 开发者常常面临一个困境:一边是 PyTorch、LangChain 等 Python 生态的 AI 工具链蓬勃发展,一边是企业现有系统中大量的 Spring 技术栈难以快速接入 AI 能力。而 Spring AI 的出现,恰好打破了这层壁垒 —— 它将 Spring 生态的 “约定优于配置”、依赖注入、声明式编程等核心思想,与大模型交互、向量数据库集成、AI 工作流编排等能力深度融合,让 Java 开发者能以熟悉的方式拥抱 AI。今天,

By Ne0inhk
飞算JavaAI炫技赛:电商系统商品管理模块设计与实现

飞算JavaAI炫技赛:电商系统商品管理模块设计与实现

飞算JavaAI炫技赛:电商系统商品管理模块设计与实现 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是我放飞的蝴蝶。 🔬 每一次代码审查都是我的显微镜观察,每一次重构都是我的化学实验。 🎵 在编程的交响乐中,我既是指挥家也是演奏者。让我们一起,在技术的音乐厅里,奏响属于程序员的华美乐章。 目录 飞算JavaAI炫技赛:电商系统商品管理模块设计与实现 需求分析与规划 一、功能需求 二、核心模块 三、技术选型 飞算JavaAI开发实录 准备AI开发提示词 需求理解阶段 接口设计阶段 表结构设计阶段 逻辑处理阶段 源码生成阶段 优化与调试心得 pom依赖 Mysql配置 redis配置 Elasticsearch配置 YAML配置文件 成果展示与总结 API接口列表 核心代码 开发总结 引用箴言 参考链接 关键词标签 需求分析与规划 一、功能需求 功能需求总览流程图 商品基本信息管理:

By Ne0inhk