Multica: The Open Source Tool That Makes Claude Code 10x Better

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Okay, Multicore claims to be the tool that can turn your agents into real teammates,
00:00:05so Claude Code, OpenCode, Codex CLI, Hermes and more can be set up with their own system
00:00:11prompts and their own skills and be assigned tasks with status updates, they can alert you
00:00:16if they need your help, schedule recurring tasks, and you can talk directly to your agent.
00:00:21But is this open-source version of Claude routines and managed agents actually worth your time?
00:00:27Hit subscribe and let's find out.
00:00:32Now the intended way to use Multicore is to install it on your working machine, which ideally
00:00:37has a terminal coding agent like Claude Code or OpenCode, and then connect that to the
00:00:42Multicore cloud UI.
00:00:44But we're not going to do that, we're going to go the completely self-hosted route.
00:00:48So we'll install Multicore on a VPS, which I'll explain why later.
00:00:52In fact, I usually skip the whole setup stage, but for self-hosting with Multicore, there
00:00:58are a few things I had to figure out that weren't in the documentation.
00:01:01So we'll go through that first before running through some examples on how to use it.
00:01:05So I've already set up Multicore on a fresh Hetzner VPS by running this command, and that
00:01:10will use Docker to install Multicore.
00:01:12So make sure you have Docker installed on your VPS.
00:01:15And when you run everything, you just have three containers running the Multicore backend,
00:01:19which I believe is written in Go, the Multicore front end, which is TypeScript and Next.js,
00:01:24and the Postgres database that is used to store session information.
00:01:27You'd next need to run Multicore setup self-host.
00:01:30But I had a few issues with that.
00:01:31So if we run Multicore self-host, and if I were to reset my current configuration and
00:01:35my workspace, you'll see it's asking me to authenticate with this URL, which will take
00:01:39you to this screen.
00:01:40And if you add your email address and hit continue, you'll have to put in a resend code.
00:01:45Now I had a lot of trouble with this section.
00:01:48So I'd recommend you avoid the whole resend side of things altogether by going into the
00:01:53.multicore server directory, opening the env file, make sure the app environment is set
00:01:58to development, and also make sure the value for the recent API key is empty.
00:02:02This will make the code this value.
00:02:04Once you've done that, stay inside this directory and run this command to restart the containers
00:02:09with the updated environment variables file.
00:02:11And after you've done that, you should be able to log in with six eights.
00:02:15Now we're not quite done yet.
00:02:17From here, go to runtimes, and you can see that I have two different runtimes installed,
00:02:21but you should have nothing because that hasn't been set up.
00:02:24If you run Multicore Daemon Status, you can see right now mine is running and using these
00:02:28agents with one workspace, but yours should have an error.
00:02:32And that's because first on your VPS, you'll need to have a terminal coding tool installed.
00:02:36So I have Clawed Code and Open Code installed.
00:02:39And in order to connect that runtime to your Multicore instance, you'd have to go into settings,
00:02:44and API tokens, then create a new API token, then run Multicore login with the token flag
00:02:50and paste your token here.
00:02:52Then if you have a Multicore Daemon running, stop it before starting it again.
00:02:56The Daemon in Multicore checks for installed harness binaries, polls for tasks from Multicore
00:03:01to give to the agents and spawns multiple agents using work trees in order to get these tasks
00:03:07done.
00:03:08So once you've done that, the Daemon should now be showing your available runtimes.
00:03:11And the beauty of connecting it this way is that you can add multiple machines to your
00:03:15Multicore instance.
00:03:16So if you have multiple VPSs, you can install Multicore on all of them and connect them
00:03:20to a single UI using your different API tokens.
00:03:23Okay, with the setup out of the way, let's go through some simple tasks with Multicore.
00:03:28And I'm not going to go through the full potential.
00:03:30So having multiple agents with multiple projects and adding multiple tasks, I just want to show
00:03:35you individual features so you can picture how powerful Multicore is, if that's the way
00:03:39you'd like to work.
00:03:40Before you can do anything with Multicore, you'd have to create an agent.
00:03:43And I've already created one here called Medibot, but you can do one by clicking on this plus
00:03:48button and following the instructions.
00:03:50So this medical bot is similar or has the similar system prompt to the one I made in the Claude
00:03:56Managed Agents video that simply gets my medical information from a private GitHub repo, and
00:04:02I can talk to it via Slack.
00:04:04Now because I have a bit more freedom with Multicore in the sense that I have my own VPS
00:04:08and I can manage that directly, instead of getting this agent to clone that repo from
00:04:12GitHub, I've gone ahead and cloned it myself into this directory.
00:04:16Now as well as the system prompts, you can give your agent custom skills.
00:04:19Notice the agent will have access to skills you have installed on your CLI, but you can
00:04:24add skills directly in the UI if you want to here, which I have done as a test skill, but
00:04:29I'm not going to add it to the agent.
00:04:30There's also environments and also custom arguments.
00:04:33Since the agents uses the CLI tool, in this case, it's going to use open code run, I can
00:04:37add custom flags for if I want this agent to only use a specific model and so on.
00:04:42But by default, the agent will use the model you have in your CLI.
00:04:46So if I run open code right now, you can see it's using the big pickle model from OpenCodeZen.
00:04:50Now I can create a task or issue by clicking here, and I'm going to call this issue medical
00:04:54question with a prompt of can you check my medical information and let me know if I can
00:04:59eat calamari.
00:05:00Now if you've ever used any issue tracking tool, this will look very familiar.
00:05:04You can set priorities, assign people, add due dates, and so on.
00:05:08But I would highly recommend you always create the issue before you assign someone because
00:05:13the second you assign a bot to this issue, it gets started working on it right away.
00:05:17To make sure you're comfortable with everything you've written, double check.
00:05:21And once you're done, assign it to a bot.
00:05:23So I'll assign it to Medibot and create the issue.
00:05:26And from there, the bot will get started on it.
00:05:28I can keep track of it inside issues over here.
00:05:30And if we click on the issue, we can see Medibot is working straight away.
00:05:34Now while this is going, I'm going to click on autopilot.
00:05:36And this is the open source version of Claude Routines.
00:05:39We can click on start from scratch and we can select an agent and we can set how often we
00:05:44want this task to run.
00:05:45Now unlike Claude Routines, there's no option for API triggers or GitHub event triggers.
00:05:51Maybe that will come in the future.
00:05:53But I'm going to give this a similar prompt to the Claude routine video to fetch the latest
00:05:57issues of these three newsletters via RSS.
00:06:00And once you get these issues, find the best 10 articles that can be used in a YouTube video.
00:06:05This will happen daily at 9am London time.
00:06:08And ideally you'd want a research specific agent that is good at picking topics for YouTube.
00:06:14But for now we'll stick with Medibot and we'll hit create.
00:06:17Then we can click into this autopilot and click run now just to see it in action.
00:06:21It will create a new issue in todo.
00:06:23And we'll leave that to run for a few minutes and check back on our other issue, which has
00:06:28now been moved to in review by the agent.
00:06:30So over here, it says based on my medical records, I have a shellfish allergy, which is true and
00:06:35should not eat calamari and then gives more information here about my allergy.
00:06:40And we can also click here to see exactly what the agent did.
00:06:43So we can expand the execution history and see that it made a few bash tool calls.
00:06:48In fact, a lot of bash tool calls to look for the medical info directory and let it search
00:06:53the whole home directory before finding it and checking my medical info to give the agent
00:06:59the right information.
00:07:00Awesome.
00:07:01And from here, I can even reply, thanks for the information.
00:07:04Why have you put this in review instead of moving into done?
00:07:07So we'll leave that with the agent.
00:07:09And if you don't want to manually keep track of what the agent is saying, you can also get
00:07:12notifications from the agent.
00:07:14So here is the response from medical agent.
00:07:16And I've also got an update from our autopilot.
00:07:19Here's one that ran automatically an hour ago, but here's one that we just triggered and it's
00:07:22just finished.
00:07:23So we can see here that this is the prompt I gave it it's run through the prompt and it's
00:07:27giving me a response.
00:07:28So here are the top 10 picks with barn, temporal API, and so on.
00:07:33Now what's interesting here is that an agent will not move a task once it's in review back
00:07:37into in progress and to do you as a human could of course do that automatically.
00:07:41So I can move this into in progress or move that into blocked if I wanted to.
00:07:45But even though I asked the medical agent a question, it hasn't gone back to in progress
00:07:49while it's answering the question.
00:07:51It just stays in review and so I need to click on it to know when it's done and we can see
00:07:55why it moved it to in review since it's the standard workflow step instead of moving it
00:08:00to done.
00:08:01So it's waiting for me, the human, to move it to done, which kind of makes sense.
00:08:05From here I can continue talking to the agent, leaving reply, leaving comments, attaching
00:08:09files and emojis, or if I wanted to just ask a one-off question without going through the
00:08:14whole issue tracking process, I could click here and talk to my agent directly.
00:08:18Now to be honest, I'm not the biggest fan of communicating with agents by assigning
00:08:22tasks and watching them progress through a Kanban board.
00:08:25This is why I haven't tried out projects like Paperclip or Vibe Kanban.
00:08:29I don't really care about priorities or due dates, I tend to work on one or maybe two projects
00:08:34at a time with agents and I like to have more of a dialogue with my agents, actually seeing
00:08:39what they do, the tools they use and the problems they come across so I can help debug with them.
00:08:45But this is not to say I don't like the idea of Malteka, in fact I do like the scheduled
00:08:50tasks feature, I like the fact you can completely self-host it and also I think it's a very solid
00:08:55tool that is much cheaper if you use a different model than using some of the Claude managed
00:08:59agents or Claude routines.
00:09:02But I will say it's fairly technical in its setup process, you kind of have to know what
00:09:06you're doing, especially if you want to keep things secure and that is the benefit of the
00:09:11managed agents or routines which takes care of all these things for you by hosting things
00:09:16on topics infrastructure and the fact that you can use connectors to communicate with
00:09:20your agent does make things a bit easier because if you wanted to do the same thing in Malteka,
00:09:24okay you could use the responsive site on your phone but you'd have to manually put things
00:09:29together if you want to use Slack, Telegram or Discord.
00:09:33And this is why I went down the self-hosted route purely because of security, if something
00:09:37is connected to the internet then it's definitely hackable, I mean you could use Malteka completely
00:09:41locally so install it on your local machine and run the UI locally so it won't be connected
00:09:46to the internet but if you do want to connect it to the internet I recommend going down the
00:09:50self-hosted route using Tailscale so your server isn't completely exposed and making sure you're
00:09:55always up to date with the latest versions.

Key Takeaway

Multicore offers a self-hosted, open-source alternative to managed AI agent platforms, enabling users to orchestrate terminal coding tools like Claude Code through a centralized dashboard and automated task scheduling.

Highlights

Multicore runs in Docker containers, consisting of a Go-based backend, a TypeScript and Next.js frontend, and a Postgres database for session storage.

Self-hosting Multicore on a VPS requires bypassing the default authentication by setting the app environment to development and clearing the Resend API key in the configuration file.

Multicore connects local terminal coding agents, such as Claude Code or OpenCode, to a centralized web UI via API tokens and a background daemon.

The platform supports scheduled recurring tasks through an autopilot feature that triggers agents at specific times without requiring external API or GitHub event integrations.

Multiple VPS instances can connect to a single Multicore UI, allowing for a unified dashboard across distributed infrastructure.

Agent tasks follow a Kanban board workflow where users assign issues to bots, monitor progress through execution logs, and manually move tasks to done.

Timeline

Self-Hosting and Configuration

  • Multicore uses Docker to deploy backend, frontend, and database components on a VPS.
  • Manual configuration of environment variables is necessary to bypass authentication hurdles during self-hosted setup.
  • Connecting a local terminal agent requires generating an API token and running the Multicore daemon.

Installation involves running Multicore within Docker containers on a VPS. To avoid issues with the default authentication flow, the system environment should be set to development in the .multicore server directory, with the Resend API key value left empty. After updating the environment variables and restarting the containers, local coding agents are linked to the Multicore instance by logging in via a created API token and running the Multicore daemon.

Agent Task Management and Autopilot

  • Agents are assigned specific tasks via a Kanban-style issue tracking interface.
  • The autopilot feature allows for the creation of recurring, automated tasks based on custom prompts.
  • Execution history provides visibility into the specific tools and bash commands used by agents to complete assignments.

Agents operate by interacting with local files and tools, such as searching through directories for specific data based on natural language prompts. The system tracks these activities within an issue-based Kanban board. An autopilot feature enables scheduled tasks—such as daily research at 9:00 AM—which automatically create issues that agents then resolve. Users can audit agent performance by expanding the execution history to see which bash commands were executed during a task.

Workflow Evaluation

  • Task-based Kanban management provides a structured approach for agent coordination.
  • Self-hosting provides security advantages and cost savings compared to managed AI services.
  • Direct interaction with agents is possible for debugging, although it currently lacks native Slack or Discord connectors.

While Kanban-style task management provides structure, it requires the human to manually move items to a completed status after the agent finishes work. Self-hosting allows for greater security control, especially when paired with tools like Tailscale to avoid direct internet exposure. Although managed agents often have easier third-party integrations, the self-hosted route offers a cost-effective alternative for users comfortable with technical setup and direct interaction.

Community Posts

View all posts