Jimi:打造Java程序员专属的开源ClaudeCode
npx skills add https://github.com/Leavesfly/Jimi --skill api-designCLI を使用してこのスキルをインストールし、ワークスペースで SKILL.md ワークフローの使用を開始します。
纯Java实现的AI驱动智能代理系统,为Java开发者提供类ClaudeCode体验的开源CLI工具
内置6个专业Agent覆盖开发全流程:
| Agent | 职责 |
|---|---|
| Default | 通用开发助手 |
| Architect | 架构设计 |
| Code | 编码实现 |
| Quality | 代码质量与审查 |
| Doc | 文档编写 |
| DevOps | 部署运维 |
内置6个开发技能包,领域知识模块化管理:
| 技能包 | 功能 |
|---|---|
| api-design | API设计规范 |
| code-quality-suite | 代码质量套件 |
| database-design | 数据库设计 |
| git-commit-guide | Git提交规范 |
| java-best-practices | Java最佳实践 |
| unit-testing | 单元测试 |
关键词自动激活,按需加载到上下文。
事件驱动的工作流自动化:
name: "auto-format-java"
trigger:
type: "POST_TOOL_CALL"
tools: ["WriteFile"]
file_patterns: ["*.java"]
execution:
type: "script"
script: "google-java-format -i ${MODIFIED_FILES}"
支持工具调用、Agent切换、错误处理等多种触发时机。详细文档
基于AST的代码理解与导航:
YAML配置即可扩展命令:
name: "quick-build"
aliases: ["qb"]
execution:
type: "script"
script: "mvn clean install"
支持Script、Agent、Composite三种执行类型。详细文档
基于ReCAP论文的上下文优化:
本地向量索引,自动检索相关代码注入上下文。详细文档
支持OpenAI、Moonshot、Qwen、DeepSeek、Claude、Ollama等主流LLM。
支持Model Context Protocol,集成外部工具服务(Git、GitHub、Database等)。
git clone https://github.com/leavesfly/Jimi.git
cd Jimi
./scripts/quick-install.sh
# 1. 检查环境
./scripts/check-env.sh
# 2. 构建项目
./scripts/build.sh
# 3. 初始化配置
./scripts/init-config.sh
# 4. 启动Jimi
./scripts/start.sh
# 指定Agent启动
./scripts/start.sh --agent architect
# YOLO模式(自动批准所有操作)
./scripts/start.sh --yolo
| 命令 | 说明 |
|---|---|
/help |
帮助信息 |
/status |
系统状态 |
/tools |
工具列表 |
/agents |
Agent列表 |
/graph build |
构建代码图 |
/hooks list |
Hooks列表 |
/async list |
异步任务 |
/reset |
清除上下文 |
/config |
查看配置 |
/version |
版本信息 |
graph TB
subgraph 用户交互层
CLI[CLI命令行]
end
subgraph 核心引擎层
Engine[JimiEngine]
Executor[AgentExecutor]
Memory[ReCAP记忆]
Approval[审批机制]
end
subgraph Agent系统
AgentRegistry[Agent注册表]
MultiAgents[专业Agent]
AsyncMgr[异步子代理]
end
subgraph 知识增强层
Skills[Skills系统]
Graph[代码图谱]
RAG[向量检索]
Wiki[知识Wiki]
end
subgraph 自动化层
Hooks[Hooks系统]
Commands[自定义命令]
end
subgraph 工具系统
ToolRegistry[工具注册表]
FileTools[文件工具]
MCPTools[MCP工具]
GraphTools[图谱工具]
end
subgraph LLM层
LLMFactory[LLM工厂]
Providers[多提供商]
end
CLI --> Engine
Engine --> Executor
Engine --> Memory
Engine --> Approval
Executor --> AgentRegistry
Executor --> ToolRegistry
Executor --> LLMFactory
AgentRegistry --> MultiAgents
AgentRegistry --> AsyncMgr
Executor --> Skills
Executor --> Graph
Executor --> RAG
Engine --> Hooks
CLI --> Commands
ToolRegistry --> FileTools
ToolRegistry --> MCPTools
ToolRegistry --> GraphTools
LLMFactory --> Providers
| 类别 | 技术 |
|---|---|
| 核心框架 | Spring Boot 3.2.5, WebFlux |
| 命令行 | Picocli 4.7.6, JLine 3.25.1 |
| 数据处理 | Jackson 2.16.2, SnakeYAML 2.2 |
| 代码分析 | JavaParser 3.25.5 |
| 协议集成 | MCP SDK 0.12.1 |
| 缓存 | Caffeine 3.1.8 |
# 切换Agent
/switch architect
# 查看Agent列表
/agents
# 使用指定Agent启动
./scripts/start.sh --agent code
自定义Agent:在~/.jimi/agents/目录下创建agent.yaml和system_prompt.md文件。
在~/.jimi/hooks/目录下创建YAML配置文件:
name: "auto-test"
trigger:
type: "POST_TOOL_CALL"
tools: ["WriteFile"]
file_patterns: ["*Test.java"]
execution:
type: "script"
script: "mvn test -Dtest=${MODIFIED_FILE%.*}"
# 构建图谱
/graph build
# 查看统计
/graph stats
# 自然语言查询
"找到GraphManager类的定义位置"
在~/.jimi/commands/创建YAML配置:
name: "quick-build"
aliases: ["qb"]
execution:
type: "script"
script: "mvn clean install"
# 查看异步任务
/async list
# 查看状态
/async status <task_id>
# 取消任务
/async cancel <task_id>
@Component
public class MyTool extends AbstractTool<MyTool.Params> {
@Data
public static class Params {
@JsonProperty("input")
private String input;
}
public MyTool() {
super("my_tool", "我的工具", Params.class);
}
@Override
public Mono<ToolResult> execute(Params params) {
return Mono.just(ToolResult.ok("结果"));
}
}
在~/.jimi/agents/my-agent/创建配置文件:
agent.yaml
name: My Agent
model: gpt-4
tools:
- read_file
- write_file
- my_tool
system_prompt.md
你是一个专业的开发助手...
在~/.jimi/commands/创建YAML配置,支持三种执行类型:
| 文档 | 说明 |
|---|---|
| 用户使用指南 | 完整用户手册 |
| HOOKS | Hooks系统指南 |
| 代码图谱 | 代码图谱指南 |
| 自定义命令 | 命令扩展指南 |
| RAG配置 | 检索增强配置 |
| 异步子代理 | 异步任务设计 |
| 技术架构 | 系统架构详解 |
更多文档查看 docs/ 目录。
欢迎贡献!
# Fork并克隆
git clone https://github.com/your-username/Jimi.git
# 创建分支
git checkout -b feature/my-feature
# 开发和测试
mvn clean test
# 提交更改
git commit -m "feat: add my feature"
# 推送并创建Pull Request
git push origin feature/my-feature
本项目采用 Apache License 2.0 许可证。