by nathaninline
Run your AI models at home in one binary: chat, persistent memory, web access, browser control, MCP tools, encryption at rest and end-to-end encrypted remote access. Linux, macOS, Windows. FR/EN docs.
# Add to your Claude Code skills
git clone https://github.com/nathaninline/ajeanLast scanned: 9/22/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-22T09:03:59.224Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how ajean compares with popular alternatives.
ajean is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by nathaninline. Run your AI models at home in one binary: chat, persistent memory, web access, browser control, MCP tools, encryption at rest and end-to-end encrypted remote access. Linux, macOS, Windows. FR/EN docs. It has 100 GitHub stars.
Yes. ajean passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/nathaninline/ajean" and add it to your Claude Code skills directory (see the Installation section above).
ajean is primarily written in Go. It is open-source under nathaninline on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ajean against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
English · Français

Your AI models run at home, in a single binary: chat, persistent memory, web access, tools, encryption at rest, and remote access encrypted end to end.
AJEAN provides everything around the model: the chat interface, the assistant's tools, service management, and hardware management. The inference engine is llama.cpp, which AJEAN compiles itself for the machine it runs on.
download the binary → ajean llamacpp install → ajean edit → ajean start → you're live
No runtime dependency, no CMake flag to remember, no container. You get a full chat interface and an OpenAI-compatible endpoint for your third-party tools.
An assistant, not just a model. The web interface offers chat with visible reasoning, persistent memory, automatic context compaction as the conversation grows, multiple saved sessions, an editable system prompt, and appearance settings synced across devices.
Real tools. ajean agent on turns on, in one move, all of the model's capabilities on the machine:
| Tool | Role |
|---|---|
| terminal | runs a command (bash on Unix, cmd.exe on Windows) |
| write / edit | writes a file, or edits it by exact replacement |
| see_image | analyzes an image attached to the conversation |
| mem_* | persistent Markdown memory across sessions |
| web_* | search and read pages |
| browser_* | drives a browser (with ajean computer on) |
| mcp__* | the tools of the configured MCP servers |
It sees and it drives. The AI can receive images in chat (attachments, screenshots) and analyze them when the model is multimodal. With ajean computer on, it drives a real browser on the machine (open a page, click, type, scroll) to carry out tasks on the web.
Hardware and engine, handled for you. ajean llamacpp install clones and compiles llama.cpp with the right flags for this machine: CUDA (compute capability detected per GPU, so multi-GPU works), ROCm, Metal, Vulkan, or a CPU fallback. ajean llamacpp update fetches the latest commit, stops the service while it recompiles, then restarts it.
Services, not scripts. ajean install writes the two systemd units, the sudoers rules, and the folders. Then start, stop, status, logs. Windows and macOS have their native equivalents (see below).
Several models, one click. Presets each keep their full configuration: switching from one to another reloads the model without touching a file. The preset editor also covers sampling, the KV cache, flash attention, speculative decoding, and reasoning mode. .gguf files can live on any disk.
Your data stays yours. Optional encryption at rest protects memory and conversations with a key that only lives on your devices. Notifications tell you when a reply is ready, even with the app closed. The scheduler runs recurring tasks on its own.
Reachable from anywhere. ajean link opens an outbound connection to ajean.link, so no port to open, and it works even behind CGNAT. Chat is encrypted end to end: the relay never sees the conversations.
curl -L -o ajean https://github.com/nathaninline/ajean/releases/latest/download/ajean-linux
chmod +x ajean
sudo mv ajean /usr/local/bin/ajean
Published binaries: ajean-linux, ajean-linux-arm, ajean-macos, ajean-macos-arm, ajean-windows.exe, ajean-windows-arm.exe. The -arm suffix means arm64, no suffix means x86-64.
sudo ajean install # two systemd units, sudoers, folders
ajean llamacpp install # compiles llama.cpp for the GPU present
Requires git and cmake, plus the accelerator toolkit (CUDA, ROCm...) for GPU acceleration.
ajean edit # set MODEL=/path/to/the-model.gguf
ajean start # starts the engine (ajean-engine)
ajean test # check the model responds
ajean ui start # starts the interface (ajean-ui) at http://<host>:8090
AJEAN runs as two services: ajean-engine, which runs the model, and ajean-ui, which serves the web interface, the remote-access tunnel, and the OpenAI endpoint. Splitting them lets you restart the interface, which is instant, without reloading tens of gigabytes of model.
Engine (ajean-engine):
start | stop | restart manage the service
status | logs state / live logs
enable | disable start on boot
edit edit the configuration in $EDITOR
switch [N] change preset (presets/)
test | bench [N] check the model responds / measure tok/s
vram | gpu [index...] VRAM / GPU selection (gpu all = all)
set-api-key [key] protect the inference engine (Bearer)
network [on|off|status] make the OpenAI endpoint reachable on the LAN
llamacpp install|update|status
Interface (ajean-ui):
ui [start|stop|restart|status] drive the interface service
web [PORT] serve the interface in the foreground (default :8090)
set-web-key [key] protect the control API
Interaction:
chat [system-prompt] chat in the terminal
export [options] [file] export the conversation (Markdown, --json, --last N...)
agent [on|off|status] turn on ALL tools (terminal, files, memory)
computer [on|off|status] browser control (the AI drives a local Chrome)
memory [off|ondemand|always] memory mode
internet [on|off|engine <go|crawl4ai>|url <url>|key <key>] web access
Remote access (ajean.link):
link <token> registers the token and opens the tunnel
link code pairing code (10 min, single use)
link status | logout
Installation:
install | uninstall
update [--check] update from GitHub releases
where | version
Everything lives under $AJEAN_HOME (/etc/ajean on Linux/macOS, %ProgramData%\ajean on Windows):
backends/ |
llama.cpp, compiled or downloaded |
bin/ |
the installed binary |
models/ |
the .gguf files |
presets/ |
one .env per preset |
memory/ |
the AI's memory pages (.md) |
workspace/ |
what the AI writes in agent mode |
ajean.db |
all state: configuration, preferences, sessions, keys, switches |
Added to these at the root are the few files that cannot go elsewhere: .e2e_key (private key for end-to-end encryption), certs/ (TLS certificates managed by certmagic), and the services' logs and PID files.
The database, a single bbolt file, replaces the dozen state files of old. What you read and edit by hand stays as files: the presets, the memory pages, and, of course, the models.
The engine configuration is edited with ajean edit, which lays it out as key=value in $EDITOR:
| Key | Meaning | Default |
|---|---|---|
BIN |
path to llama-server (set by llamacpp install) |
none |
MODEL |
filename or full path of the .gguf |
none |
HOST / PORT |
listen address / port | 0.0.0.0 / 8080 |
CTX |
context size | 32768 |
NGL |
layers offloaded to the GPU | 999 |
BATCH / UBATCH |
batch / micro-batch | 2048 / 512 |
THREADS / THREADS_BATCH |
CPU threads | 0 (auto) |
KV_TYPE (_K / _V) |
KV cache quantization | none |
CUDA_VISIBLE_DEVICES |
GPUs used (set by ajean gpu) |
all |
REASONING |
reasoning mode: on / off / auto / deepseek |
none |
REASONING_BUDGET |
cap on thinking tokens; -1 = unlimited |
-1 |
REASONING_EFFORT |
thinking effort (low / medium / high...) depending on the model |
none |
COMPACT |
automatic context compaction (off to disable) |
on |
MEM_MODE |
memory (global fallback; adjustable per project): off / ondemand / always (index injected) / search (search first) |
always |
CRAWL4AI_URL / CRAWL4AI_KEY |
web-access server | none |
EXTRA_ARGS |
appended as-is to the engine's command line | none |
The API key (ajean set-api-key) is stored outside the configuration, so it survives preset switches.
Models on another disk. .gguf files do not have to live in $AJEAN_HOME/models: in the interface's preset editor, under Model, Model folders, add the folder you want. Its models appear in the list, grouped by folder. The list is saved in the database, so it is kept across presets.
| Variable | Role | Default |
|---|---|---|
AJEAN_HOME |
data root | /etc/ajean, %ProgramData%\ajean |
AJEAN_MODEL_DIRS |
model folders (separated by :, ; on Windows) |
none |
AJEAN_SERVICE |
name of the engine unit | ajean-engine |
HF_TOKEN |
Hugging Face token for private models | none |
AJEAN_DL_CONNS |
parallel download connections | none |
AJEAN_CHROME |
browser path for browser control | auto-detected |
EDITOR |
editor for ajean edit |
nano / notepad |
Each conversation is a persistent session with a stable identifier. The Sessions button lists all kept conversations, you reopen one with a click (the current one is first saved into its own), and new session starts a blank thread. Sessions can be favorited and are kept in the database, so they are shared across every device connected to the same server.
Beyond sessions, the AI keeps Markdown pages under $AJEAN_HOME/memory/, re-read and updated across conversations. Three modes, independent of agent mode:
ajean memory always # (default) it searches before answering and saves on its own
ajean memory ondemand # tools available, but used only on request
ajean memory off # memory off
Optional, off by default. A single switch in the settings (*enable e