Today I'll be giving you a full
comprehensive tutorial on how to set up
OpenClaw so it is productive, efficient,
and actually helps you get something
done. I'm going to go through skills,
memory, the different files you need to
configure, voice mode, groups, all of
the different things that actually allow
you to get some value out of this tool
and that I learned the hard way spending
now over probably 60 70 hours
configuring my own open claw instance.
So with that said, let's get into it.
So, first I do need to give you a quick
disclaimer about security. And also just
generally want to mention that in this
video I'm going to be pretty thorough.
I'm going to be very detailed. I'm going
to try to actually teach you something
new. So, while it will be pretty long,
there's a reason for that. And I would
suggest that you're going to get a lot
more value out of a video like this than
a quick 10-minute setup where they're
just blitzing through all of the steps
and you have no idea what's going on.
Anyways, that brings us to security.
Now, while what I'm going to show you in
this video in terms of setup is secure,
if you want to go kind of extreme and
make sure that you're very secure, I
have a full 50inute long video that
breaks down every step you can take to
harden and secure your OpenClaw
instance. So, I'll put that on screen
right here. I'm not going to repeat
everything in that video because again,
it's already filmed and it's there for
you to watch. And I'm going to assume
generally that you already know how to
set up open claw in terms of getting at
least access to the open claw gateway or
accessing it from the terminal or
telegram. I will repeat those steps but
I will go through that quickly and focus
most of my effort on all of the skills
integrations connections etc. Now with
that in mind the general best practice
here is to treat openclaw like an
untrusted virtual assistant. What I mean
by that is that imagine you had actually
a real person, maybe living in another
country and they were helping you with
stuff and had access to a bunch of your
data. You'd want to ensure if that
person went rogue or had bad intentions
that they couldn't completely mess up
your life. That means you wouldn't give
them access to your main computer, you
wouldn't give them access to your crypto
keys or your primary email address or
any of those things, right? So treat
OpenClaw the exact same way. Make sure
that if you are connecting it to
external resources that those are secure
and that you set up separate accounts
for. Now, you also definitely want to
make sure that you run this on a virtual
private server. This is a server that
runs in the cloud that's hosted and
managed by a company. It's typically a
part of a large data center that is
literally more secure than an airport.
It's going to have things like regular
backups, disaster recovery, you know,
fire protection, natural disaster
protection, and theft protection that
you don't have when you run Open Claw on
something like a Mac Mini or your own
computer. Now, yes, sure, you can do
that, but generally speaking, a VPS is
just the best option. It's also very
cheap and very easy and quick to set up.
And as soon as you don't want it
anymore, you can just turn it off rather
than investing, say, $1,000 in a local
hardware device. Okay, so anyways, that
is the kind of basic set of steps on
security. Just remember the more stuff
that you add to open claw, the more
insecure that it becomes and you only
want to connect it to things that you
would be okay, you know, at some point
in time got hacked or got lost or got
insecure. If you treat it like that,
you're going to be fine and you won't
have any security issues. So, like I
mentioned, I will run through a quick
install of Open Claw in case you haven't
already done this. Now, the fastest and
easiest way to get this up and running
is to use Hostinger's one-click install
for their virtual private server KVM2
plan. Now, I'm fortunate enough to
partner with Hostinger, so I also have a
discount code, which I'll show you in 1
second. But you can see that it's as low
as $7 per month. And the advantage here
is you can literally just press three or
four buttons. Then, Open Claw is already
set up and running, and you don't need
to do any manual configuration yourself.
Now, this is still secure. There's no
issue with doing this. But if you want
the extra secure version of setup, then
again, you can watch the video that I'll
put on screen that walks through some
more advanced steps to really kind of go
overkill and ensure that no one's going
to access your virtual private ser. So
in my case, what I'm going to do for
this video is just press on deploy. When
I do that, it's going to bring me to the
checkout page where I can select my
plan. So what I'm going to do is just go
with one month. But if you did go with
12 months or 24 months, then you can
access my coupon code, which is tech
with Tim, which will give you an
additional 10% off. Just keep that in
mind in case you want to use it. So, I'm
going to go 1 month. I'm also just going
to uncheck ready to use with AI. Now,
you can use their credits there if you
don't want to worry about API keys, but
in my case, I am going to manually enter
my own anthropic or OpenAI API key,
which I will show you in a second. So,
from here, choose your server location
and then press on continue and proceed
with the billing. and then it will set
up the virtual private server and bring
you to the screen you will see next. All
right, so you should be brought to a
page that looks like this where you're
now going to need to enter at least one
of these four API keys that you see. So
I'm going to go with Enthropic, but you
can use anything that you want and you
can change this later, but you just need
to start with one of them. Otherwise,
the setup's going to be a little bit
more complex. So what I'm going to do is
just go to Enthropic console. Again, you
can find the links directly from this
page here on where to go to find the
keys. And I'm just going to make a new
key. Now I'm just going to call this
hostinger claude. That's fine. And let's
copy the key. And I will delete this
after. Okay. So I'm just going to paste
that inside of here. And then press on
deploy. Now this will take a second.
Once it's done, what's going to happen
is it will actually spin up a docker
container on this server which will be
running our open claw process server,
whatever you want to call it. From
there, we actually won't need to go
directly into the terminal to manage
anything there unless we want to. What
we can do is just directly access the
open claw gateway and from the gateway
we can start configuring everything that
we need. The advantage of using
something like open claw is that rather
than you having to go in and manually
modify a file or change a config, you
can just tell the model to do that for
you. So for example, when we want to set
up telegram, we don't actually need to
go in and run any commands on the
server. We can just tell it set up
telegram and connect to this bot token,
right? And it will just be able to do
that for us. Okay, so the VPS is now
spun up and you'll know that everything
is functioning when you see this Docker
container configured here in the Docker
manager. Now, Docker is effectively a
way for us to run an isolated container
on the virtual private server that has
its own dependencies, its own
management, its own files, whatever, so
that if something were to go wrong with
this Docker container, it wouldn't cause
an issue with our whole virtual private
server. Now, if you're a beginner and
you have no idea what that means, don't
worry too much about it. just
effectively it's running through Docker.
So that does change the way in which
you're going to interact with this if
you want to SSH into the server which I
will show you in a second. Anyways, what
we can do is we can first just click
right into this. So we can press on
manage. And when we press on manage,
we're going to be able to see the
environment. And if we press on the
environment, we can see all of our
environment variables. The first thing
we're going to do is we're just going to
copy the open claw gateway token. Okay.
and we're going to press this button
right here, which is going to link us to
the OpenClaw gateway interface. From
here, we can just paste our gateway
token. And then we can log in. And now
we're inside of Open Claw. It is set up.
It's configured. And we can just start
chatting with it. So from here, like
this is really all you need now to start
setting everything up. And you can just
talk to the model, you know, hello world
or something, right? And it should give
you a response. Now what I'm going to
suggest is that the first thing we do is
we add additional models or we change
the model from enthropic to something
else because you are going to get very
heavy rate limits are if you are using
the enthropic models and can be
extremely expensive. So I'll show you
how to do that in one second. But I
first want to just show you how you can
actually manually access the server if
you're looking to do that. And actually
we have a good learning moment here
already because I tried to type
something to the assistant and nothing
was working. So I'm kind of sitting here
going like why isn't that functioning?
And then I realized that I went to the
logs here. By the way, this is a super
useful thing that you should definitely
utilize if it's not working. Go to logs.
I just filtered by error uh or sorry,
yeah, error and fatal. And I noticed
that if I started reading through this,
it said no API key found. And then above
here, it said my credit balance is too
low to access the anthropic API. So what
I did is I'm just here on billing. And
what I added was a $10 um what do you
call it? Credit amount so that I can
actually start using the API. So
definitely make sure that you have
credits that you purchase some credits
in whatever platform you're using for
the LLM. And I also suggest that you set
your own limits. So it will show you the
default limits, but you set a monthly
limit. So something like $100, for
example, like I said, so you don't
accidentally use a ton because this can
get extremely expensive very fast. Also,
I would recommend adding a notification
so that you get emails when you spend a
certain amount so you know what's
actually going on. Okay. Anyways, let's
go back to chat and let's just type type
hey and make sure that this is going to
work. And that looks a little bit
better. Now we're getting the three
dots. So hopefully we're going to get a
response. And there we go. It gave us
the information. Okay. So what we're
going to do now before I start going
into all of the setup is I'm just going
to quickly show you how if you did want
to access this from the terminal, you
could do that. Now, first from the
hosting or um kind of manager here,
whatever you want to call this, you
know, platform console, you could press
the terminal button here and it will
just directly sign you into the server
and in the web here, you can start
typing commands and start actually
interacting with the server. Now, if you
don't want to do that, you can go to the
overview and you can use the SSH
command, which I'm going to assume
you're familiar with if you'd like to do
that. And you'll see here that this is
the command SSH root at and then the IP
address. And what you're going to have
to do is change the root password of the
server in order to be able to sign in
because you wouldn't have set it by
default. So you're going to change the
root password SSH sign in with the
account and then you will have the same
view as this. Now I will zoom in a
little bit and I'm going to show you
that if you wanted to for example access
open claw if you just type open claw
nothing's going to happen because this
is running inside of a docker container.
So what you're going to have to do if
you want to run terminal commands is
you're going to have to type docker ps.
You're gonna have to find this container
ID here. Okay. And copy it. So from
here, you're gonna have to just
rightclick and copy. And you're going to
type docker. And then this is going to
be run. Yeah, I think it's run or no,
docker exec. Sorry. Dash it. You're then
going to paste this ID. So let's paste
that there. I'm going to have to remove
all of these things that I don't need.
Okay. So remove that. And then I'm going
to type /bin slashbash. So this is how
you can actually execute the docker
container interactively. When you do
that, you're going to notice that it
will change this at symbol to be at the
docker container ID. And then from here
you can type openclaw. And if you do
that, it will run open claw and you will
be able to actually interact with it and
run any of the commands that you want.
Okay? So I'm not going to go through
doing anything in the terminal, but I'm
just showing you that that's how you
would do this. Again, you run docker ps.
You get the name here or the ID, sorry.
You then run docker exec-it for
interactive put the container ID and
then /bin/bash and you can start
interacting with it in the terminal.
Okay, cool. So we have this set up now
and like I was saying the first thing I
would suggest we do is actually change
the model that we're using or at least
configure the LLM so that we save a
bunch of money and we have the best
intelligence possible. Now Enthropic
does have the best models for open claw.
So for example the newest model that
just came out opus 4.6 six is the
current best model that we definitely
want to be using. However, we don't want
to use it all of the time because of the
rate limits. So, a lot of times it just
won't work because we've gone past our
rate limit, especially if you're on a
new account and it's very, very
expensive. So, the approach that I
recommend is that we run with Opus 4.6
six for usually the starting tasks and
any high-level complex you know kind of
planning tasks and then we have that
delegate to a cheaper less intelligent
model that can handle everything else.
Now, in my case, what I've been doing is
I've been connecting this to my OpenAI
subscription or my Chat GPT subscription
because this allows me to use my usage
or kind of quota from chat GPT that I'm
already paying in my case $200 per month
for, but even if you're paying $20 per
month for it, you can still access all
of that usage. And OpenAI has made that,
you know, available to do and not
against their terms of service. So, what
I would suggest here is that you connect
this to another model that is cheaper.
In my case, I'm going to show you
connecting it to the codeex model, which
is still quite good and has almost
unlimited usage when you are paying like
I am $200 per month. However, if you're
not paying for that, then I would
suggest at least connecting this to just
a cheaper model. For example, the Kimmy
models are pretty good uh or anything
that's going to be just again cheaper
than Opus. Because if you run Opus every
single day and you're doing a lot, you
can spend 100, 200, 300, $500 per day. I
know someone, one of my friends was
spending about $200 per day running this
purely with Opus, which is insanity. So,
first things first, let's tell it the
following. We're going to say, okay,
switch to use Opus 4.6 by default. All
right, so it should automatically switch
its model then over to do that and we'll
verify that that's working. Okay, so it
said that it's switched over now and
just restarted the gateway. By the way,
the way that I'm seeing all of this
information on the side is I have this
little brain thing enabled. So, if you
want to disable that, it will just show
you what it did. If you want to see the
full logs, you can view it here. And
again, you can go to the logs to see
everything that's happening, which is
always pretty useful. So, I'm going to
go back to chat and I'm just going to
quickly tell it to disable the rest of
the fallback models because if you have
a look here, it shows the models that
it's using is enthropic, right? It shows
which ones has access to and then it
shows the fallbacks are these. So, I'm
just going to tell it remove these
fallbacks. Okay. And we'll leave chatgbt
5.2, but remove the other two. So,
actually, we're going to do it like this
because I don't want it to accidentally
try to switch to one of these models
that doesn't exist. So, I'm going to hit
enter. Uh, and hopefully it will do
that. Okay. So, now I want to add
additional models. So, I'm going to say,
help me add the codeex model uh from my
open AI subscription. Same thing. Any
model you want to add, just tell it. It
can help you do that. And hopefully it
should run through the setup steps. It's
probably going to have me click a link
and then from that link, I will be able
to authorize and then kind of give it an
authentication token to add the model.
Now, once we have multiple models here,
what we're going to do is give it
instructions to switch between the
models based on what we wanted to do.
So, it says, what options do you want?
I'm going to say I need to connect via
OOTH to my OpenAI codeex plan. Give me
the link to do so. So, I know that
that's how we need to connect to it. So,
hopefully it should give me the link.
Uh, but I guess the way that I prompted
it before wasn't clear. So, anyways,
let's see what it does now. Okay. So,
you can see it's giving us a few options
here on how to connect this. And it
says, you know, option A is OpenAI API
key and option B is OpenAI codec
subscription. So, I'm going to say use
this and run the command.
Okay. And again, notice that I'm just
using the model directly to do this
rather than me going in the config and
modifying everything. And it's really a
matter of knowing what to ask for as
opposed to you having to manually go do
that. So, I'm just going to ask it.
Hopefully, it will run that command and
then we can connect our OpenAI model.
Okay. So, you can see it's given me this
URL. So, what I'm going to do is press
on that and then what I need to pass to
this afterwards is the localhost URL
redirect. So, I'm just going to sign in
and then give it that. Okay. So, I'm
going to press continue here and then
what's going to happen is it will
redirect me to this URL. So, let's give
it a second. I want to copy it and then
I'm just going to paste it in here and
hopefully it will configure that for me.
Again, if you want to do another model,
you just tell it the other model and it
will set it up. Now, while it's doing
this, what I want to do is I want to
tell this to actually write a command
for me that's going to allow me to
switch between the models and then have
it automatically do that as well. So,
I'm going to say make a command called
slash model that allows me to switch
between the opus
4.6 and codeex I don't know 5.3 or
something I think is what it is.
Whatever the best one is.
Okay. So now we'll cue that up. So after
this is done we'll run that command.
Okay. So it looks like it created that
command. So now if I run the command
/model, we should be able to switch. So
let's go /model and then codeex and see
if that command is going to work. Uh and
it says model set to codeex 5.2. Okay,
perfect. Looks like that is indeed
working. All right, so now we have the
two models. Again, what I want to do is
just quickly give it some instructions
to always default to opus, but then
anytime we're doing some kind of coding
task or something that doesn't require a
lot of intelligence or complexity to
switch over to the codeex model to save
money. So, let me write up a prompt and
tell it that and it should save that in
its preferences and configuration. I
want you to always use the Opus 4.6
model by default. But whenever an
instruction is provided to you, I want
you to determine whether or not you need
that level of intelligence or if you can
switch to a cheaper model like codeex
5.2. Codec should always be used for
coding tasks and anything that is lower
leverage or doesn't require a ton of
detailed steps or thinking. So always
use Opus to come up with the plan to
start the process, but then delegate
lower level tasks using sub aents to the
codeex model to ensure that we're saving
money and cost. Whenever you run a task,
start by telling me what model you're
using for running it. So tell me, hey,
we did codeex 5.2 for this, we did opus
for this, etc. So that I know that it's
running correctly. Save this preference
for the future. So it looks like that's
working. And what this would have done
here is create a rule. So now I can go
reference that rule to understand all
right I need to do this I need to switch
between the models. So what I'm going to
tell this now is I want to
set up telegram
tell me how to connect it. Okay now
while it does that I'm just going to
open up telegram on my computer and I
will start running you through the
steps. Okay now it says that we can just
run this command to connect telegram and
it says that we need to paste the uh bot
token when prompted. So I'm going to say
run the command for me and I will send
the token. And the general steps is that
we need to open telegram and chat with
the at@botfather. Type newbot and then
copy the token. So it's very easy. What
we're going to do is open telegram.
We're going to go into the search here.
We're going to find bot father and make
sure you find the one that has the check
mark. Okay. Then from here we're going
to type start and we're going to go
slash newbot.
All right. When we do that, it's going
to ask us for a name. So, just call this
Tim A. All right. And let's go Tim A12
3456_bot.
Just make sure it ends in underscorebot.
It's then going to give you a token.
Copy the token. And of course, don't
give that to anyone else. And then we're
going to wait for this to finish. And we
are going to send it the token so that
it is able to um what what do you call
it? Actually trigger this. Okay. So,
this is the token. We're going to paste
that here. Now, while that sets it up,
we are also just going to press this
link right here, which will bring us to
chat with our bot. So, we want to chat
with the bot that we just created. From
here, we're going to press on start. And
as soon as it's connected, we should get
some kind of message here saying, "Hey,
like we need to pair this or add some
setting." So, wait for the bot to
finish. And then what you can do is just
type any message here again. And it
should tell you something like, "Hey,
it's not paired. It's not connected."
And then we can run the pairing command.
All right. So, this works and I just
typed hi and you can see that it now
gives me this. So, I'm just going to
copy this code here and I'm going to say
I got this, you know, pair it whatever
and just paste the information in and
hopefully we'll be able to run the
pairing command and then we'll be
connected with Telegram. All right, so
it said the pairing was approved. What
I'm going to do now is just take type hi
and see if we get a response from the
bot and then from this point forward
we're able just directly to use
telegram. Okay, so it says we're using
Opus 4.6. Hey, Telegram is connected.
What do you want me to do next? Perfect.
So that is exactly what I was looking
for. So now rather than me having to
type out all of the prompts, I do want
the ability to actually just speak them.
So I'm going to tell it enable speech to
text so you can transcribe my audio
messages. Because by default, if I send
this an audio message, it's not going to
understand it. So I'm just going to tell
it, hey, you know, add that tool, add
that skill, and set yourself up. Now
while it does that I will just quickly
mention right that the thing that makes
this bot useful is skills. So if you
press on skills here in the uh what do
you call it claw dashboard or you know
gateway dashboard whatever you want to
call it you'll see there's this long
list of default kind of built-in skills
that you can install and configure. Now
skills usually contain some kind of
underlying software as well as a
markdown file that explains to the model
in this case open claw how to actually
use the skill. So go through here have a
look at some skills that are useful to
yourself and you can disable them or you
can install them. Sometimes again you
need some command, right? And I'll show
you installing some of them in a second.
But when we tell this, hey, we want to
be able to speak to you. What we're
effectively telling it to do is create a
new skill that will allow it to
transcribe audio messages. So, I'm going
to go here and it says we can enable
audio transcription, but you need to
pick a transcription provider. The
config schema supports
tools.mmedia.audio
uh deepgram openai. I'm going to say use
whatever the default is
that doesn't
okay say doesn't require a new key.
Perfect. And then that should enable
voice mode for us. Okay. So you can see
even though it was kind of lying to us
before and saying hey you know I need to
provide open AAI key whatever I just
told it no you don't need that because I
know it can do it by default and it said
we can now send an audio message. So
let's test this. Hey so I'm just sending
an audio message. Can you tell me what
this audio message says? Make sure that
you can transcribe it correctly and that
you can understand my accent. Just give
me back exactly what I said in the audio
message.
Okay. Perfect. and it should be able to
understand this now and transcribe it.
Let's see if that works. All right, so
this is being a little bit annoying
here. Let's just bring it back. And it's
telling me, hey, there's no model even
though it said it used the model and it
set it up. So I'm just going to tell it
install whisper locally to convert
speech to text. That should set up for
us and get it working. Again, I'm
showing you the process. This is what
happens when you're working with
OpenClaw. Sometimes stuff breaks and you
have to do a bit of problem solving.
Okay, so it said that it's installed
this now and it's just asking me if I
want better accuracy or for it to be
faster. So I'm just going to type bass
and I hope this is going to work. Hey,
I'm doing a test. I want to see if you
can transcribe this audio message. If
so, tell me exactly what it said. Okay,
and let's see what we get. Okay, so it
looks like the audio message I was
sending was blank because I was sending
it from my computer and I guess my mic
is already being used by OBS to record.
So I just sent one from my phone and
hopefully it's going to work now. Let's
see. Awesome. And finally, it looks like
it's working. We have voice mode
enabled. I can now send audio messages
for it to transcribe. All right. So, now
that Telegram is configured, what I want
to do is I want to start setting up some
different Telegram channels that we can
chat inside of that are going to allow
us to kind of segregate different things
that we're talking about. So, for
example, if I have the bot running as
like a virtual assistant, but then I
also have it running like an accounting
task or doing programming, I probably
don't want all of my messages in one
channel because that's going to be
pretty difficult to organize and to view
the history of. So, what we can do is we
can make a new group here in Telegram.
So, what I can do is go here, go new
group. I can call this, you know,
startup ideas or whatever the thing is
that I want to chat about with the bot.
So, let's go startup ideas, not
channels. And then let's add the bot by
just typing in their username. Okay. And
go ahead and press on create. So now
what I can do is I can start chatting
with the bot. But in order for this to
work, I do need to manage the group and
I need to give the bot permissions. So
I'm just going to right click on the bot
here and I'm going to go promote to
admin. And when I promote them to admin,
I am going to just make sure they have
the correct permissions and go save. And
now what I can do, wait one second. And
let me just look at this cuz it says it
has no access or has access to messages.
Okay, good. I'm going to just tag the
bot. So say at Tim Aello.
Okay. And hopefully it's going to read
something. So it reacted to that showing
us that it saw it. So that's a good
sign. Says, "Hey Tim, what's up?"
Perfect. So now I can chat with the bot
directly inside of this channel. And all
I need to do is give the bot
instructions to remember that it should
only talk about these ideas in this
particular channel. So, what I'm going
to do is I'm just going to do a voice
transcription here and tell you kind of
how I would instruct this. Hey, so I'm
going to start adding you to some group
chats where it's just you and me. The
name of the group chat or the name of
the group channel is the topic that I
want to discuss in that channel. Don't
talk about anything else and only reply
or send me messages in the appropriate
channels based on the name of them. If I
DM you directly, we can talk about
anything. But if I DM in a channel like
you know startup ideas or something we
only talk about startup ideas again
whatever the title of that uh what do
you call it channel is. Now I also want
you to reply to any message. So don't
just reply if I ping you reply to
anything in those channels. Make this a
rule and ensure that you remember this
going forward in the future. Uh you also
should be able to create groups with me.
I'll give you the permission to do that.
So, if we have a new thing to talk
about, make a new group with me and
start chatting with me there. I don't
know if that last part's going to work
because I actually haven't tried that
before, but I'm just going to send that
over to the bot. And I will go and
configure the bot further to hopefully
allow it to create new groups. Okay, so
we're replying to that. Now, I don't
know if this is actually going to be
able to create new groups cuz I don't
know if there's another setting we need
for that, but I'm going to say create a
new group called
accounting. And let's see if it's able
to do that. Okay, so it looks like it
can't make the uh groups for us. There's
probably a way that I can enable that,
but for now, we'll just leave it.
Anyways, point is we can make different
groups, right? We can pin those groups
and then we can just have kind of a more
organized way of chatting with the bot.
Now, I did try to send something in the
group and I did still need to ping the
bot. So, again, there's probably a way
to configure that, but for now, that's
fine. We can just ping the bot if we
wanted to reply. And actually, in the
future, we could add multiple of our
bots in the same group. That could be
interesting to see how that would go.
Okay, anyways, let's go back here and
let's now start talking about skills.
So, skills allow the bot to have some
capabilities that it can complete,
right? Or that it can do. Now, by
default, there's some skills that are
already added. And if we go to the uh
what do you call it? Gateway dashboard.
And you go to skills and you expand
this, you'll see there's a bunch of
default skills that are already
installed that you just need to enable
or add the dependencies for. For
example, voice calling, right? getting
the weather, playing a Spotify song, you
know, creating a skill is a skill that
exists, all of this kind of stuff. So, I
would suggest reading through here and
enabling any of the ones that you want
for sure, but I also would suggest
having a look at this place called
Clawhub. Now, Claw Hub has a list of
pre-built skills that you can use and
just build into your bot. However,
before you start just going and adding
all of these random skills, I would
suggest that you understand what a skill
is. And uh we're going to talk about
that now. So, a skill is effectively
just a markdown file. Now, I'm going to
show you that if I open up any one of
these skills, you'll see that the skill
is just in this skill.md file. MD stands
for markdown. And all the skill is is
just a bunch of formatted text that
explains what the bot should be able to
do. Now, the skill can also reference
files. So, you can see in this case, it
has like a scripts/stats.py
file, which is a Python file that it can
run to complete something. So that's all
a skill is. You can tell the bot to add
its own skill and it can just write it,
configure it, add it itself, or you can
bring in pre-built skills from a place
like Clawub. Again, I don't suggest just
randomly bringing them in. But I want to
show you how you can view all of the
skills that your bot has and start
actually viewing all of the different
files that essentially enable the bot to
do something. So to do that, you need to
open up some kind of code editor. Now, I
suggest that you open up cursor. You can
also open up Visual Studio Code or VS
Code. You can download it for free on
the internet. Just search VS Code or
cursor download. Okay. So, from here,
what we're going to do is hit control
shiftp or commandshiftp on our keyboard
and we're going to go add new SSH host.
This is how you open the command pallet
in VS Code or cursor. From here, we're
going to say SSH root at and then we're
just going to copy whatever we had here.
So, actually, we just copy this command.
And again, make sure we know what the
password is and hit enter. We can just
use the default SSH config. Then we're
going to go control shiftp again or
command shiftp and then connect to host
and we're just going to choose the host
that we added recently. Okay. Now once
we press that, it's going to open up a
new window. We're going to select our
operating system as Linux and we're
going to paste in our root password and
hit enter. From there, it should open up
a remote kind of terminal and you're now
inside of the server. So, what we can do
is we can actually go open folder and we
can find the folder that contains all of
the data for open claw. So, in order to
find this folder, we're going to go to
docker. We're going to go to openclaw
data and then openclaw like that. And
you can see there's a bunch of stuff
here. So, we're going to go ahead and
press on open. And then in the lefth
hand sidebar, let me just close my
agent. Uh, okay, it's asking me for the
password again. So that's fine. Let's
type the password. We should be able to
see this data. So you'll notice here if
you open up the sidebar to view the
files, right, you can do that with
controlB or commandB on your keyboard
that you'll see a bunch of information
showing up. Okay, so we have
credentials, we have cron, and then if
you go into workspace, we have all of
these different files, which is really
the configuration for the agent. Now,
right now, we don't see any skills in
here. The reason for that is that a lot
of the built-in skills are actually
stored in a different location because
they're already written. But if you were
to ask the bot to make its own skill, it
should show up here. So, let's actually
test that. Make a simple skill that says
hello world in five languages. And let's
just go five random languages. Okay. And
let's see actually if it can create
that. And then we're going to have to
refresh this and we'll be able to view
hopefully the new skill file. so I can
show you what it looks like before we
start enabling other ones. Okay, so it's
making the skill right now and you can
actually see that it's now created a new
folder called skills and then it has
hello world languages as a subfolder
which is the name of the skill and then
we have this skill.md
file that explains what the skill is
right name description and then all of
this. Now you'll notice that after I do
that I now will have a command and this
command should be hello world languages
uh or sorry /skill. So I can do /skill
and then I can do hello-world-languages
and it should trigger that skill to
execute. And you can see that it now
runs the skill. Right? So that's
effectively what a skill is. I just want
you to understand that before we start
adding a bunch of them. And now that we
can make our own custom skills, which is
very easy, right? You just ask it to do
something which is a repeatable task
that you want it to have written down.
Make sure you review what it writes
inside of here and customize it because
that's going to give you the best
results. Now, some skills that we
definitely want to enable that are uh
default skills are going to be the
following, and they have to do with Git
and GitHub. So, a lot of times you can
have your agent actually code its own
skills. So, it can write its own custom
Python files or scripts or whatever
websites. Uh, and that's quite useful.
So, what you're going to want to do
right away when setting up this agent is
first enable the coding agent. So, what
you can just simply do is you can copy
this and just tell the agent
enable this skill. Okay, so I'm just
going to say enable this skill and just
copy it and it's going to go and install
and configure it as needed. You're also
going to want to enable GitHub. And in
order to enable GitHub, I highly suggest
that you create your own GitHub account
specifically for the bot. So, I've
already done this. I've gone to
github.com. I've made my own bot or my
own GitHub account called Techwithim
Claudebot. And what we'll do is we'll
connect this GitHub account, so not our
GitHub account, a separate GitHub
account to the bot and then allow it to
write all of its code. Now, notice that
I actually have some code here already.
And the reason for this is I've
instructed my Clawbot on a different
instance for anytime it writes any code
to commit the code to GitHub,
automatically create a new git repo, and
store all of the code so that I always
have access to it. I can manage it, I
can make changes, I can pull it down.
You get the idea. Okay, so we have like
you know a YouTube OS dashboard whatever
all of this stuff and you can see any of
the code that's been written. So anyways
let's go back to Telegram and you can
see it says the coding agent skill is
already present by missing the
requirements. I'm going to say use
codeex. Okay, and hopefully it's going
to set that up. Okay, so it looks like
codeex was installed. So if we go back
here now we should be able to see that
the coding agent we might just have to
refresh here hopefully is no longer
being blocked. So let's go here and you
can see coding agent is good. We can
also see we have workspace skills. And
these are ones that it created itself.
Cool. So the other one that we want is
GitHub. So I'm just going to press the
button to install the GitHub CLI here.
And then what I'm going to do is go down
to uh what is it? My agent and tell it
to configure GitHub and you know tell me
what I need to do to essentially have my
GitHub account signed in. So I'm going
to say configure git/github
and tell me how to connect my account.
Okay. So it's given me a few steps here.
It says I need to set my Git identity
and then authenticate with the GitHub
CLI. So I'm going to tell it my name as
well as my email and then to
authenticate for me. Okay, cool. So what
I'm going to do is just go to this link
that it's giving me and then type in
this code. So let's do that and see if
we can authenticate. Okay, so I just did
that. So I just told it, hey, I did
that. You know, maybe it's going to test
this now and let's see if GitHub is
working. And then again we can give this
some instructions to save to always
write and save any code um you know to
GitHub effectively. All right so looks
like GitHub is configured. Now the next
thing that I want to do is go over
memory and preferences just so you
understand kind of how this works in uh
what do you call it open claw. So
something you need to understand is that
anytime open claw spins up again and you
have a new session it effectively
forgets whatever you were talking about
before. Now the only way for it to
remember something and to keep improving
is for it to actually modify the files
that it has in its file system and you
can think of the files like its memory.
Now there are multiple files you're
going to see here related specifically
to memory. So first is memory MD. Now
this is persistent long-term memory that
it will always read before it's doing
some kind of action. So if there's
something that you always want it to
remember, you put it inside of this file
right here, or you tell the model to put
it there. The other memory is daily
memory, which is set up by default. And
if you go here into the workspace,
you'll see that it has memories for each
day. Okay, so it explains what's
happening, what's going on in that day,
what it needs to do, blah blah blah.
Now, by default, Open Claw, I believe,
is only going to read two days of
previous memory. So if you tell it to do
something, you know, yeah, like one week
ago, it's not going to remember that
unless it's in the persistent memory. So
I'm quickly going to show you two
settings that you can enable that will
allow OpenClaw to have longer memory and
to save things better. Now what they
are, I'm just going to copy them in
here. Okay, so I'm just pasting them,
but essentially they are the following.
It is compaction.mmemory flush.enabled
memory search.experimental session
memory to true. Now I'm going to say
enable these.
Okay.
And explain what they do. So, I found
that when I enable these two settings, I
get a better result in terms of the
memory. We're just going to wait for
Open Claw to explain it because it will
give us a better explanation probably
than what I can come off come up with at
the top of my head. But you can see it's
enabled them and it says when the
conversation gets too long, OpenClaw
will trigger a memory flush prompt. So,
important context gets written to memory
files before compaction drops history.
And then this one lets memory search
include recent session transcripts, not
just files in memory, improving recall
of what just happened. Okay, so that
explains what it's doing, but
effectively what would happen is if
you're talking for a really long time
with OpenClaw, it's automatically going
to compact what you were talking about.
Now, before we have it compact that, we
wanted to save that into the memory so
that we don't lose any of that
information. So that's what it's doing.
And then same thing with the session
memory. Rather than just reading the
information that's in the memory files,
we want it to read what was recently in
session, right? So what we talked about
that maybe wasn't automat. Okay, so
hopefully that makes a little bit of
sense. Now, another thing that we're
going to do, and I'm just pulling this
up from the OpenCloud docs to make the
memory even better, cuz this is really
the crux of how this gets good, is we're
going to enable vector memory search
using a QMD backend, which is
significantly better at searching
through the memory than the default
backend service. You don't really have
to understand this, but effectively in
the background, OpenClaw will search
through the memory files using some type
of vectorzed search. Now, we can change
how we're doing that search so that it's
just going to be a lot more effective
and give us better results. So, what I'm
going to do is I'm just going to copy
all of this content from the docs. I'll
leave this link in the description. If I
forget, someone leave a comment and I
will add it. And I'm going to say enable
this. Okay. And just tell it to enable
it. And it should go through the
prerequisites here and install this for
us. So, I'm going to tell yes, install
the prerequisites. Okay. So, it looks
like QMD was added now. So, our memory
should be a little bit more optimized,
just working better in the long term.
Now, I'm going to go through a bunch of
other things that we can set up and
configure, but keep in mind that, you
know, Open Claw is for you, right? You
guys customize it. And what I'm trying
to do is give you a solid base that you
can then extend. So, while it's not
super detailed in terms of every little
individual skill we add, the idea is I
want you to understand what these things
are so you know what's going on in the
back end when you do make changes by
yourself. So, now I want to talk a
little bit about some of the other files
that are here. And specifically I want
to talk about this identity file as well
as this user file. Now the user file is
the information about you okay or in
this case about your human because it's
like in reference to the clawbot and the
identity file is the information about
the clawbot itself. So rather than you
just filling this file in manual
yourself, what I would suggest you do is
actually go to open claw and ask it to
give you an interview and ask you
questions on what you want. So, I'm
going to give you an example prompt that
you could pass so it can modify these
files. Say, "Hey, I need you to update
the identity file as well as the user.md
file with important long-term
information. Ask me a bunch of
questions. Give me an interview. Give me
a quiz on all of the data you need from
me in order to create those files and
optimize them as much as possible. In
the future, if something changes,
continue to update these files and ask
me more information as we chat through
this conversation and just in general in
the future so that you always have the
most recent up-to-date data and you're
constantly updating these files. That's
maybe a little bit overkill, but point
is, you know, you can just say, "Hey,
give me an interview to update these
files." And that's a lot easier way to
go about doing it than you having to
manually kind of work through and, you
know, fill in all of this data. Okay, so
you can see it's giving me a bunch of
stuff, right? I'm not going to actually
go and fill this in uh because I don't
care too much about it. I'll just give
it a quick answer so we can see the
update. Say, "My name is Tim. You can
call me Master Tim. My pronouns are the
normal ones, he, him. Uh my time zone is
Asia, Dubai. I usually work from 10:00
a.m. to 1:00 in the morning. My goal is
to grow my YouTube channel." Okay,
whatever. Right. And then go ahead and
hit enter. And hopefully it is going to
update the file now. And again, if you
want to see the updates, you can
refresh. Um, what is it? This. And it
should show the new version of the file,
assuming that it updates it. Okay. So,
you can see it's updated the file now
and it kind of has that information.
Then for the identity, we're not really
getting like the correct stuff. Um, but
you you get the idea. Okay. So, we
could, you know, adjust that later in
the future. Okay. So, that kind of
covers that. Now, the other files that
are useful is going to be the soul as
well as tools and heartbeat. So the soul
is kind of some more instructions in
terms of how the bot should operate, the
way it should talk to you, you know,
core truths, things that it believes,
right? Like at the soul of the agent,
kind of at the heart of it, I guess you
could say. So if you want to modify
this, you can, but generally the default
one is pretty good. And it says, you
know, each session you wake up fresh.
These files are your memory. Read them,
update them, etc. And then it goes
through boundaries, you know, private
things stay private. Here's your vibe,
all of that kind of stuff. So you can
adjust the soul based on what you want.
If you want something rude, if you want
something happy, if you want something
funny, you know, that's where you would
put it inside of here. Now, we also have
tools. Tools are different things that
can be used by things like skills. So,
for example, you have an SSH host, a
preferred, you know, voice, speaker,
rooms names, device nicknames, all that
kind of stuff. It can put that directly
inside of this file. I don't really use
tools too much, but you know, you can
modify this file if needed. Awesome. And
then the last one is going to be the
heartbeat file. Now, the heartbeat file
is super interesting because what you
can do is you can have the Claudebot
triggered to wake up effectively every
set number of minutes. You can have it
every 5 minutes, every 30 minutes, every
hour. And when it wakes up, what it's
going to do is it's going to read this
heartbeat file. Now, inside of this
file, you can direct it to do something
continuously. So, something that's
common to do is to continually improve
itself. So what we can do is we can say
update your heartbeat file such that
anytime you wake up you review any of
the mistakes that you've made previously
and start making improvements and fixing
those mistakes. When you do this make
sure you run multiple sub aents and
paralyze the tasks so we can do multiple
things at the same time. Okay. So I
actually just introduced another concept
to you as well here called sub aents. So
when you're running this clawbot, you
know, right now we're in this kind of
one session where I'm asking it to do
something, waiting for the response. You
can do that, right? Or you can actually
tell it to run multiple sub aents. And
when it runs sub agents, what that will
do is it will run a background agent,
which is another instance of in this
case opus or codeex or whatever that's
going to go and achieve some kind of
task. So I can say, hey, spin up 10 sub
aents and go work on different parts of
this task al together and then
collaborate once you're finished. And it
will just automatically make these
different sub aents and you can see them
inside of your clawed gateway. So if you
go to sessions, for example, you'll be
able to see the different sessions that
are running as well as the different uh
what do you call it? Sub aents that are
being triggered by those. Okay, so
there's a bunch of stuff. You can
effectively just see everything that's
going on inside of the gateway. Uh but
that is what you should be aware of.
Okay. Now you can see inside of the
heartbeat file it says on every
heartbeat review recent mistakes issues
and proposed fixes when doing this
review spawn multiple sub aents and run
the tasks in parallel. Right? So now
anytime it wakes up and has a heartbeat
it will do this. Heartbeats are not
going to do like super long running
operations. Typically it's usually for
kind of short repetitive things that you
want to do all of the time. For example,
check my email on every heartbeat.
Right? That's something that makes sense
to put inside of here. Okay. So, let's
go back. And one thing to note is that
if you go to the config here, I believe
it's in the configuration. It might not
be directly here. Uh, okay. Regardless,
we'll get out of this. You can tell it
how frequently you want the heart to
beat. So, I'm going to say what is,
let's just do it like this, the
frequency of your heartbeat. And it's
going to tell us, I believe 30 minutes
is the default. Let's see. Okay. So,
good job. I checked that because it
looks like it's actually off. So, I'm
going to tell it turn on the heartbeat
and enable it every 30 minutes. Okay.
So, anyways, good job. We we figured
that out because I forgot that it was
off by default. And this is the thing,
right? If you don't know something, just
ask the agent like I'm asking it. But
generally, these are kind of the best
practices for the setup. So, now it's
kind of modified the config. And you can
see that it's going to heartbeat every
30 minutes now. And then every 30
minutes, we will have that task that's
inside of that file kind of, you know,
happen, right? Okay. So, that's that.
The next thing I want to quickly go over
is crons. So I don't think that's inside
of here, but it should be in its own
folder. Yes, it's own folder. Crons
essentially a cron is a task that can
run at a set time at a set frequency. So
for example, if you wanted to be
reminded of something at 9:00 a.m. That
is a cron where at 9:00 a.m. this task
will run that will remind you of
something. And you can see the cron jobs
here inside of the uh what do you call
it here? The open clog gateway. And you
can manually create your own one by
going through this or you can just tell
the agent to set up a cron. So I'm going
to say in five minutes remind me that I
need to finish recording this video
whatever right and then what will happen
is it should automatically create the
cron for us in the gateway and we should
be able to see the job. So in my own
personal clawbot I have like four or
five crons where every day at like 9:00
a.m. I want you to review the stuff I
did yesterday. give me an update every,
you know, three times a day, whatever. I
want you to do XYZ. So, if you want to
run at a certain time, like remind me to
go to the gym, remind me to eat my
breakfast, you know, that's where a cron
comes in in handy. Or if you want a task
like back up my database or something,
and you want that to run every day at a
certain time, you would make that a
cron. You don't need to necessarily tell
it to make a cron, but just understand
that's what it is. And you can see I now
have this cron. This is a one-off cron
that's scheduled to run in 4 minutes.
And then once it does, I will be able to
see the history. Okay. Now, generally
speaking, there's obviously a lot more
stuff I can go through here in terms of
setting this up, but I don't know if
that's going to be particularly useful,
especially because everybody has their
own unique thing that they want this to
do. I think generally understanding what
I explained here is a very good start.
So, you know what it is you need to
modify, how the thing actually works,
how you can get value out of it, right?
Things like setting up the multiple
group chats, using the different models,
right? All of that stuff is quite useful
and that's kind of what I meant to show
you. So, I will definitely do some
follow-up videos showing some more
advanced use cases of the clawbot or
openclaw, whatever in the future. For
now, though, this is where I will leave
it. And please leave a comment down
below if you want more instructions on a
particular area so I can go more in
depth with that and kind of explain it
in a way that's going to be valuable to
you guys. Anyways, with that said, I
will wrap up the video here. If you
enjoyed, make sure leave a like,
subscribe, and I will see you in the
next one.