# AgentX puts several protocol-speaking agents in one Rust window

> A cross platform desktop studio written in Rust that connects to coding agents over the Agent Client Protocol, with an LSP editor, an integrated terminal and a dockable panel layout. It deliberately refuses to manage provider authorization, leaving that to you.

**sxhxliang/agent-studio** — AgentX is a GPU-accelerated, cross-platform desktop application that brings AI agents to your workflow.  跨平台、原生 Agent 桌面。

- Repository: https://github.com/sxhxliang/agent-studio
- Stars: 510 · Forks: 54
- Language: Rust
- License: not declared
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/sxhxliang-agent-studio

## One Rust binary speaking the Agent Client Protocol

AgentX is a desktop application written in Rust that puts several coding agents behind one window and reaches them over the Agent Client Protocol. That protocol choice is what makes the agent list pluggable: anything implementing it can be attached without a bespoke integration written for this app.

The interface is rendered with GPUI, the framework from Zed Industries, which is why the project describes the UI as GPU accelerated rather than describing an embedded web view. Conversations stream, and the stream carries two kinds of intermediate output that matter when you are watching an agent work: thinking blocks and tool calls. A dedicated tool call viewer expands those executions so you can read what was run instead of inferring it from the final answer.

Around that sit the pieces a working session needs: an LSP enabled code editor with syntax highlighting and autocomplete, an integrated terminal for running commands without leaving the app, session management across multiple sessions, and automatic session persistence so an interrupted session is not lost.

## Nine agents are tested, fourteen more are only listed

Two different lists appear in the documentation, and they answer different questions.

The first is the set the project says it tests, taken from the config.json held in the repository: Codex, Claude, Kimi Code, Qwen, Qoder, OpenCode, Gemini, AugmentCode and Iflow. Nine agents.

The second is a longer set of additional protocol compatible agents taken from the Agent Client Protocol directory: AgentPool, Blackbox AI, Code Assistant, the Docker project cagent, fast-agent, GitHub Copilot in public preview, Goose, JetBrains Junie marked as coming soon, Minion Code, Mistral Vibe, OpenHands, Pi through a pi-acp adapter, Stakpak and VT Code. Fourteen more.

The gap between tested and merely listed is the practical detail. A name in the second list means the protocol ought to be enough in theory, while a name in the first means there is a configuration file in the repository backing it. Configuration is what actually decides whether an agent appears in the list at all.

## The dock layout is a file you can delete to reset

The workspace is a set of draggable panels, and the arrangement is recoverable because it is stored as a file rather than held in memory.

When a layout turns out to be broken, the documented fix is to close AgentX, delete docks-agentx.json, and relaunch. A mangled arrangement is therefore never a reason to reinstall or wipe settings.

Runtime state has two homes. Layout and session runtime files are written under an agentx/ directory, while session data itself is stored in sessions/. The repository carries a .theme-schema.json next to a themes/ directory, and locales/ holds the English and Simplified Chinese translations, which matches the claim that both languages ship. Appearance is handled by light and dark themes with customisable colors instead of a single fixed scheme, and auto-save is listed among the features as automatic session persistence.

## Authorization and uptime are deliberately out of scope

AgentX stops short of managing your accounts.

Asked directly whether the application handles agent authorization and availability, the documentation answers no. It provides the desktop studio experience only, does not manage provider authorization state or service availability, and expects you to confirm the target agent is authorized and reachable before opening it.

What the app does own is configuration. Provider settings live in config.json and are reached through Settings, then MCP Config, where the fields worth verifying are the API endpoint, the key, the command path and environment variables. The repository carries config.example.json and config.test.json alongside the live config.json, so the expected shape can be inspected without touching a working file.

The most common failure is an empty agent list, and the documented cause is network access restriction rather than a missing key. The fix is to configure a proxy first, set it on the startup page or in the Settings panel, and try again.

## Archive names are per platform, and the examples show a stale version

Prebuilt archives are named per platform and per architecture. Windows gets agentx-v{version}-x86_64-windows.zip or agentx-{version}-setup.exe, with a winget package marked as coming soon. macOS gets agentx-v{version}-aarch64-macos.dmg for Apple Silicon or agentx-v{version}-x86_64-macos.dmg for Intel, with a Homebrew cask also marked as coming soon. Linux gets a tar.gz, a deb or an AppImage, and the worked commands look like this:

```bash
# For Debian/Ubuntu (.deb)
sudo dpkg -i agentx_0.5.0_amd64.deb

# For other distros (.tar.gz)
tar -xzf agentx-v0.5.0-x86_64-linux.tar.gz
cd agentx
./agentx

# Or using AppImage
chmod +x agentx-v0.5.0-x86_64.AppImage
./agentx-v0.5.0-x86_64.AppImage
```

Every version in that block is 0.5.0, while the Cargo manifest declares 0.3.1 and the newest published release is v0.3.1 dated 2026-02-11. Substituting your own version is therefore required, and copying the example filenames unchanged will not match a file you can download.

## A workspace of seven crates, including a git worktree manager

The Cargo manifest describes a workspace of seven members rather than a single crate.

Members are the root package plus crates/agentx-types, crates/agentx-event-bus, crates/agentx-agent, crates/agentx-services, crates/agentx-acp-ui, and crates/git-worktree-manager, on resolver 2. That last member is the one worth noting for multi-agent work: a worktree manager is what lets concurrent agent sessions occupy separate git checkouts rather than colliding in one tree.

The protocol crate is pinned at version 0.13.1 with the unstable feature enabled, which fits a protocol still in motion. gpui and gpui_platform are git dependencies on the zed-industries/zed repository, with gpui_platform enabling font-kit, x11, wayland and runtime_shaders, while the component and terminal crates come from the author's own forks on a dev branch. Async work runs on Tokio 1.48.

Workspace lints are permissive by design: dead_code, unused_variables and unused_imports are allowed, as are the clippy style, module_inception, too_many_arguments and type_complexity lints. The package is named agentx at version 0.3.1 on edition 2024, and no licence is recorded in the manifest.

## Source builds need Rust 1.83 and three system libraries

Building from source requires Rust 1.83 on the 2024 edition plus a platform specific toolchain: MSVC on Windows, Xcode command line tools on macOS, and libxcb, libfontconfig and libssl-dev on Linux. A rust-toolchain.toml is committed, so the toolchain choice is pinned for contributors rather than left to chance.

The build path itself is short:

```bash
# Clone the repository
git clone https://github.com/sxhxliang/agent-studio.git
cd agent-studio

# Build and run
cargo run

# Release build
cargo build --release
```

Day to day commands are the ordinary set: cargo test, cargo clippy and cargo fmt. For diagnosing a startup or integration failure, the documentation points at raising the log level through the RUST_LOG environment variable, which is the same advice given for a window that opens but where no agent answers. Since a silent startup is a frequent result of a wrong command path or a missing environment variable, enabling logs as the first diagnostic step is cheaper than bisecting the config by hand.

The last push to main is dated 2026-06-29.

## Conclusion

AgentX earns a place if you already juggle more than one coding agent and want their sessions, terminals and editors in one window instead of several, since the protocol level connection means adding an agent is a configuration change rather than a feature request. It will not help if you want a single fixed agent, since the multi-agent dock is the product, and it cannot rescue a provider that is unauthorised or down, because that state is deliberately outside its control. Before depending on it, verify the four provider fields in config.json, keep the RUST_LOG diagnostic habit for startup problems, and check that a release newer than v0.3.1 exists for your architecture rather than assuming the versions in the documentation examples are current.

## FAQ

### Does AgentX manage my agent logins and whether a provider is available?

No. It provides the desktop studio experience only and does not manage provider authorization state or service availability. Make sure your target agent is authorized and reachable before using the app.

### Why is the AgentX agent list empty after launch?

The usual cause is network access restriction. Configure your proxy first, set it on the startup page or in the Settings panel, and try again.

### How do I reset a broken AgentX dock layout?

Close AgentX, delete docks-agentx.json, then relaunch the application. The layout is a file on disk, so no reinstall is needed.

### Where does AgentX keep session and layout data?

Layout and session runtime files are written under an agentx/ directory, and session data is stored in sessions/.

### Which agents does the AgentX project actually test?

Nine, taken from the config.json in the repository: Codex, Claude, Kimi Code, Qwen, Qoder, OpenCode, Gemini, AugmentCode and Iflow. A separate longer list of protocol compatible agents is cited from the Agent Client Protocol directory without being described as tested.

### Can I install AgentX with winget or Homebrew?

Not yet. Both the winget command and the Homebrew cask are marked as coming soon, so for now you download a prebuilt archive for your platform from the releases page.

## Sources

- [Issues](https://github.com/sxhxliang/agent-studio/issues)
- [README](https://github.com/sxhxliang/agent-studio/blob/main/README.md)
- [Releases](https://github.com/sxhxliang/agent-studio/releases)
- [sxhxliang/agent-studio on GitHub](https://github.com/sxhxliang/agent-studio)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/sxhxliang-agent-studio
