<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jaseph</title>
    <description>The latest articles on DEV Community by Jaseph (@jaseph).</description>
    <link>https://dev.to/jaseph</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1857092%2F084abea6-fab4-41ad-bbe8-a01be9e0e884.jpg</url>
      <title>DEV Community: Jaseph</title>
      <link>https://dev.to/jaseph</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaseph"/>
    <language>en</language>
    <item>
      <title>I Built an Open-Source AI Assistant with 19 Tools That Actually Controls Your Computer</title>
      <dc:creator>Jaseph</dc:creator>
      <pubDate>Sun, 08 Feb 2026 10:54:00 +0000</pubDate>
      <link>https://dev.to/jaseph/i-built-an-open-source-ai-assistant-with-19-tools-that-actually-controls-your-computer-38ep</link>
      <guid>https://dev.to/jaseph/i-built-an-open-source-ai-assistant-with-19-tools-that-actually-controls-your-computer-38ep</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;ChatGPT is great for conversation, but it can't do anything on your computer. Cursor and Claude Code are great for coding, but they can't send emails or browse the web. I wanted one AI assistant that could do everything — on my machine, with my API key, under my control.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;SelfAgent&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is SelfAgent?
&lt;/h2&gt;

&lt;p&gt;SelfAgent is an open-source AI-powered personal assistant that runs locally on your computer. You interact with it through a WhatsApp-style chat interface, and it can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browse the web and fill forms&lt;/li&gt;
&lt;li&gt;Read and send emails&lt;/li&gt;
&lt;li&gt;Write, run, and debug code&lt;/li&gt;
&lt;li&gt;Build complete websites&lt;/li&gt;
&lt;li&gt;Manage files and Git repos&lt;/li&gt;
&lt;li&gt;Analyze data and create charts&lt;/li&gt;
&lt;li&gt;Download files and YouTube videos&lt;/li&gt;
&lt;li&gt;Schedule recurring tasks&lt;/li&gt;
&lt;li&gt;And 11 more tools...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All running locally. Your data never leaves your machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User &amp;lt;-&amp;gt; Chat UI (WebSocket) &amp;lt;-&amp;gt; FastAPI Backend
                                      |
                              +-------+--------+
                              |   Agent Core   |
                              |  Think -&amp;gt; Plan |
                              |  Execute -&amp;gt;    |
                              |  Observe       |
                              +-------+--------+
                                      |
                    +-----------------+------------------+
                    |                 |                   |
              Memory System     Tool Registry        Task Manager
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent follows a simple loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Think&lt;/strong&gt; — understand the user's request&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan&lt;/strong&gt; — decide which tools to use&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Execute&lt;/strong&gt; — call the tools&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observe&lt;/strong&gt; — check the results, iterate if needed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This runs for up to 25 iterations per request, so the agent can handle complex multi-step tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  5 AI Providers, 1 Interface
&lt;/h2&gt;

&lt;p&gt;SelfAgent works with:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free (local)&lt;/td&gt;
&lt;td&gt;Privacy, offline use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OpenRouter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free tier available&lt;/td&gt;
&lt;td&gt;Free cloud models (Llama 70B, DeepSeek)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Google&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free tier available&lt;/td&gt;
&lt;td&gt;Gemini 2.5 Pro with vision&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OpenAI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Paid&lt;/td&gt;
&lt;td&gt;GPT-4o&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Anthropic&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Paid&lt;/td&gt;
&lt;td&gt;Claude Sonnet/Opus&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You can store API keys for all providers and switch between them instantly from the settings panel. No restart needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ollama Experience
&lt;/h2&gt;

&lt;p&gt;This is where it gets interesting. With Ollama, you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Status monitoring&lt;/strong&gt; — green/red dot shows if Ollama is running&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic model list&lt;/strong&gt; — see all installed models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pull from UI&lt;/strong&gt; — type a model name, click Pull, watch the progress bar&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero configuration&lt;/strong&gt; — no API key, no account, no internet needed
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;ollama
ollama pull llama3.2
ollama serve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Select "Ollama (Local)" in SelfAgent settings. You now have a fully local AI assistant.&lt;/p&gt;

&lt;h2&gt;
  
  
  19 Built-in Tools
&lt;/h2&gt;

&lt;p&gt;Here's every tool and what it does:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web Browser&lt;/strong&gt; — Playwright-based. Navigate, click, fill forms, screenshot, run JS. Supports CSS, text, and ARIA selectors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web Search&lt;/strong&gt; — DuckDuckGo. No API key needed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;File Manager&lt;/strong&gt; — CRUD operations, sandboxed to home directory. Search by filename.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Code Writer&lt;/strong&gt; — Write and run code in Python, JavaScript, Go, Rust, Java, and more. 7 project templates included.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Website Builder&lt;/strong&gt; — 8 templates (landing, portfolio, blog, e-commerce, etc.) with local preview server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Terminal&lt;/strong&gt; — Persistent shell sessions. Run long processes, manage multiple sessions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Git&lt;/strong&gt; — Full Git workflow + GitHub API. Clone, commit, push, create PRs and repos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Email&lt;/strong&gt; — IMAP/SMTP. Read inbox, search, send HTML-formatted emails, reply with attachments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Database&lt;/strong&gt; — SQLite queries, table inspection, CSV/JSON export/import.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API Tester&lt;/strong&gt; — Like Postman. Send requests, assert responses, generate docs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Screenshot&lt;/strong&gt; — Full screen and window capture.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clipboard&lt;/strong&gt; — Read/write system clipboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;System Control&lt;/strong&gt; — System info, open apps, manage processes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Image&lt;/strong&gt; — Resize, crop, convert, compress, watermark, batch processing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PDF&lt;/strong&gt; — Create from markdown, read, merge, split, watermark.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Analyzer&lt;/strong&gt; — Load CSV/JSON/Excel, statistics, 6 chart types, data cleaning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Downloader&lt;/strong&gt; — Direct files + YouTube videos/audio via yt-dlp.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scheduler&lt;/strong&gt; — One-time and cron-style recurring task automation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Plugin System&lt;/strong&gt; — Add custom tools by dropping a Python file in &lt;code&gt;plugins/&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Memory That Actually Works
&lt;/h2&gt;

&lt;p&gt;SelfAgent has a 3-layer memory system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Layer 1: Short-term&lt;/strong&gt; — in-memory buffer of recent messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Layer 2: Long-term&lt;/strong&gt; — SQLite for all conversations + ChromaDB for semantic search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Layer 3: User Profile&lt;/strong&gt; — key/value store for name, email, preferences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent remembers who you are across sessions. Tell it your email once — it remembers forever.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/oezercet/SelfAgent.git
&lt;span class="nb"&gt;cd &lt;/span&gt;SelfAgent
./setup.sh
./run.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:8765" rel="noopener noreferrer"&gt;http://localhost:8765&lt;/a&gt;. Set your API key or select Ollama. Start chatting.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Multi-agent collaboration&lt;/li&gt;
&lt;li&gt;Voice input&lt;/li&gt;
&lt;li&gt;Mobile app&lt;/li&gt;
&lt;li&gt;More community plugins&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/oezercet/SelfAgent" rel="noopener noreferrer"&gt;https://github.com/oezercet/SelfAgent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License:&lt;/strong&gt; MIT (use it however you want)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you find it useful, a star on GitHub would mean a lot. Contributions and feedback are always welcome!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>python</category>
      <category>selfhosting</category>
    </item>
  </channel>
</rss>
