找回密码
 立即注册
首页 业界区 业界 Moltbot的安装踩坑与初体验

Moltbot的安装踩坑与初体验

别萧玉 3 天前
本文介绍了安装和配置moltbot时踩过的一些坑,并提供了Moltbot接入百炼API的方法和使用飞书与Moltbot交互的方法
安装与配置

安装整体还是比较简单的。首先安装一个node.js环境,然后执行npm i -g moltbot@beta就装好了。接着就是在终端中执行moltbot onboard命令,就会启动moltbot的配置向导。如果你刚好能看懂向导中的英文,整个配置流程不难。
踩坑

npm i -g moltbot@latest后显示安装成功,但运行moltbot命令失败

解决

你需要通过npm i -g moltbot@beta重新安装beta版的moltbot。
我的排障历程

我排障的时候,走了不少弯路。因为我在clawdbot更名成moltbot前一天安装的clawdbot,然后我在使用clawdbot的时候碰到了其他问题,所以选择升级clawdbot。但是我执行升级后,我的clawdbot并没有更名成moltbot,反而是当我在命令行中输入moltbot时,提示command not found。
最后,我恼羞成怒,卸载clawdbot,然后重新安装moltbot。但是,这下clawdbot和moltbot都没了。这时我才意识到不对。在GitHub的Issue里翻了很久,终于找到了原因
原因

据Issue #3275反馈,npm中的moltbot包并不是官方发布的moltbot,而是另外一个包。初步看下来像是某人传的一个空包用于占位。

  • moltbot@latest(默认安装版本)指向一个 283 字节的占位符包,由非官方用户 consistent_lee 上传
  • 真正的项目代码位于 moltbot@beta(版本 2026.1.27-beta.1),大小 41MB,由官方维护者 steipete 上传
  • 项目 README 仍指导用户执行 npm install -g moltbot@latest,导致用户实际安装的是空包而非真实软件
  • 此前相关 issue (#2775) 已被关闭并声称“已控制 npm 包”,但 @latest 标签仍未修正
  • 官方已拥有包所有权,但未通过发布新版本更新 @latest 标签
  • 存在潜在安全风险(用户无法确认 0.1.0 是否仅为占位符或含恶意代码)
当前安全安装方式:npm install -g moltbot@beta
配置模型为openrouter/google/gemini-2.0-flash-exp:free后无回复

本来想白嫖试试moltbot到底表现咋样,但是我配成了官方列表中可能是唯一一个支持免费模型供应商openrouter的免费模型gemini-2.0-flash-exp:free后,发送消息给远端,模型并无回复。moltbot doctor moltbot status 按烂之际,又在GitHub Issue中找到了原因。
原因

注意到Issue #2963同为发送消息后无回复,官方回复如下,目前issue已关闭:
Tried to setup Kimi 2.5 model via OpenRouter provider. Getting "not whitelisted" even config is valid.
试试 OpenRouter/Kimi 2.5吧。即使配置有效,也收到“未列入白名单”的错误
实话说这句话我没看懂,不然我也不会贴英文原文了,但是原因肯定是moltbot对openrouter的支持不完全或有些其他的问题导致的。那就换个提供商。
让moltbot使用百炼大模型API

既然openrouter中免费的gemini-2.0无法使用,那么是否可以使用阿里百炼的API呢?新用户也赠送了很多免费的token,用来体验这玩意应该足够了吧。
获取百炼大模型API密钥

百炼大模型控制台,复制API_KEY。
我是Mac用户,默认的bash为zsh,所以,在终端中执行:
  1. echo "export DASHSCOPE_API_KEY='刚才复制的API_KEY'" >> ~/.zshrc
  2. source ~/.zshrc
  3. echo $DASHSCOPE_API_KEY  # 若配置成功,则应输出刚才复制的API Key
复制代码
如果是Linux用户,执行:
  1. echo "export DASHSCOPE_API_KEY='刚才复制的API_KEY'" >> ~/.bash_profile
  2. source ~/.bash_profile
  3. echo $DASHSCOPE_API_KEY  # 若配置成功,则应输出刚才复制的API Key
复制代码
如果是Windows用户,执行:
  1. echo "export DASHSCOPE_API_KEY='刚才复制的API_KEY'" >> ~/AppData/Roaming/Microsoft/Windows/Start\ Menu/Programs/PowerShell/Microsoft\ PowerShell/Microsoft\ PowerShell_profile.ps1
  2. source ~/.powershell_profile.ps1
  3. echo $DASHSCOPE_API_KEY  # 若配置成功,则应输出刚才复制的API Key
复制代码
(应该会在每次powershell启动时加载进环境变量吧?如果不行,后面在配置~/.moltbot/moltbot.json时自行将${DASHSCOPE_API_KEY}换成复制的API_KEY就好了)
修改配置文件

在这里,需要修改~/.moltbot/moltbot.json文件。首先,删除~/.moltbot/moltbot.json文件中的auth配置,因为以下配置指向了openrouter的API,而不是阿里百炼的API。也就是说,下面这段直接删掉:
  1.   "auth": {
  2.     "profiles": {
  3.       "openrouter:default": {
  4.         "provider": "openrouter",
  5.         "mode": "api_key"
  6.       }
  7.     }
  8.   },
复制代码
第二步,添加models.providers配置。在models配置中添加下面这段定义百炼API接口的配置。这里新加了百炼的provider,配置了相应的baseUrl、api格式和models信息,并指定apiKey 为刚才在命令行里设置的${DASHSCOPE_API_KEY}。models.providers.bailian.models信息中定义了qwen3-max和qwen3-plus的相关配置。
  1.   "models": {
  2.     "mode": "merge",
  3.     "providers": {
  4.       "bailian": {
  5.         "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  6.         "apiKey": "${DASHSCOPE_API_KEY}",
  7.         "api": "openai-completions",
  8.         "models": [
  9.           {
  10.             "id": "qwen3-max-2026-01-23",
  11.             "name": "通义千问 Max Thinking 版",
  12.             "reasoning": false,
  13.             "input": [
  14.               "text"
  15.             ],
  16.             "cost": {
  17.               "input": 0.0025,
  18.               "output": 0.01,
  19.               "cacheRead": 0,
  20.               "cacheWrite": 0
  21.             },
  22.             "contextWindow": 262144,
  23.             "maxTokens": 65536
  24.           },
  25.           {
  26.             "id": "qwen-plus",
  27.             "name": "通义千问 Plus",
  28.             "reasoning": false,
  29.             "input": [
  30.               "text"
  31.             ],
  32.             "cost": {
  33.               "input": 0.008,
  34.               "output": 0.008,
  35.               "cacheRead": 0,
  36.               "cacheWrite": 0
  37.             },
  38.             "contextWindow": 1029000,
  39.             "maxTokens": 32000
  40.           }
  41.         ]
  42.       }
  43.     }
  44.   },
复制代码
第三步,添加agents.defaults.models配置。
  1.   "agents": {
  2.     "defaults": {
  3.       "models": {
  4.         "bailian/qwen3-max-2026-01-23": {
  5.           "alias": "通义千问 Max Thinking 版"
  6.         },
  7.         "bailian/qwen-plus": {
  8.           "alias": "通义千问 Plus"
  9.         }
  10.       },
复制代码
第四步,修改agents.default.model.primary配置。因为先前已经配了百炼的API和models,所以这里只需要修改agents.default.model.primary配置为先前定义好的信息就行。
如果想配qwen3-max,就将值修改为bailian/qwen3-max-2026-01-23:
  1.   "agents": {
  2.     "defaults": {
  3.       "model": {
  4.         "primary": "bailian/qwen3-max-2026-01-23"
  5.       },
复制代码
如果想配qwen3-plus,就将值修改为bailian/qwen3-plus-2026-01-23:
  1.   "agents": {
  2.     "defaults": {
  3.       "model": {
  4.         "primary": "bailian/qwen3-max-2026-01-23"
  5.       },
复制代码
如果你没看懂到底要改些什么,可以点此展开,看看我改之前和改之后都有哪些变化修改前,我的moltbot.json文件是:
  1. {  "meta": {    "lastTouchedVersion": "2026.1.27-beta.1",    "lastTouchedAt": "2026-01-28T13:56:43.490Z"  },  "wizard": {    "lastRunAt": "2026-01-28T13:56:43.489Z",    "lastRunVersion": "2026.1.27-beta.1",    "lastRunCommand": "doctor",    "lastRunMode": "local"  },  "auth": {
  2.     "profiles": {
  3.       "openrouter:default": {
  4.         "provider": "openrouter",
  5.         "mode": "api_key"
  6.       }
  7.     }
  8.   },  "agents": {    "defaults": {      "model": {        "primary": "openrouter/google/gemini-2.0-flash-exp:free"      },      "models": {        "openrouter/auto": {          "alias": "OpenRouter"        },        "openrouter/google/gemini-2.0-flash-exp:free": {}      },      "workspace": "~/clawd",      "compaction": {        "mode": "safeguard"      },      "maxConcurrent": 4,      "subagents": {        "maxConcurrent": 8      }    }  },  "messages": {    "ackReactionScope": "group-mentions"  },  "commands": {    "native": "auto",    "nativeSkills": "auto"  },  "hooks": {    "internal": {      "enabled": true,      "entries": {        "boot-md": {          "enabled": true        },        "command-logger": {          "enabled": true        },        "session-memory": {          "enabled": true        }      }    }  },  "gateway": {    "port": 18789,    "mode": "local",    "bind": "loopback",    "auth": {      "mode": "token",      "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"    },    "tailscale": {      "mode": "off",      "resetOnExit": false    },    "http": {      "endpoints": {        "responses": {          "enabled": true        }      }    }  },  "skills": {    "install": {      "nodeManager": "npm"    }  }}
复制代码
修改后,我的moltbot.json文件是:
  1. {  "meta": {    "lastTouchedVersion": "2026.1.27-beta.1",    "lastTouchedAt": "2026-01-28T13:56:43.490Z"  },  "wizard": {    "lastRunAt": "2026-01-28T13:56:43.489Z",    "lastRunVersion": "2026.1.27-beta.1",    "lastRunCommand": "doctor",    "lastRunMode": "local"  },  "agents": {
  2.     "defaults": {
  3.       "model": {
  4.         "primary": "bailian/qwen3-max-2026-01-23"
  5.       },      "models": {        "bailian/qwen3-max-2026-01-23": {          "alias": "通义千问 Max Thinking 版"        },        "bailian/qwen-plus": {          "alias": "通义千问 Plus"        }      },      "workspace": "~/clawd",      "compaction": {        "mode": "safeguard"      },      "maxConcurrent": 4,      "subagents": {        "maxConcurrent": 8      }    }  },  "models": {
  6.     "mode": "merge",
  7.     "providers": {
  8.       "bailian": {
  9.         "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  10.         "apiKey": "${DASHSCOPE_API_KEY}",
  11.         "api": "openai-completions",
  12.         "models": [
  13.           {
  14.             "id": "qwen3-max-2026-01-23",
  15.             "name": "通义千问 Max Thinking 版",
  16.             "reasoning": false,
  17.             "input": [
  18.               "text"
  19.             ],
  20.             "cost": {
  21.               "input": 0.0025,
  22.               "output": 0.01,
  23.               "cacheRead": 0,
  24.               "cacheWrite": 0
  25.             },
  26.             "contextWindow": 262144,
  27.             "maxTokens": 65536
  28.           },
  29.           {
  30.             "id": "qwen-plus",
  31.             "name": "通义千问 Plus",
  32.             "reasoning": false,
  33.             "input": [
  34.               "text"
  35.             ],
  36.             "cost": {
  37.               "input": 0.008,
  38.               "output": 0.008,
  39.               "cacheRead": 0,
  40.               "cacheWrite": 0
  41.             },
  42.             "contextWindow": 1029000,
  43.             "maxTokens": 32000
  44.           }
  45.         ]
  46.       }
  47.     }
  48.   },  "messages": {    "ackReactionScope": "group-mentions"  },  "commands": {    "native": "auto",    "nativeSkills": "auto"  },  "hooks": {    "internal": {      "enabled": true,      "entries": {        "boot-md": {          "enabled": true        },        "command-logger": {          "enabled": true        },        "session-memory": {          "enabled": true        }      }    }  },  "gateway": {    "port": 18789,    "mode": "local",    "bind": "loopback",    "auth": {      "mode": "token",      "token": "xxxxxxxxx"    },    "tailscale": {      "mode": "off",      "resetOnExit": false    },    "http": {      "endpoints": {        "responses": {          "enabled": true        }      }    }  },  "skills": {    "install": {      "nodeManager": "npm"    }  }}
复制代码
第五步,应用新的配置文件。在终端中执行:
  1. moltbot gateway restart  # 重启网关
  2. moltbot models status --probe  # 看看有哪些模型可用
复制代码
此时输出中应有刚才配置的模型。例如我执行后输出为:
[code]
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

10 小时前

举报

您需要登录后才可以回帖 登录 | 立即注册