Skip to content
BenScriptsRBXPublic

About

A desktop AI agent for local models: code, edit video and render HyperFrames on your own GPU

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agenticfy logo

Agenticfy

A desktop AI agent for local models: code, edit video and render HyperFrames on your own GPU, the way you'd use Claude Code.

Give it a task. It looks through your project, plans the work, edits files, runs commands and ffmpeg, looks at its own renders, and keeps going until the task is done. You approve anything risky with a click. It works with Ollama out of the box and with any OpenAI-compatible server.

Install (Windows)

  1. Download Agenticfy-<version>-windows.zip from the latest release and unzip it.
  2. Double-click install.bat. It installs Agenticfy, adds Desktop and Start Menu shortcuts, and offers to install Ollama and download a model that fits your PC: qwen3.6:35b with 32 GB+ RAM, otherwise qwen3.5:9b.
  3. Open Agenticfy from the Start Menu.

You need Python 3.10+ (winget install Python.Python.3.12). For other platforms, or to work on the code, see From source.

What you get

  • A desktop app window with a sessions sidebar, a streaming chat and the model's thinking in collapsible blocks.
  • Tool cards for every action: file reads, searches, edits (shown as a colored diff), and shell commands with their output.
  • Approvals inline: Allow, Always allow (per tool, or per command such as all git commands), Deny, or type what it should do instead.
  • A plan panel that tracks the agent's task list while it works.
  • A Files & Changes side panel: browse the project, view files with syntax highlighting, and see a cumulative diff of everything the agent changed in this session.
  • @file autocomplete to attach files, / commands, a model picker, a permission-mode switch, a context-usage meter, and a Stop button (or press Esc).
  • Sessions are saved and reopen with their full history.
  • A terminal version (agenticfy) if you'd rather stay in the console.

Quick start from source

  1. Install Ollama from https://ollama.com/download and pull a model:

    ollama pull qwen3.6:35b
  2. Tune Ollama for agent work. Agents need room for files, skills and command output. Run these once, then restart Ollama from its tray icon:

    setx OLLAMA_CONTEXT_LENGTH 65536
    setx OLLAMA_FLASH_ATTENTION 1
    setx OLLAMA_KV_CACHE_TYPE q8_0
    setx OLLAMA_KEEP_ALIVE 60m

    Big models take 30–60 s to load, so keeping them in memory matters. The app also preloads the model and its system prompt when it starts, and shows Loading… until the model is ready.

  3. Install Agenticfy from this folder, then add the Desktop and Start Menu shortcuts:

    pip install -e .
    agenticfy-server --install-shortcut
  4. Open "Agenticfy" from the Desktop or Start Menu. Use Open folder… to pick a project.

You can also start it from a terminal inside a project. This opens the app on that folder:

agenticfy-app .

The window is your Chromium-based browser (Edge, Chrome, Brave…) in app mode, so it gets its own window and taskbar entry, not a browser tab. The app quits when you close the window. If Ollama isn't running, the app shows a Start Ollama button.

Which model?

These benchmark results come from tools/bench.py on an RX 9070 XT (16 GB VRAM) with 32 GB RAM and 64K context. The three tasks were a bug fix, an ffmpeg edit (cut, crossfade, burned-in title, 720p export) and a HyperFrames title card render.

Model Speed Bug fix ffmpeg edit HyperFrames Notes
qwen3.6:35b (MoE, vision) 20–26 tok/s ✅ 84 s ✅ 3 min ✅ 8 min Default. Best output and honest self-checks. 22 GB, split between GPU and RAM
gemma4:26b (MoE, vision) 19 tok/s ✅ 74 s ✅ 3 min ⚠️ 5 min Passed the checks, but its render had overlapping text that it reported as fine
devstral-small-2:24b (dense, vision) 5 tok/s ✅ 2.5 min — — Too slow once it spills out of VRAM at 64K context
qwen3.5:9b (vision) 81 tok/s ✅ 12 s ❌ ⚠️ Fast but too weak for multi-step video work

Pull a model with ollama pull, then pick it from the model menu under the message box. Rerun the benchmark on your own hardware with python tools/bench.py <model> [<model> …].

Using the app

Enter / Shift+Enter Send / new line
Esc Stop the agent
Shift+Tab Cycle permission mode
Ctrl+N / Ctrl+B New session / toggle the Files & Changes panel
@path Attach a file (autocompletes)
/clear, /compact, /init New session · summarize the conversation to free up context · write an AGENTS.md for the project
/mode …, /model … Switch permission mode or model

Permission modes

  • Ask permissions (default): asks before file edits, shell commands and web requests. Reading is always allowed.
  • Accept edits: edits files without asking; still asks before commands and web requests.
  • Bypass permissions: never asks. Use it only in a folder you can afford to lose, or under git.

Project instructions: if the project contains AGENTS.md (or AGENTICFY.md, QWEN.md, CLAUDE.md), it's added to the system prompt. Put build and test commands and project conventions there. /init writes one for you.

The conversation is summarized automatically when the context window reaches 75% full.

Terminal version

agenticfy                              # interactive session in the current folder
agenticfy -p "summarize this repo"     # one-shot, print the answer and exit
agenticfy -c                           # continue the last conversation in this folder
agenticfy --mode auto-edit             # don't ask before file edits

The terminal version has the same tools, approvals and slash commands, plus !command to run a shell command yourself.

Tools the agent has

read_file, list_dir, glob, grep (uses ripgrep if it's installed), edit_file, write_file, run_shell (PowerShell on Windows, bash elsewhere), web_fetch, and todo_write for planning.

Vision and video: view_image shows the model a screenshot or rendered still. video_info gives a video's duration, resolution, fps and streams (ffprobe). video_frames grabs frames and shows them to the model as one contact sheet. This lets the agent check its own edits and renders instead of assuming they worked. The images also appear inside the tool cards in the app. Turn vision off in Settings for text-only models.

Skills: Agenticfy loads Claude Code-style skills: folders with a SKILL.md and reference files. It looks in .agenticfy/skills and .claude/skills in the project, then ~/.agenticfy/skills and ~/.claude/skills. The model sees each skill's name and description and calls load_skill when a task matches, so installed workflows such as the HyperFrames video skills work in Agenticfy too.

edit_file is built to absorb common small-model mistakes: it handles Windows CRLF files, strips line-number prefixes copied from read_file output, and ignores trailing-whitespace differences when there's exactly one match.

Agenticfy reads Qwen's output in whatever form the server sends it: structured tool_calls, inline <tool_call> JSON, Qwen3.5/3.6's XML <function=...> format, reasoning_content, or <think> tags. If Qwen writes its final answer inside its thinking, the app shows it as the reply.

Other servers and providers

Use Settings (bottom-left of the app), or edit ~/.agenticfy/config.json. The file comes with these profiles:

Profile Server
ollama (default) http://localhost:11434/v1
lmstudio http://localhost:1234/v1
llamacpp llama-server --jinja on http://localhost:8080/v1
vllm http://localhost:8000/v1 (start vLLM with --enable-auto-tool-choice and the Qwen tool parser)
openrouter Hosted Qwen3.5. Set the OPENROUTER_API_KEY env var
dashscope Alibaba Cloud Qwen API. Set the DASHSCOPE_API_KEY env var

To switch, change "profile" in the config or pass --profile to agenticfy-app or agenticfy. Check the model names for hosted providers in their model lists. Other settings: temperature (0.6), top_p (0.95), max_tokens (16384, including thinking), context_window (65536: keep it equal to the server's real context), compact_at (0.75), max_steps (60 tool rounds per turn), max_tool_output (16000 chars), shell_timeout (120 s), permission_mode, show_thinking, and extra_body (sent as-is in the request, e.g. {"top_k": 20}).

How it's built

agenticfy/
  agent.py        the agent loop: model → tool calls → results → model …
  llm.py          streaming OpenAI-compatible client and Qwen output parsing
  tools.py        file, search, shell, web and planning tools
  permissions.py  approval rules (modes, "always allow")
  prompts.py      system prompt (environment, project listing, AGENTS.md)
  server.py       local HTTP server for the app: JSON API and live events (SSE)
  app.py          desktop launcher (app window, shortcuts, auto-shutdown)
  web/            the interface (HTML/CSS/JS, no build step)
  cli.py, ui.py   terminal version
installer/        Windows installer shipped with releases
tools/            make_icon.py renders the logo to .ico/.png

The server only listens on 127.0.0.1. It checks the Host header and requires a per-launch token, so other websites can't drive it. Conversations are saved in ~/.agenticfy/sessions/. The app logs to ~/.agenticfy/app.log.

Run the tests (they use a scripted mock model, so no GPU is needed):

python -m unittest discover -s tests -t .

About

A desktop AI agent for local models: code, edit video and render HyperFrames on your own GPU

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages