写点什么

JobRunr 发布开源 Java AI 智能体 ClawRunr

作者:Diogo Carleto
  • 2026-05-07
    北京
  • 本文字数:1659 字

    阅读完需:约 5 分钟

JobRunr 发布了一款名为 ClawRunr 的开源 Java AI 智能体,可在用户自有硬件上运行,专门用于执行定时、周期性及一次性后台任务。该项目前身为 JavaClaw,是 OpenClaw 的 Java 版本,它将对话式交互与持久化任务执行相结合,用户可以创建提醒、自动化周期性工作、通过模型上下文协议(MCP)连接工具,并通过网页聊天、Telegram 和 Discord 等渠道与智能体交互。该项目旨在解决 AI 智能体设计中的一个常见问题:将重试、持久化、调度和监控作为长期运行智能体工作的头等要务。

ClawRunr 基于 Java 25Spring BootSpring AISpring Modulith 和 JobRunr 构建。状态持久化采用了嵌入式 H2 数据库。运行时支持 OpenAIAnthropicOllama 作为大语言模型(LLM)提供商。

从架构层面看,该项目分为三个 Spring Modulith 模块:base 模块负责核心智能体、任务、工具、渠道和配置;app 模块负责 Spring Boot 程序入口点、引导式用户界面和内置网页聊天;plugin 模块则提供可选功能,如 Brave Search、Discord、Telegram 和 Playwright。智能体核心封装了 Spring AI 的 ChatClient,并通过 @Tool 注解来注册工具,而 Channel 接口——由 app 模块中的内置网页聊天以及 Telegram 和 Discord 插件实现——将消息源与智能体解耦。系统提示词在运行时由两个工作区文件组合而成:AGENT.md 定义了指令,INFO.md 提供了环境上下文。

JobRunr 负责处理 ClawRunr 的异步任务执行。用户创建的任务以 Markdown 文件形式存储在 workspace/tasks/ 目录下,按日期组织并标记生命周期状态:待办 → 进行中 → 已完成 | 等待人工输入。周期性任务持久化在 workspace/tasks/recurring/ 目录下,通过 JobRunr 的 cron 调度能力执行任务,支持自动重试,并可通过控制台仪表板进行监控。InfoQ 此前曾报道 JobRunr 8.0,该版本新增了碳感知作业处理、Kotlin 序列化支持和仪表盘通知功能。

运行时自带任务管理、Shell 命令执行、文件访问和网页抓取工具。它还支持通过流式 HTTP 和标准输入输出传输与 MCP 集成,并在配置后集成 Brave Search。可选的 Playwright 集成增加了浏览器自动化功能,包括页面导航、元素点击、运行 JavaScript 和截图。ClawRunr 提供可选的动态工具发现模式,基于 Spring AI 的工具搜索工具(Tool Search Tool)模式,使用 Lucene 关键词搜索在请求时动态呈现相关工具,无需在每次提示词中嵌入全部工具定义。

ClawRunr 的技能系统是基于文件的。用户通过在 workspace/skills/ 下创建目录并在其中放置 SKILL.md 文件来添加自定义能力:

workspace/└── skills/    └── my-skill/        └── SKILL.md
复制代码

运行时会自动扫描 skills 目录,智能体可以直接使用这些指令,无需修改代码或重新部署。

初始设置通过引导式入门流程完成,引导用户依次完成大模型供应商选择(OpenAI、Anthropic 或 Ollama)、凭证与模型配置、智能体提示词定制、可选的 MCP 服务器设置,以及 Telegram、Discord 的交互渠道配置。所有配置会持久化到 application.yaml 中,各类渠道均以声明式方式接入:

agent:  channels:    telegram:      token: <your-bot-token>      username: <your-telegram-username>    discord:      token: <your-discord-bot-token>      allowed-user: <your-discord-user-id>
复制代码

更改可立即生效。如果选择的是 Ollama,ClawRunr 可在本地模型上实现端到端运行,数据流不会流出用户硬件。

ClawRunr 最初是一个概念验证项目,旨在演示如何将 JobRunr 应用于 AI 智能体。随后,JobRunr 团队重写了实现,并基于 LGPL-3.0 许可向 Java 开源社区发布了该项目。

JobRunr 团队列出的已知问题包括:Playwright 在首次安装浏览器后需要重启,周期性任务的输出目前在 Telegram 端体验优于网页聊天界面。项目路线图规划新增更多交互渠道,例如 Slack、WhatsApp,同时还将优化内存管理、任务规划能力,并完善内置工具与技能。

有关 ClawRunr 的更多详情,请访问项目网站GitHub 仓库

原文链接

https://www.infoq.com/news/2026/05/clawrunr/