All articles

Sidekicks: AI agents for citizen users/developers

k33g
ยทยท3 min read
Sidekicks: AI agents for citizen users/developers

It all started with a very concrete need. With Mini Me, my command-line coding agent, specially tuned for (very) small local models, I ended up with several agents that are useful in my everyday life: translation, understanding a text, summaries, automating small tasks, press reviews...

Very quickly, two things became obvious.

First, a CLI is not necessarily the most comfortable thing for this kind of use. My daily life is VSCode or Zed, with an integrated terminal, maybe the ACP extension. Launching an agent from a terminal is doable, but it's not the experience I want when I'm not "in development mode".

Second, I needed one place to find all my "little" agents. A kind of Claude Desktop, but with several agents.

Citizen developer, citizen user

In my job, I swing between two hats: the citizen developer, who hacks tools and demos together, and the citizen user, who just uses them. OMG, I'm not a developer anymore ๐Ÿ™€. Don't worry, I still write code, but in a parallel life. I'm sure it will come in handy one day ๐Ÿ˜‰.

The problem is that coding agents are designed for developers. For non-technical use, you need something simpler: conversations, files, permissions explained in plain words.

A "Slack-like" for agents

That's how Sidekicks was born. You can see it as a kind of Slack for agents running local models. You create channels, you add your agents to them, and you talk to them. Several agents can share the same channel (and answer each other - that's coming soon), with @ mentions. Agent commands go through /, and you attach a file with $ or by drag and drop.

Channels are kept from one session to the next. Answers are displayed as Markdown, with syntax highlighting for code. When an agent wants to do something sensitive, it asks for permission in plain words (here it's not Sidekicks that decides, it just relays to the agent).

Plug in any agent with ACP

Very quickly, I needed more. I wanted the same thing for Claude, for Codex and friends.

And there, Sidekicks was already ready ๐ŸŽ‰. It uses the ACP protocol (Agent Client Protocol) to integrate agents. Since ACP wrappers exist for Claude and other agents, the integration was immediate: it only took some configuration.

Icing on the cake, it also works if you "run" your agents in containers, VMs or sandboxes, like docker sbx for example. Your agents stay isolated, and Sidekicks takes care of their lifecycle. If a container or a sandbox stops or disappears, it restarts automatically.

For docker sbx with Claude and Codex, I use the claude-acp and codex-acp kits from the docker/sbx-kits-contrib project

What Sidekicks does today

Version 1.2.0 offers, among other things:

  • an assistant that adds agents on the local machine, in Docker or in an sbx sandbox, without writing any YAML;
  • reading a compose.yaml, an sbxenv.yaml or an agent configuration dropped into the window;
  • direct conversations with an agent, from the list of agents;
  • opening, in a side panel, the files an agent refers to;
  • for each agent, a folder explorer, previews of documents and images, protected files and a terminal;

Packages are available for macOS (Apple Silicon, signed and notarized) and Windows (x86-64 and Arm ... โœ‹ not tested yet).

In the coming days, I'll write more posts to explain how to use Sidekicks, agent by agent. See you very soon ๐Ÿ‘‹