ElowbeAgent is a desktop coding agent with a terminal-style UI. It helps you build and edit software projects using local or remote LLMs, with built-in tools for reading and writing files, running shell commands, Maven project management, web browsing, and Git review.
The agent defaults to Java + Maven for new projects and can auto-select Cursor-style skills from your project or install directory.
- Interactive console UI — chat with the agent, review tool output, and manage projects in one window
- Multi-provider LLM support — Ollama, LM Studio (
lmstudio:prefix), and Claude (claude:prefix) - Agent tools —
read,write,edit,bash,run,maven,web, and optionalsubtaskdelegation - Project workspace — create, open, and switch between projects under a configurable projects folder
- Git workflow — auto-init repos, interactive diff review, and commit from
/review - Skills — load
skill.md/SKILL.mdsupplements from projects and.cursor/skills/ - Image input — drag and drop photos into the window to attach them to the next message
- Persistent settings — model, LLM URLs, web backend, and preferences saved to
~/.elowbe-agent/settings.json
| Requirement | Notes |
|---|---|
| Java 21+ | Required to build and run |
| Maven | Used by the agent and for Java project builds |
| Git | Used for project repos and /review |
| LLM backend | At least one of Ollama, LM Studio, or Claude API access |
| Eclipse workspace deps | JinConsole |
| json-java | lib/json-java.jar on the classpath |
| agent-browser (recommended) | Vercel agent-browser CLI for the web tool (default backend) |
| Chrome + ChromeDriver (optional) | Fallback when Selenium web backend is enabled |
| zsh or bash | Shell commands run through a managed zsh/bash wrapper on macOS/Linux |
git clone <repository-url> ElowbeAgent
cd ElowbeAgentElowbeAgent is an Eclipse/Maven project that depends on two sibling projects:
- Import JinConsole into the same Eclipse workspace as ElowbeAgent
- Ensure
lib/json-java.jarexists (place the JAR in thelib/folder if it is not already present) - Open the project in Eclipse — the
.classpathwires JinConsole, and Maven dependencies
From the project root:
mvn compileMaven resolves Selenium from pom.xml. JinConsole must still be available on the Eclipse classpath (or equivalent) to run the main class.
From Eclipse: Run com.elowbe.main.ElowbeAgent as a Java application.
From the command line (after compiling with all dependencies on the classpath):
java com.elowbe.main.ElowbeAgentOn startup, ElowbeAgent opens a 960×720 window with a scrollable output area and command input.
Configure these before sending your first agent message.
-
Start the server (default:
http://localhost:11434) -
Pull a model, for example:
ollama pull qwen2.5-coder:32b
-
In ElowbeAgent:
/llm -ollama http://localhost:11434 /modelSelect an Ollama model from the picker (no prefix needed for Ollama models).
-
Load a model and start the Local Server (OpenAI-compatible API, default port 1234)
-
In ElowbeAgent:
/llm -lmstudio http://localhost:1234/v1 /modelChoose a model prefixed with
lmstudio:, for examplelmstudio:qwen3.6-27b-mtp.
Select a model prefixed with claude: from /model when your environment is configured for Claude API access through JinConsole’s LLM layer.
The web tool uses Vercel agent-browser by default:
npm install -g agent-browser
agent-browser install # if required by your platformVerify and configure in the agent:
/web -show
/web -command "agent-browser --json"
If you prefer Selenium instead:
/web -selenium
Install Google Chrome and ensure ChromeDriver is available on your PATH.
/llm -show
/web -show
/model
Settings are persisted automatically to ~/.elowbe-agent/settings.json.
-
Start ElowbeAgent and point it at your LLM backend (see above).
-
Create a project:
/new my-appProjects are created under
~/Documents/elowbe-projectsby default. -
Open an existing project:
/open -
Send a task in plain text, for example:
Create a Spring Boot REST API with a /health endpoint -
Review and commit changes:
/review -
Run the project (requires
run.shorrun.batin the project directory):/run
- Plain text — sent to the agent as a coding task
- While the agent is busy — plain text becomes an interjection (stops the current command and adds guidance)
- Drag and drop — attach
.jpg,.jpeg,.png,.gif,.webp, or.bmpimages to the next message - Cancel —
Ctrl+Shift+C(useCmd+Shift+Con macOS) cancels the running agent or/runprocess
These run locally without invoking the LLM:
| Command | Description |
|---|---|
cd [path] |
Change working directory (~ for home) |
ls [path] |
List directory contents |
mkdir [-p] dir |
Create a directory |
The current directory is shown in the status bar at the bottom of the window.
All configuration and workflow commands start with /.
| Command | Description |
|---|---|
/help -commands |
List all commands |
/clear |
Clear chat history and token counters |
/model |
Open the model picker (Ollama, LM Studio, Claude) |
/llm |
Configure Ollama and LM Studio base URLs |
/thinking |
Enable or disable reasoning/thinking output |
/subtasks |
Enable or disable worker subtask delegation |
/web |
Configure web tool backend (agent-browser or Selenium) |
/context |
Set LLM context window size (0 = server default) |
/output |
Set max tokens per LLM response (0 = server default) |
/history |
Show persisted chat history size |
/system |
View, edit, or reload the system prompt |
/skill |
Manage project and discovered skills |
/review |
Review agent file changes and commit |
/run |
Execute run.sh or run.bat in the current project |
/new |
Create a new project |
/open |
Switch to a project in the projects folder |
/llm -ollama http://localhost:11434
/llm -lmstudio http://localhost:1234/v1
/llm -show
/thinking -off
/subtasks -on
/web -agent-browser on
/context -set 32768
/output -set 64000
/system -reload
/system -show
/skill -list
/skill -select
/skill -set my-skill,other-skill
/skill -clear
/new my-project
/new -dir ~/dev -name my-project
/open
/review
/run
ElowbeAgent manages coding work inside project directories rather than the projects root itself.
| Setting | Default |
|---|---|
| Projects folder | ~/Documents/elowbe-projects |
| Settings file | ~/.elowbe-agent/settings.json |
- Use
/new project-nameto create a project (Git repo initialized automatically) - Use
/opento switch between projects - Use
/new -dir /path/to/parent -name project-nameto create a project elsewhere and remember that parent as the projects folder - Agent tasks,
/review, and/runrequire an open project — not the projects root directory
Each project can include:
run.sh/run.bat— executed by/runskill.mdorSKILL.md— primary skill supplement for that project.cursor/skills/orskills/— additional discoverable skills
Skills are markdown files with optional YAML frontmatter (name, description) and a body of agent instructions — similar to Cursor Agent Skills.
Discovery locations:
- Project:
skill.md,SKILL.md,.cursor/skills/*/SKILL.md,skills/*/SKILL.md - ElowbeAgent install:
skills/,src/skills/,.cursor/skills/
Selection:
- Automatic — the LLM picks relevant skills for each task (default)
- Manual —
/skill -selector/skill -set id1,id2(skips auto-selection)
/skill -list
/skill -show
/skill -reload
/skill -clear
The agent uses a structured tool loop (see src/system.txt). Available tools:
| Tool | Purpose |
|---|---|
read |
Read files with line numbers |
write |
Create or overwrite files (not for pom.xml) |
edit |
Replace a line range in a file |
bash |
Run shell commands (not for Maven or web tasks) |
run |
Run run.sh / run.bat in the project |
maven |
Init, configure, and build Maven projects |
web |
Browse, search, and test HTTP APIs in a browser context |
subtask |
Delegate a single atomic action to a worker (when subtasks enabled) |
done |
Signal task completion |
Defaults for new work:
- Java + Maven unless you explicitly request another stack
- Spring Boot for web apps, Swing for desktop GUIs
- Maven tool (not raw
mvnor hand-editedpom.xml) for all POM changes
Prompt files live under src/:
| File | Used when |
|---|---|
system.txt |
Base system prompt (always) |
system-direct.txt |
Direct mode (subtasks off, default) |
system-subtasks.txt |
Subtask delegation mode (subtasks on) |
Reload after editing:
/system -reload
/subtasks -show
Settings are stored in ~/.elowbe-agent/settings.json:
{
"projectsDirectory": "/Users/you/Documents/elowbe-projects",
"agentModel": "lmstudio:qwen3.6-27b-mtp",
"ollamaUrl": "http://localhost:11434",
"lmstudioUrl": "http://localhost:1234/v1",
"thinkingEnabled": true,
"subtasksEnabled": false,
"agentBrowserWebEnabled": true,
"agentBrowserCommand": "agent-browser --json",
"agentContextLength": 0,
"agentMaxOutputTokens": 32000,
"manualSkillIds": []
}| Field | Description |
|---|---|
projectsDirectory |
Root folder for /new and /open |
agentModel |
Active model (lmstudio:..., claude:..., or plain Ollama name) |
ollamaUrl |
Ollama API base URL |
lmstudioUrl |
LM Studio OpenAI-compatible API base URL |
thinkingEnabled |
Show model reasoning tokens in the UI |
subtasksEnabled |
Enable worker subtask delegation |
agentBrowserWebEnabled |
Use agent-browser CLI instead of Selenium |
agentBrowserCommand |
Base command for agent-browser |
agentContextLength |
Context window override (0 = server default) |
agentMaxOutputTokens |
Max generated tokens per response |
manualSkillIds |
Fixed skill selection (empty = auto) |
Most values can also be changed at runtime with slash commands; changes are saved automatically.
When you work inside a project (not the projects root):
- ElowbeAgent auto-initializes a Git repository if one does not exist
- After a task completes, run
/review - Accept or reject each change in the diff viewer
- Enter a commit subject and optional description
- Accepted changes are staged and committed
ElowbeAgent/
├── src/
│ ├── com/elowbe/
│ │ ├── agent/ # Agent loop and tool orchestration
│ │ ├── commands/ # Slash command parsing
│ │ ├── git/ # Git init, diff, commit
│ │ ├── main/ # UI, settings, skills, project management
│ │ └── tools/ # read, write, bash, maven, web, etc.
│ ├── system.txt # Base agent system prompt
│ ├── system-direct.txt # Direct-work mode supplement
│ └── system-subtasks.txt # Subtask mode supplement
├── res/ # Fonts and assets
├── lib/ # json-java.jar (classpath)
└── pom.xml
| Issue | What to try |
|---|---|
No models in /model |
Confirm Ollama or LM Studio is running; check /llm -show URLs |
| Web tool fails | Run /web -show; test agent-browser --json in a terminal, or switch to /web -selenium |
| Maven commands fail | Ensure mvn is on your PATH and Java 21 is active |
| Skills not found | Run /skill -list; check skill paths under .cursor/skills/ or skills/ |
| Cannot review or run in projects folder | Use /open or /new to enter a project directory first |
| Settings not applied | Inspect ~/.elowbe-agent/settings.json; restart ElowbeAgent after manual edits |
See the repository license file for details.
