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