静看光阴荏苒
不管不顾不问不说也不念

OpenMausBot:开源的Grok Bot替代方案

OpenMausBot是一个开源的Grok Bot替代方案:一个受Grok Bot启发而开发的独立项目,同时也是Meta Muse、OpenAI dots的开源替代方案。它也被称为MausBot;曾用名OpenGrokBot。与xAI、Meta、OpenAI或Manus无任何关联。

侧边栏中的每个机器人都是一个真正的Agent:底层运行的是本地的Claude或Codex。它们拥有各自的个性、模型、云端计算机以及关联的应用程序。像与联系人交流一样与它们互动。观察它们的运作。批准重要的事项。

本文记录在独立服务器上部署OpenMausBot并让每个机器人拥有一台“个人电脑”的方法。

创建一个专用用户:

sudo useradd --create-home --shell /bin/bash maus

安装podman,后续每个机器人拥有的“个人电脑”就是通过podman创建出来的:

sudo apt update
sudo apt install podman

安装mise:

sudo apt install -y extrepo
sudo extrepo enable mise
sudo apt update
sudo apt install -y mise

激活mise:

echo 'eval "$(mise activate bash)"' >> ~/.bashrc
source ~/.bashrc

为该用户启用后台运行systemd服务的能力,后续创建属于该用户的systemd服务:

sudo loginctl enable-linger maus

这里有个问题,如果用sudo切到这个用户,启用systemd用户服务的时候会报错:

Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined

最佳的做法是改用machinectl shell切换到该用户,machinectl能够建立完整的新登录会话,通常会正确设置XDG_RUNTIME_DIR等环境。如果机器找不到machinectl命令需要安装下面这个软件包:

sudo apt install -y systemd-container

然后切换到maus用户,切换的时候需要输入当前用户的密码:

machinectl shell maus@.host

使用mise安装并管理Node.js环境:

mise use -g --pin node@24

这里用mise安装的Node.js环境不影响原来用户的环境,每个用户的环境都是独立且隔离的。每个用户都需要激活mise,不要认为刚才激活过了就不用激活了:

echo 'eval "$(mise activate bash)"' >> ~/.bashrc
source ~/.bashrc

否则你在终端使用的时候会找不到刚才安装的npm和node命令,当然不激活也可以通过mise exec这种方式使用,但太麻烦了,exec一般只用在systemd配置。

安装openmausbot和codex:

npm install --global --prefix "$HOME/.local" openmausbot@latest
npm install --global --prefix "$HOME/.local" @openai/codex@latest

这里安装的codex也是独立的,即便你原来的用户已经安装codex了,这里安装的codex也不影响之前的。个人是建议专门为openmausbot安装一个codex,不要和之前的混用。

--prefix是可选的,但建议使用。如果不配置会使用npm当前的全局安装前缀。通过mise管理Node.js,它通常会跟随对应的Node.js版本安装目录,可以查看实际值:

npm prefix -g

一般输出的内容类似:

/home/maus/.local/share/mise/installs/node/24.22.2

使用这个参数的好处是更新或切换mise的Node.js版本后,应用安装路径仍然固定。有些Linux系统没有将这个路径加入PATH,安装后找不到openmausbot和codex的话需要自己添加一下:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

确保两个命令都能执行且有输出:

openmausbot --help
codex --version

创建systemd用户服务,准备目录:

mkdir -p ~/.config/systemd/user

创建配置文件:

nano ~/.config/systemd/user/openmausbot.service

写入如下内容:

[Unit]
Description=OpenMausBot server
After=network-online.target

[Service]
WorkingDirectory=/home/maus
Environment=HOME=/home/maus
ExecStart=/usr/bin/mise exec -- /home/maus/.local/bin/openmausbot serve --port 8799 --public-url https://maus.example.com --no-pair
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

启动并设置开机自启:

systemctl --user enable --now openmausbot

使用如下命令获取登录令牌,有效期5分钟:

openmausbot pair --label "Windows Chrome"

[可选]配置Nginx反向代理,使用exit命令退出当前的maus用户,安装Nginx:

sudo apt install nginx python3-certbot-nginx

新建站点配置文件:

sudo nano /etc/nginx/sites-available/openmausbot

写入如下内容:

map $http_upgrade $omb_connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    server_name maus.example.com;

    gzip off;
    client_max_body_size 0;

    proxy_http_version 1.1;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $omb_connection_upgrade;

    proxy_buffering off;
    proxy_cache off;
    proxy_read_timeout 3600s;
    proxy_send_timeout 3600s;

    location /hooks/ {
        proxy_pass http://127.0.0.1:8800;
    }

    location / {
        proxy_pass http://127.0.0.1:8799;
    }
}

检查配置、启用站点、签发证书:

sudo nginx -t
sudo ln -s /etc/nginx/sites-available/openmausbot /etc/nginx/sites-enabled/openmausbot
sudo certbot --nginx

配置机器人的“私人电脑”,在Web UI按照步骤操作就行:

然后选择这里的私有桌面:

随便测试一下:

目前OpenMausBot支持三种方式让机器人拥有自己的电脑:一种是本文介绍的,通过podman创建的容器。还有一种是直接让机器人去操控你的宿主机或者其它VPS,我不太推荐这种方式,因为风险不可控,所以本文没有介绍这种方式,如果你想用这种方式,可以参考官方的文档配置。最后一种就是花钱买他们的那个Boat云服务。

赞(0)
未经允许不得转载:荒岛 » OpenMausBot:开源的Grok Bot替代方案
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

分享创造快乐

广告合作资源投稿