<?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: 李秉翰</title>
    <description>The latest articles on DEV Community by 李秉翰 (@hankyleisplay).</description>
    <link>https://dev.to/hankyleisplay</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4219044%2Fd722ead8-accf-42e2-8f8d-6ffbc0555086.jpg</url>
      <title>DEV Community: 李秉翰</title>
      <link>https://dev.to/hankyleisplay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hankyleisplay"/>
    <language>en</language>
    <item>
      <title>Aether AI Studio: A Local-First AI Workspace with an Autonomous Coding Agent and Image/Video Generation</title>
      <dc:creator>李秉翰</dc:creator>
      <pubDate>Sat, 31 Oct 2026 13:02:05 +0000</pubDate>
      <link>https://dev.to/hankyleisplay/aether-ai-studio-a-local-first-ai-workspace-with-an-autonomous-coding-agent-and-imagevideo-4nh3</link>
      <guid>https://dev.to/hankyleisplay/aether-ai-studio-a-local-first-ai-workspace-with-an-autonomous-coding-agent-and-imagevideo-4nh3</guid>
      <description>&lt;h1&gt;
  
  
  Aether AI Studio
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;A local-first AI workstation: chat, an autonomous coding agent, and image/video generation in one interface.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most AI front-ends either lock you into one provider or send everything to the cloud. &lt;strong&gt;Aether AI Studio&lt;/strong&gt; lets you decide. Run models locally with Ollama or LM Studio and nothing leaves your machine. When you need more power, switch to OpenAI, Anthropic, or Gemini from the same UI.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/hankyleisplay/AetherAI-Studio" rel="noopener noreferrer"&gt;https://github.com/hankyleisplay/AetherAI-Studio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Latest release (Windows launcher): &lt;a href="https://github.com/hankyleisplay/AetherAI-Studio/releases/latest" rel="noopener noreferrer"&gt;https://github.com/hankyleisplay/AetherAI-Studio/releases/latest&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Current version: &lt;strong&gt;v4.1.1&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;h3&gt;
  
  
  💬 Multi-provider chat
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;One &lt;code&gt;UnifiedLLMClient&lt;/code&gt; fronts Ollama, LM Studio, OpenAI, Anthropic, and Gemini, with SSE streaming.&lt;/li&gt;
&lt;li&gt;Personas with their own system prompts and per-persona tool access.&lt;/li&gt;
&lt;li&gt;Rich Markdown rendering: code highlighting, LaTeX math, tables, and nested inline formatting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hardware-aware settings:&lt;/strong&gt; when you raise max tokens or the context window, the app estimates whether your RAM/GPU can handle it and warns you before you hit an out-of-memory wall.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🤖 Code mode: a real autonomous agent
&lt;/h3&gt;

&lt;p&gt;This is not a "paste code, get code" box. The agent plans, reads files, edits, runs commands, and verifies its own work in a loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;15 built-in tools&lt;/strong&gt; (each can be toggled individually in Settings):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;list_dir&lt;/code&gt; · &lt;code&gt;glob&lt;/code&gt; · &lt;code&gt;grep&lt;/code&gt; · &lt;code&gt;read_file&lt;/code&gt; · &lt;code&gt;edit_file&lt;/code&gt; · &lt;code&gt;multi_edit&lt;/code&gt; · &lt;code&gt;write_file&lt;/code&gt; · &lt;code&gt;run_command&lt;/code&gt; · &lt;code&gt;git&lt;/code&gt; · &lt;code&gt;check_syntax&lt;/code&gt; · &lt;code&gt;web_fetch&lt;/code&gt; · &lt;code&gt;web_search&lt;/code&gt; · &lt;code&gt;todo_write&lt;/code&gt; · &lt;code&gt;delete_path&lt;/code&gt; · &lt;code&gt;move_path&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Things I cared about getting right:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Approval gate:&lt;/strong&gt; in &lt;em&gt;Accept Edit&lt;/em&gt; mode every change is shown as a diff and waits for your OK.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Anti-cheating guards:&lt;/strong&gt; the agent cannot "fix" failing tests by deleting existing functions or rewriting test assertions unless explicitly allowed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Failure circuit breaker:&lt;/strong&gt; repeated failing tool calls trigger a warning, then a hard stop, so it can't loop forever.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context budgeting:&lt;/strong&gt; long sessions are trimmed automatically to fit the model's window.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resumable sessions:&lt;/strong&gt; transcripts are persisted, so you can pick up where you left off.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works with weak models too:&lt;/strong&gt; if a model has no native tool-calling, the agent falls back to parsing tool calls from text.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎨 Media Studio
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Images:&lt;/strong&gt; Pollinations (free, no key), OpenAI &lt;code&gt;gpt-image-1&lt;/code&gt;, Gemini Imagen, Stable Diffusion WebUI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video:&lt;/strong&gt; OpenAI Sora and Gemini Veo (API key required).&lt;/li&gt;
&lt;li&gt;Chat personas can call &lt;code&gt;generate_image&lt;/code&gt; / &lt;code&gt;generate_video&lt;/code&gt; directly, and results render inline in the conversation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✨ AI Prompt Enhancer
&lt;/h3&gt;

&lt;p&gt;Turn a rough idea into a structured prompt, using either an LLM or a template. It's multilingual and answers in the language you choose.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Internationalization
&lt;/h3&gt;

&lt;p&gt;Traditional Chinese, Simplified Chinese, English, and Japanese. That's 650+ UI strings, plus the README in all four languages. The top bar measures available width and collapses buttons level by level, so it doesn't break when you switch languages or close the sidebar.&lt;/p&gt;

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

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Tech&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Python, FastAPI, SQLite, SSE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React 18, Vite, Tailwind CSS, TypeScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM layer&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;UnifiedLLMClient&lt;/code&gt; over 5 providers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Desktop / launcher&lt;/td&gt;
&lt;td&gt;Tauri (Rust) launcher, Electron shell&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extras&lt;/td&gt;
&lt;td&gt;Telegram bridge, optional PIN-protected web access&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A small detail I'm happy with: the version number lives only in the root &lt;code&gt;package.json&lt;/code&gt;. Vite injects it into the sidebar badge and window title at build time, and a test fails if the backend, frontend, desktop app, or launcher drift out of sync. (I learned that one the hard way when a release shipped with a stale badge.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick start
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Download &lt;code&gt;AetherLauncher.exe&lt;/code&gt; from the &lt;a href="https://github.com/hankyleisplay/AetherAI-Studio/releases/latest" rel="noopener noreferrer"&gt;latest release&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Run it; it starts the backend and frontend for you.&lt;/li&gt;
&lt;li&gt;In Settings, pick a model source: local Ollama / LM Studio, or paste a cloud API key.&lt;/li&gt;
&lt;li&gt;Chat, or switch to &lt;strong&gt;Code mode&lt;/strong&gt;, point it at a project folder, and let the agent work.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Prefer running from source? The repo has the FastAPI backend and Vite frontend with setup steps in the README.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is it for?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;People who want to run models locally and keep their data private&lt;/li&gt;
&lt;li&gt;Developers who want a Cursor / Claude Code-style agent experience with full control over every edit&lt;/li&gt;
&lt;li&gt;Creators who want text, image, and video generation in one tool&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Feedback welcome
&lt;/h2&gt;

&lt;p&gt;Video generation is the least-tested part (it needs paid API keys), so bug reports there are especially appreciated. Stars, issues, and PRs are all welcome:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/hankyleisplay/AetherAI-Studio" rel="noopener noreferrer"&gt;https://github.com/hankyleisplay/AetherAI-Studio&lt;/a&gt;&lt;/p&gt;

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