logo
0
0
WeChat Login
Jaguarliu<18829516908@163.com>
docs: split bilingual README, add MIT license, update icon

JaguarClaw

企业级桌面 AI 助手

一个开源、可自托管的 AI Agent 平台 —— 将任何大语言模型变成强大的桌面助手,支持工具执行、长期记忆、定时自动化和完整的 MCP 协议。

English | 中文

License: MIT Java Spring Boot Vue


为什么选择 JaguarClaw

大多数 AI 助手只是聊天框。JaguarClaw 是一个 Agent —— 它不仅回答问题,还能做事

给它一个任务,它会推理步骤、执行工具、观察结果、反复迭代直到任务完成。它能读写文件、运行命令、搜索网页、记住你上周说的话,甚至在你休息时自动执行定时任务。

它完全运行在你的机器上。数据不会离开你的网络。你可以使用任何大模型 —— DeepSeek、通义千问、OpenAI、Ollama,或任何 OpenAI 兼容的服务商。


功能特性

ReAct Agent 引擎

JaguarClaw 实现了 ReAct(推理 + 行动)循环,支持全流式输出:

用户:"分析今天的错误日志,生成一份汇总报告"

  思考  → 我需要先找到今天的日志文件
  行动  → read_file("/var/log/app/2026-02-27.log")
  观察  → [2546 行日志内容...]
  思考  → 我看到 3 类反复出现的错误,让我分类整理
  行动  → write_file("report.md", "# 错误汇总\n...")
  完成  → "我已生成 report.md,包含 3 类错误的详细分析..."
  • 多步推理,可配置最大步数和超时
  • 基于 WebSocket 的流式 token 输出
  • 危险操作需人工确认(Human-in-the-Loop)
  • 任意步骤可取消

内置工具

工具描述安全性
read_file读取工作区文件内容安全
write_file创建或修改文件安全
shell执行 Shell 命令危险命令需确认
web_search网络搜索,支持多引擎安全
memory_search对长期记忆进行语义检索安全
memory_save保存重要信息供日后召回安全
sessions_spawn派生并行子代理处理复杂任务安全
data_query自然语言转 SQL 查询数据库安全
use_skill按名称激活指定技能安全

Shell 安全检测是智能的 —— lsgit statusnpm install 直接运行,而 rm -rfgit push --forceDROP TABLE 需要用户确认。

技能系统

技能是以 Markdown 文件定义的模块化专家行为。当任务匹配某个技能时,Agent 会加载专业指令和工具限制。

---
name: code-review
description: 审查代码的 Bug、安全问题和代码风格
allowed-tools:
  - read_file
  - web_search
metadata:
  jaguarclaw:
    requires:
      bins: [git]
---

# 代码审查指引
审查代码时,重点关注...
  • 兼容 Claude Skills 格式
  • 热更新 —— 添加技能文件即刻生效
  • 每个技能可独立限制工具调用范围
  • 根据任务上下文自动选择技能

长期记忆

JaguarClaw 跨会话记忆。以 Markdown 文件为真相源,自动构建可搜索索引。

  • Markdown 存储 —— 人类可读、可版本管理
  • 全文搜索 —— PostgreSQL tsvector
  • 语义搜索 —— pgvector 向量嵌入(可选)
  • 时间衰减排序 —— 近期记忆优先
  • 预压缩刷写 —— 在 token 上限前保存重要上下文

子代理并行执行

面对复杂任务,主代理可以派生子代理并行工作:

用户:"对比一下我们 3 个 API 接口的性能"

  主代理 → 派生 3 个子代理,每个负责一个接口
    子代理 1 → 压测 /api/users
    子代理 2 → 压测 /api/orders
    子代理 3 → 压测 /api/products
  主代理 → 汇总结果,生成对比表格
  • 可配置并发上限(主 lane + 子代理 lane)
  • 自动结果汇总
  • 每个子代理独立会话隔离

MCP 协议支持

连接任意 Model Context Protocol 服务器以扩展能力:

  • 传输方式:STDIO、SSE、Streamable HTTP
  • 官方服务器:filesystem、fetch、git、postgres 等
  • 第三方:GitHub、Slack、AWS、Kubernetes
  • 自定义:用 Python 或 Node.js 构建你自己的 MCP 服务器
  • UI 管理:在设置面板中添加、配置和监控服务器

定时自动化

用 cron 表达式设置周期性任务:

  • Cron 调度,任务持久化存储
  • 推送渠道:邮件(SMTP)、Webhook(HTTP POST)
  • 补偿策略:错过的任务可配置补跑
  • 隔离会话:每次定时运行有独立的会话上下文

桌面应用

JaguarClaw 以 Electron 桌面应用发布,内置 JRE —— 无需安装 Java。

  • 支持 Windows(.exe 安装包)和 macOS(.dmg)
  • 通过 GitHub Releases 自动更新
  • 内嵌后端 —— 安装即用
  • SQLite 模式,零配置本地运行

快速开始

方式一:桌面应用(推荐)

GitHub Releases 下载最新版本,安装后在设置中配置 LLM API Key,即可开始使用。

方式二:Docker Compose

git clone https://github.com/jaguarliuu/jaguarclaw.git
cd jaguarclaw

# 配置大模型
cp .env.example .env
# 编辑 .env —— 设置 LLM_ENDPOINT、LLM_API_KEY、LLM_MODEL

docker-compose up -d

打开 http://localhost 访问界面。

方式三:开发环境

环境要求:Java 24+、Node.js 20+、Maven 3.9+

git clone https://github.com/jaguarliuu/jaguarclaw.git
cd jaguarclaw

# 后端(默认使用内嵌 SQLite)
cat > src/main/resources/application-local.yml << 'EOF'
llm:
  endpoint: https://api.deepseek.com
  api-key: 你的-api-key
  model: deepseek-chat
EOF

mvn clean package -DskipTests
java -jar target/jaguarclaw-*.jar --spring.profiles.active=local

# 前端(另一个终端)
cd jaguarclaw-ui
npm install
npm run dev

打开 http://localhost:5173 开始对话。

支持的大模型

服务商Endpoint推荐模型
DeepSeekhttps://api.deepseek.comdeepseek-chat、deepseek-reasoner
通义千问https://dashscope.aliyuncs.com/compatible-modeqwen-plus、qwen-max
OpenAIhttps://api.openai.comgpt-4o、gpt-4o-mini
Ollama(本地)http://localhost:11434llama3、qwen2.5、deepseek-r1
智谱 GLMhttps://open.bigmodel.cn/api/paas/v4glm-4-plus

任何兼容 OpenAI 接口的服务商均可直接使用。


架构

┌──────────────────────────────────────────────────────┐
│  客户端层                                             │
│  桌面应用 (Electron) / Web 界面 (Vue 3)               │
└──────────────────────────┬───────────────────────────┘
                           │ WebSocket
┌──────────────────────────▼───────────────────────────┐
│  控制平面                                             │
│  RPC 路由 · 事件总线 · 连接管理                        │
└──────────────────────────┬───────────────────────────┘
                           │
┌──────────────────────────▼───────────────────────────┐
│  执行平面                                             │
│  ReAct 循环 · HITL 门控 · 上下文构建                   │
│  Lane 队列(会话串行 + 并发控制)                       │
│  子代理编排                                           │
└──────────┬───────────────────────────┬───────────────┘
           │                           │
┌──────────▼──────────┐  ┌─────────────▼───────────────┐
│  扩展平面            │  │  自动化平面                   │
│  工具 · 技能         │  │  Cron 调度器                  │
│  记忆 · MCP          │  │  邮件 / Webhook 推送          │
└──────────┬──────────┘  └─────────────┬───────────────┘
           │                           │
┌──────────▼───────────────────────────▼───────────────┐
│  状态平面                                             │
│  PostgreSQL / SQLite · pgvector · 工作区文件系统        │
└──────────────────────────────────────────────────────┘

技术栈

层级技术
后端Java 24、Spring Boot 3.4、WebFlux、Spring Data JPA
前端Vue 3、Vite、TypeScript
数据库PostgreSQL 16 + pgvector / SQLite(内嵌)
桌面Electron、electron-builder
迁移Flyway
AIOpenAI 兼容 API(任何服务商)
协议Model Context Protocol(MCP)

项目结构

jaguarclaw/
├── src/main/java/com/jaguarliu/ai/
│   ├── gateway/         # WebSocket、RPC 路由、事件总线
│   ├── runtime/         # ReAct 循环、HITL、上下文构建
│   ├── agents/          # Agent 配置、Lane 管理
│   ├── llm/             # LLM 客户端(OpenAI 兼容)
│   ├── tools/           # 内置工具、工具注册中心
│   ├── skills/          # 技能解析、注册、热更新
│   ├── memory/          # 长期记忆、搜索、刷写
│   ├── subagent/        # 子代理编排
│   ├── mcp/             # MCP 客户端(STDIO/SSE/HTTP)
│   ├── schedule/        # Cron 调度
│   ├── channel/         # 邮件 & Webhook 推送
│   ├── soul/            # 系统提示词配置
│   └── datasource/      # 数据源 & 自然语言查询
├── jaguarclaw-ui/       # Vue 3 前端
├── electron/            # 桌面应用
├── .jaguarclaw/skills/  # 内置技能
├── docs/                # 设计文档
└── data/                # 运行时数据(已 gitignore)

路线图

v1.0 — 当前版本

  • ReAct Agent 循环,流式输出
  • 10+ 内置工具,安全策略完备
  • 技能系统(兼容 Claude Skills,热更新)
  • 长期记忆与语义搜索
  • 子代理并行执行
  • 定时任务与邮件/Webhook 推送
  • MCP 协议支持(STDIO/SSE/HTTP)
  • 桌面应用(Windows & macOS)
  • 多 Agent 配置与沙箱隔离
  • 自然语言数据查询(NL-to-SQL)
  • 双语界面(中文 & 英文)

v1.1 — 计划中

  • 沙箱代码执行环境
  • 外部验证循环(Ralph Loop)
  • 插件市场
  • 上传文档 RAG 检索
  • 语音输入/输出

贡献

欢迎贡献!无论是 Bug 修复、新工具、新技能还是文档改进 —— 所有 PR 都受欢迎。

  1. Fork 本仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature
  3. 提交改动
  4. 推送到分支(git push origin feature/amazing-feature
  5. 创建 Pull Request

许可证

本项目基于 MIT 许可证发布 —— 详见 LICENSE 文件。


Built with Java, Vue, and a lot of coffee.