mjason
I’ve been building Longx, an open-source, self-hosted workspace for AI agents. The backend uses Elixir, Phoenix, Ash, and SQLite; the web UI is built with React.
Longx was originally written with Claude Code. Today, it has reached the point where it can keep improving itself through its own agent system. For me, it’s not just an agent project—it’s also a way to put agent collaboration to the test in the real development process.
I want agents to feel less like disposable chat sessions and more like collaborators working in real projects. Each thread has its own OTP process, transcript, and execution loop. Agents can use tools, work with files in a project directory, and delegate tasks to child agents that communicate through messages. Their work stays visible in the UI, while you remain in control of the project and its Git history.
A few parts I’ve especially enjoyed building:
- An OTP-native agent kernel: Each thread runs in its own process, managed and recovered by a supervision tree. Model requests and tool calls run in tasks, so the agent can still respond to messages, steering, and interrupts.
- Agent teams: Agents can spawn and message child agents, continue previous work, and report results back to their parent.
- A Phoenix-backed project workspace: File browsing and editing, Git operations, live file updates, and a notification feed.
- A lightweight Go shim for external processes: It handles back-pressure, streaming, PTYs, and process-tree cleanup, while Elixir handles the higher-level orchestration.
- Flexible model providers: All model requests go through a common layer that supports configured providers and OpenAI-compatible endpoints.
One design choice may be a little different from what people expect: Longx doesn’t try to sandbox commands inside the agent kernel. Agents run with the permissions of the Longx process; isolation is the responsibility of the deployment environment. Git remains the user’s, too—Longx doesn’t automatically commit an agent’s changes.
Trending in Announcing
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #ai
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










