Building an Offline AI Workspace

Here’s a more neutrally toned rewrite of the article “I Want Everything Local — Building My Offline AI Workspace” (dated August 8, 2025) by Manish on InstaVM’s blog instavm.io:


Building an Offline, Fully Local AI Workspace

ObjectiveThe goal was clear: create an AI workspace that functions entirely offline. To achieve this, three components need to work together:

  • Local operation of large language models (LLMs).
  • A sandboxed environment for executing AI-generated code.
  • A mechanism to access web content—ideally through automation—while not relying on cloud services. Implementation
  • LLMs: The team uses Ollama to run models locally, including private models instavm.io.
  • User Interface: A web-based interface powered by assistant-ui, offering flexibility without enforcing model constraints instavm.io.
  • Execution Isolation: Code generated by the AI is executed inside a lightweight virtual machine using Apple’s container tool, avoiding direct execution on the host system instavm.io.
  • Workflow Coordination: A tool named coderunner orchestrates tasks between the UI, LLMs, and execution environment instavm.io.
  • Browser Automation: Playwright is used within the container to enable automated web browsing, enabling the system to fetch and summarize online content as needed instavm.io. Challenges
  • Attempts to build a native macOS application using a0.dev proved difficult, as it seemed optimized for iOS and did not work cleanly on macOS instavm.io.
  • Wrapping the interface in an Electron app also proved time-consuming and not well suited, leading the team to favor the simpler local web interface instavm.io.
  • Discrepancies between perceived and actual capabilities of Ollama: while some models are advertised as supporting tool-calling, they lacked implementation in practice, leading to confusion over features like tool support or pricing instavm.io.
  • Using Apple’s container tool occasionally led to build failures and process hangs—requiring manual restarts and cleanup—highlighting the tool’s early-stage stability issues instavm.io. Capabilities DemonstratedWith the system configured, users can:
  • Perform research on topics using local AI models.
  • Generate charts from CSV data using simple prompts.
  • Execute media editing tasks—such as cutting video segments or resizing images—automated through FFmpeg.
  • Install necessary tools from GitHub directly within the containerized environment.
  • Use a headless browser to fetch web content and generate summaries instavm.io. Architecture and Design
  • A shared folder is mounted between the host and the container (~/.coderunner/assets to /app/uploads), enabling file persistence without exposing the host system to direct execution instavm.io.
  • Browsing tasks are handled by Playwright, enabling the AI to retrieve information as needed instavm.io. Current Limitations
  • The setup currently only supports Apple Silicon and optionally macOS 26, limiting cross-platform accessibility instavm.io.
  • The user interface could be improved to better manage tools and allow for real-time streaming of outputs instavm.io.
  • Automated browsing occasionally gets blocked, as some sites classify the headless browser as a bot instavm.io. ConclusionThis project exemplifies a philosophy rooted in local-first AI workflows: coordinating local LLMs, containerized code execution, and headless browsing to eliminate cloud dependency and preserve privacy. While there are functional limitations and platform constraints, the approach demonstrates one path toward empowering users to control their computational environment without relying on external services instavm.io.

Let me know if you’d like this further condensed, adapted for a specific audience, or restructured in another style!