Moltbot(原 Clawdbot)成本失控的 5 个技术陷阱与实时监控方案

简介: Hacker News上警示频发:Clawdbot(原Moltbot)因五大技术陷阱致成本失控——上下文O(N²)膨胀、Agent无限循环、大页浏览器加载、并发爆炸、模型误用。本文详解每类陷阱原理、真实案例及可落地的缓解方案,并提供实时监控、预算熔断与CLI管理工具,助AI Agent实现低成本、高可控运行。

Hacker News 上的警告此起彼伏:

"I set $10 on fire the other day as I was running through some tests."

"70 million tokens on 1 day and 30 million the next day by 9 AM"

Clawdbot 的成本失控不是偶发现象,而是多个技术陷阱叠加的必然结果。

陷阱 1:上下文无限增长(O(N²) 复杂度)

现象

第1天: 50 轮对话,消耗 200万 tokens
第2天: 只发了 10 条消息,消耗 150万 tokens

第2天明明消息更少,为什么消耗更大?

技术根源

每次 API 调用都包含完整历史:

// Day 1 结束时的历史
const historyDay1 = {
   
  messages: 50 rounds,
  totalTokens: 200,000
};

// Day 2 第1轮调用
const input = {
   
  system: 13,000 tokens,
  history: 200,000 tokens,  // Day 1 的所有历史
  newMessage: 20 tokens
};
// 总输入: 213,020 tokens

// Day 2 第10轮调用
const input = {
   
  system: 13,000 tokens,
  history: 200,000 + 50,000 tokens,  // Day 1 + Day 2 前9轮
  newMessage: 20 tokens
};
// 总输入: 263,020 tokens

累积效应:

# Python 模拟
def calculate_cost(rounds, tokens_per_round=500):
    total = 0
    for i in range(1, rounds+1):
        # 每轮包含之前所有历史
        input_tokens = i * tokens_per_round
        total += input_tokens
    return total

print(f"100轮对话总消耗: {calculate_cost(100):,} tokens")
# 输出: 2,525,000 tokens

这是 O(N²) 的复杂度,无法持续。

缓解方案

class ContextManager {
   
  async getContext(sessionId: string): Promise<Message[]> {
   
    const messages = await db.getMessages(sessionId);

    // 策略1: 滑动窗口
    const maxTokens = 50000;
    let tokens = 0;
    let result = [];

    for (let i = messages.length - 1; i >= 0; i--) {
   
      const msgTokens = estimateTokens(messages[i]);
      if (tokens + msgTokens > maxTokens) break;
      tokens += msgTokens;
      result.unshift(messages[i]);
    }

    // 策略2: 保留关键事实
    if (result.length < messages.length) {
   
      const keyFacts = await this.extractKeyFacts(
        messages.slice(0, messages.length - result.length)
      );
      result.unshift({
   
        role: 'system',
        content: `历史关键信息: ${
     keyFacts}`
      });
    }

    return result;
  }

  async extractKeyFacts(messages: Message[]): Promise<string> {
   
    // 使用 Haiku 提取关键事实
    const response = await claude.messages.create({
   
      model: 'claude-haiku-4.5',
      messages: [{
   
        role: 'user',
        content: `提取以下对话的关键事实(用户偏好、重要信息),忽略闲聊:
        ${
     messages.map(m => m.content).join('\n---\n')}`
      }]
    });
    return response.content[0].text;
  }
}

陷阱 2:Agent Loop 死循环

现象

用户: "帮我找一下关于 AI 的最新新闻"

[30 分钟后]
Clawdbot 仍在运行...

[检查日志]
browser_navigate(hackernews.com)
browser_click("More")  ← 重复 50 次
browser_click("More")
browser_click("More")
...

Agent 进入无限循环,疯狂消耗 token。

技术根源

AI 的"停止条件"判断失误:

// AI 的内部逻辑(伪代码)
while (!taskCompleted) {
   
  const page = await browser.getCurrentPage();

  if (page.includes('More')) {
   
    await browser.click('More');  // 加载更多
    continue;
  }

  taskCompleted = true;
}

问题:HN 的"More"按钮是动态加载的,永远有下一页。

AI 不知道"应该停在第几页",会一直点下去。

真实案例

某用户让 Moltbot(原 Clawdbot) "下载 Python 官方文档":

AI 执行:
1. browser_navigate(docs.python.org)
2. browser_click("Download PDF") → 404 (没有 PDF)
3. browser_navigate(docs.python.org/3/)
4. browser_click("Download") → 找不到元素
5. browser_navigate(docs.python.org/3/download.html)
6. browser_click(...) → 失败
7. 尝试其他方法 → 失败
...
[重试 100 次]

3 小时后,用户发现任务还在运行,已消耗 7000 万 tokens(约 $120)。

缓解方案

class LoopDetector {
   
  private actions = [];

  checkLoop(action: Action): boolean {
   
    this.actions.push({
   
      type: action.type,
      target: action.target,
      timestamp: Date.now()
    });

    // 清理 5 分钟前的记录
    this.actions = this.actions.filter(
      a => a.timestamp > Date.now() - 300000
    );

    // 检测重复操作
    const recent = this.actions.slice(-10);
    const uniqueActions = new Set(recent.map(a => `${
     a.type}:${
     a.target}`));

    // 如果最近 10 次操作只有 2-3 种,可能是循环
    if (uniqueActions.size <= 3) {
   
      logger.warn('Possible infinite loop detected', {
   
        actions: recent
      });
      return true;
    }

    // 检测完全相同的操作
    const lastAction = recent[recent.length - 1];
    const sameCount = recent.filter(
      a => a.type === lastAction.type && a.target === lastAction.target
    ).length;

    if (sameCount >= 5) {
   
      logger.error('Infinite loop detected', {
   
        action: lastAction,
        count: sameCount
      });
      return true;
    }

    return false;
  }
}

// 使用
if (loopDetector.checkLoop(action)) {
   
  throw new Error('任务被终止:检测到无限循环');
}

陷阱 3:Browser Tool 加载大型页面

现象

用户: "总结这篇论文 arxiv.org/abs/2501.12345"

AI:
  browser_navigate(arxiv.org/abs/2501.12345)
  → 加载了完整的 PDF (转换为 Markdown)
  → 50 页论文 = 150,000 tokens

单次加载就消耗大量 token。

技术根源

async function fetchPage(url: string) {
   
  const html = await browser.getContent();
  const markdown = htmlToMarkdown(html);

  // 没有长度检查,直接返回
  return markdown;
}

缓解方案

async function fetchPage(url: string) {
   
  const html = await browser.getContent();
  let markdown = htmlToMarkdown(html);

  const tokens = estimateTokens(markdown);
  const maxTokens = 10000;

  if (tokens > maxTokens) {
   
    logger.warn(`Page too large: ${
     tokens} tokens, summarizing...`);

    // 分段总结
    const chunks = splitIntoChunks(markdown, maxTokens);
    const summaries = await Promise.all(
      chunks.map(chunk => summarizeChunk(chunk))
    );

    markdown = summaries.join('\n\n');
  }

  return markdown;
}

async function summarizeChunk(text: string): Promise<string> {
   
  const response = await claude.messages.create({
   
    model: 'claude-haiku-4.5',  // 便宜的模型
    messages: [{
   
      role: 'user',
      content: `总结以下内容的核心观点(200 字以内):\n${
     text}`
    }]
  });
  return response.content[0].text;
}

效果:

原始: 150,000 tokens
分段总结: 10 chunks × 1,000 tokens = 10,000 tokens
节省: 93%

陷阱 4:并发请求爆炸

现象

用户在 3 个 WhatsApp 群、5 个 Telegram 频道里都 @ 了 bot

[同一时刻]
10 条消息同时到达

Clawdbot 并发处理 → 10 个 API 调用同时发起

如果每个调用 30k tokens:

30,000 × 10 = 300,000 tokens (瞬间消耗)

如果触发 Agent Loop,可能 10 个任务都陷入循环,成本爆炸。

技术根源

// 错误的实现:无限制并发
async function handleMessage(message: Message) {
   
  const response = await agent.chat(message.content);
  await sendReply(message.from, response);
}

// 所有消息同时触发
incomingMessages.forEach(msg => handleMessage(msg));  // 并发!

缓解方案

import PQueue from 'p-queue';

// 限制并发数
const queue = new PQueue({
   
  concurrency: 2,  // 最多 2 个任务同时执行
  timeout: 300000  // 单个任务超时 5 分钟
});

async function handleMessage(message: Message) {
   
  await queue.add(async () => {
   
    const response = await agent.chat(message.content);
    await sendReply(message.from, response);
  });
}

// 添加到队列,自动限流
incomingMessages.forEach(msg => handleMessage(msg));

效果:

10 条消息到达 → 2 条立即处理,8 条排队

而不是 10 条同时处理

陷阱 5:错误模型选择

现象

用户: "1+1等于几?"

Clawdbot 使用 Claude Opus 4.5:
  输入: 13,020 tokens × $15/M = $0.195
  输出: 10 tokens × $75/M = $0.00075
  总计: $0.196

一个简单算术,花费 $0.20。

如果一天问 100 个类似问题,花费 $20。

技术根源

Moltbot(原 Clawdbot) 默认使用最强大(最贵)的模型:

{
   
  "agent": {
   
    "model": "claude-opus-4.5"
  }
}

所有任务都用同一个模型,无论简单还是复杂。

缓解方案

function selectModel(task: string): string {
   
  // 简单问答:Haiku ($1/M 输出)
  if (isSimpleQA(task)) {
   
    return 'claude-haiku-4.5';
  }

  // 代码生成/分析:Sonnet ($15/M 输出)
  if (isCodeTask(task)) {
   
    return 'claude-sonnet-4.5';
  }

  // 复杂推理:Opus ($75/M 输出)
  if (isComplexReasoning(task)) {
   
    return 'claude-opus-4.5';
  }

  // 默认使用 Sonnet
  return 'claude-sonnet-4.5';
}

function isSimpleQA(task: string): boolean {
   
  const patterns = [
    /^.{1,50}$/,  // 很短的问题
    /天气|时间|日期/,
    /\d+\s*[+\-*/]\s*\d+/,  // 算术
    /^(什么是|who is|what is)/i
  ];

  return patterns.some(p => p.test(task));
}

成本对比:

100 个简单问题:
  Opus: $20
  Haiku: $0.30
  节省: 98.5%

实时监控方案

监控 1:Token 计数器

class TokenCounter {
   
  private counts = new Map<string, {
   input: number, output: number}>();

  async record(sessionId: string, input: number, output: number) {
   
    const current = this.counts.get(sessionId) || {
   input: 0, output: 0};
    this.counts.set(sessionId, {
   
      input: current.input + input,
      output: current.output + output
    });

    // 存入数据库
    await db.insertTokenUsage({
   
      sessionId,
      timestamp: Date.now(),
      inputTokens: input,
      outputTokens: output,
      cost: this.calculateCost(input, output)
    });
  }

  calculateCost(input: number, output: number, model: string = 'opus'): number {
   
    const pricing = {
   
      opus: {
   input: 15, output: 75},
      sonnet: {
   input: 3, output: 15},
      haiku: {
   input: 0.25, output: 1.25}
    };

    const price = pricing[model];
    return (input * price.input + output * price.output) / 1000000;
  }

  getSessionCost(sessionId: string): number {
   
    const counts = this.counts.get(sessionId);
    if (!counts) return 0;
    return this.calculateCost(counts.input, counts.output);
  }
}

监控 2:实时成本仪表盘

// 创建 HTTP 接口
app.get('/api/cost/dashboard', async (req, res) => {
   
  const today = new Date().toDateString();

  // 今日消耗
  const todayCost = await db.query(`
    SELECT SUM(cost) as total
    FROM token_usage
    WHERE DATE(timestamp) = ?
  `, [today]);

  // 本月消耗
  const monthCost = await db.query(`
    SELECT SUM(cost) as total
    FROM token_usage
    WHERE strftime('%Y-%m', timestamp) = strftime('%Y-%m', 'now')
  `);

  // 各模型占比
  const breakdown = await db.query(`
    SELECT model, SUM(cost) as cost
    FROM token_usage
    WHERE DATE(timestamp) = ?
    GROUP BY model
  `, [today]);

  // Top 消耗 sessions
  const topSessions = await db.query(`
    SELECT session_id, SUM(cost) as cost
    FROM token_usage
    WHERE DATE(timestamp) = ?
    GROUP BY session_id
    ORDER BY cost DESC
    LIMIT 10
  `, [today]);

  res.json({
   
    today: todayCost.total,
    month: monthCost.total,
    breakdown,
    topSessions
  });
});

前端可视化:

$ clawdbot cost dashboard

╔═══════════════════════════════════════╗
║       Clawdbot 成本仪表盘              ║
╠═══════════════════════════════════════╣
║ 今日: $12.50 / $20.00 (预算)         ║
║ 本月: $85.30 / $200.00 (预算)        ║
╠═══════════════════════════════════════╣
║ 模型分布:                             ║
║   Opus:   $8.00 (64%)                ║
║   Sonnet: $3.50 (28%)                ║
║   Haiku:  $1.00 (8%)                 ║
╠═══════════════════════════════════════╣
║ Top Sessions:                        ║
║   1. telegram:@user1  $4.20          ║
║   2. whatsapp:+123    $3.80          ║
║   3. discord:server1  $2.50          ║
╚═══════════════════════════════════════╝

监控 3:实时告警

class CostAlertSystem {
   
  async checkAndAlert(sessionId: string, newCost: number) {
   
    const totalToday = await this.getTodayCost();
    const sessionTotal = await this.getSessionCost(sessionId);

    const config = {
   
      dailyBudget: 20.0,
      sessionBudget: 5.0,
      alertThreshold: 0.8
    };

    // 日预算告警
    if (totalToday + newCost > config.dailyBudget * config.alertThreshold) {
   
      await this.sendAlert(
        `⚠️ 日成本接近上限: $${(totalToday + newCost).toFixed(2)} / $${config.dailyBudget}\n` +
        `当前会话: ${
     sessionId}\n` +
        `预计总消耗: $${(totalToday + newCost).toFixed(2)}`
      );
    }
    
    // 会话预算告警
    if (sessionTotal + newCost > config.sessionBudget) {
      await this.sendAlert(
        `🛑 会话预算已用尽: ${sessionId}\n` +
        `消耗: $${(sessionTotal + newCost).toFixed(2)} / $${config.sessionBudget}\n` +
        `建议: 运行 'clawdbot session clear ${sessionId}'`
      );
      
      throw new Error('Session budget exceeded');
    }
  }
  
  private async sendAlert(message: string) {
    // 通过 Telegram 发送告警
    await telegram.sendMessage(ADMIN_CHAT_ID, message);
    
    // 同时写入日志
    logger.error('COST_ALERT', {message});
  }
}
```

### 监控 4:预算熔断

```typescript
class CircuitBreaker {
  async checkBudget(sessionId: string): Promise {
    const config = {
      dailyLimit: 20.0,
      sessionLimit: 5.0
    };
    
    const todayCost = await getTodayCost();
    const sessionCost = await getSessionCost(sessionId);
    
    // 超过日预算,直接拒绝
    if (todayCost >= config.dailyLimit) {
      throw new Error(
        `日预算已用尽: $${todayCost.toFixed(2)} / $${config.dailyLimit}\n` +
        `服务将在明天 00:00 UTC 自动恢复`
      );
    }
    
    // 超过会话预算,拒绝该会话
    if (sessionCost >= config.sessionLimit) {
      throw new Error(
        `会话预算已用尽: $${sessionCost.toFixed(2)} / $${
     config.sessionLimit}\n` +
        `请运行 'session clear' 或明天再试`
      );
    }

    return true;
  }
}

监控 5:异常检测

class AnomalyDetector {
   
  async detectAnomaly(sessionId: string, tokens: number): Promise<boolean> {
   
    // 获取该 session 的历史消耗
    const history = await db.getSessionHistory(sessionId, 100);

    // 计算统计指标
    const mean = history.reduce((sum, h) => sum + h.tokens, 0) / history.length;
    const stdDev = Math.sqrt(
      history.reduce((sum, h) => sum + Math.pow(h.tokens - mean, 2), 0) / history.length
    );

    // 如果当前消耗超过平均值 3 倍标准差,标记为异常
    if (tokens > mean + 3 * stdDev) {
   
      logger.warn('Token usage anomaly detected', {
   
        sessionId,
        currentTokens: tokens,
        averageTokens: mean,
        threshold: mean + 3 * stdDev
      });

      await sendAlert(
        `异常 token 消耗: ${
     sessionId}\n` +
        `当前: ${
     tokens} tokens\n` +
        `平均: ${
     Math.round(mean)} tokens\n` +
        `可能原因: Agent loop, 大型网页, 或攻击`
      );

      return true;
    }

    return false;
  }
}

完整的监控架构

// 集成所有监控组件
class CostMonitoringSystem {
   
  private tokenCounter = new TokenCounter();
  private loopDetector = new LoopDetector();
  private costAlert = new CostAlertSystem();
  private circuitBreaker = new CircuitBreaker();
  private anomalyDetector = new AnomalyDetector();

  async beforeAPICall(sessionId: string, estimatedTokens: number) {
   
    // 1. 检查预算
    await this.circuitBreaker.checkBudget(sessionId);

    // 2. 检查异常
    if (await this.anomalyDetector.detectAnomaly(sessionId, estimatedTokens)) {
   
      // 异常但不阻断,继续执行
    }

    // 3. 预警
    const cost = this.tokenCounter.calculateCost(estimatedTokens, 0);
    await this.costAlert.checkAndAlert(sessionId, cost);
  }

  async afterAPICall(sessionId: string, input: number, output: number, action: Action) {
   
    // 4. 记录消耗
    await this.tokenCounter.record(sessionId, input, output);

    // 5. 检测循环
    if (this.loopDetector.checkLoop(action)) {
   
      logger.error('Loop detected, stopping session', {
   sessionId});
      await stopSession(sessionId);
    }
  }
}

命令行工具

查看成本

# 今日成本
$ clawdbot cost today
Today: $12.50 / $20.00 (62.5%)

# 本月成本
$ clawdbot cost month
Month: $85.30 / $200.00 (42.7%)

# 各 session 成本
$ clawdbot cost breakdown
telegram:@user1   $45.20
whatsapp:+123     $28.10
discord:server1   $12.00

设置预算

# 设置日预算
$ clawdbot config set cost.dailyLimit 20.0

# 设置月预算
$ clawdbot config set cost.monthlyLimit 200.0

# 设置告警阈值
$ clawdbot config set cost.alertThreshold 0.8

清理历史

# 查看各 session 的 token 消耗
$ clawdbot session list

telegram:@user1
  Messages: 250
  Tokens: 2.5M (input) + 0.5M (output)
  Cost: $45.20

whatsapp:+123
  Messages: 180
  Tokens: 1.8M + 0.3M
  Cost: $28.10

# 清理高消耗 session
$ clawdbot session clear telegram:@user1
Cleared 250 messages
Freed ~2.5M tokens from context

# 验证
$ clawdbot cost breakdown
whatsapp:+123     $28.10
discord:server1   $12.00

最终建议

成本控制的核心原则:

  1. 预防胜于补救

    • 设置预算上限(熔断)
    • 监控异常消耗(告警)
    • 定期清理历史(维护)
  2. 使用合适的工具

    • 简单任务用 Haiku
    • 复杂任务才用 Opus
    • 启用 Prompt Caching
  3. 限制并发

    • 最多 2-3 个任务同时执行
    • 避免多渠道同时触发
  4. 设置超时

    • 单个任务最多运行 5 分钟
    • 检测 Agent Loop,立即终止
  5. 可视化监控

    • 实时成本仪表盘
    • 每日成本报告
    • 异常消耗告警

如果不实施这些措施,Moltbot(原 Clawdbot) 就是一个"烧钱机器"。

$300/2天 不是极限,有人报告单日消耗 $1000+。

在 AI Agent 时代,成本控制是核心功能,不是可选项。

目录
相关文章
|
16天前
|
人工智能
9.9元/月!阿里云OpenClaw部署方案限时秒杀,附完整部署视频教程
GitHub爆火15万+ Star的AI助理OpenClaw(原Moltbot/Clawdbot),阿里云史低价来袭!秒杀9.9元/月(每日10点/15点限量),包年仅68元,省80%!免本地部署,5分钟上线,支持钉钉集成,稳定可用。
|
20天前
|
人工智能 监控 API
Anthropic 的 API 围城:第三方工具的生存指南
1月中旬,Anthropic限制Claude Pro订阅凭证仅限官方应用使用,第三方工具(如Moltbot、OpenCode)因OAuth token含`scope: &quot;claude-code-only&quot;`被拒。此举源于成本压力、滥用风险与生态控制。用户可选API付费、切换OpenAI/本地模型或等待传闻中的开发者订阅。行业“蜜月期”正结束。
334 3
|
20天前
|
人工智能 Shell Linux
2026年Clawdbot(Moltbot)部署配置阿里云百炼API完整教程指南
Moltbot(原Clawdbot)是一款开源AI个人助手,支持本地部署,兼容MacOS、Windows、Linux等多种系统,可接入钉钉、飞书、WhatsApp等常用聊天工具,通过自然语言控制设备与服务。它作为功能强大的自动化工具,支持Qwen、Claude、GPT等主流大语言模型,能处理邮件、日程安排、市场调研等自动化任务,也可作为个人知识库随时响应查询,适用于24小时在线AI助手部署、自定义自动化流程搭建等场景。阿里云百炼Coding Plan套餐已支持Moltbot接入,可抵扣通义千问系列大模型,本文将详细拆解Moltbot安装、百炼API配置及套餐适配流程,确保不改变原意且无营销表述
2065 8
|
21天前
|
人工智能 安全 应用服务中间件
首个 Clawdbot 全流程部署方案!真“AI 个人助理”来了!
GitHub爆火AI Agent Moltbot(原Clawdbot)上线即获7.6万+ Star!它能理解自然语言、调用工具、自动执行任务。阿里云轻量应用服务器推出“开箱即用”部署方案:预装环境、直连百炼大模型、支持钉钉等消息通道,5分钟一键启用,稳定、安全、低成本。
首个 Clawdbot 全流程部署方案!真“AI 个人助理”来了!
|
1月前
|
SQL 人工智能 分布式计算
从工单、文档到结构化知识库:一套可复用的 Agent 知识采集方案
我们构建了一套“自动提取 → 智能泛化 → 增量更新 → 向量化同步”的全链路自动化 pipeline,将 Agent 知识库建设中的收集、提质与维护难题转化为简单易用的 Python 工具,让知识高效、持续、低门槛地赋能智能体。
379 36
|
21天前
|
人工智能 自然语言处理 Shell
🦞 如何在 Moltbot (原 Clawdbot)轻松配置阿里云百炼 API 享Coding Plan 特惠套餐
阿里云百炼Coding Plan套餐现已支持Moltbot(原Clawdbot)接入,可抵扣Qwen3-Max-Thinking等大模型,新客首月每天仅0.3元!该开源AI助手支持本地部署、多平台兼容及主流大模型调用,助力自动化办公与个人知识管理。
1016 7
|
21天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7839 17
|
21天前
|
人工智能 应用服务中间件 API
刚刚,阿里云上线Clawdbot全套云服务!
阿里云上线Moltbot(原Clawdbot)全套云服务,支持轻量服务器/无影云电脑一键部署,可调用百炼平台百余款千问模型,打通iMessage与钉钉消息通道,打造开箱即用的AI智能体助手。
3827 33
刚刚,阿里云上线Clawdbot全套云服务!
|
21天前
|
人工智能 应用服务中间件 API
阿里云上线Clawdbot全套云服务,Clawdbot 部署保姆级教程
阿里云上线 Moltbot(原名 Clawdbot)全套云服务,用户可在轻量应用服务器或“无影云电脑”上快速启用 Moltbot,并按需调用阿里云“百炼”平台上的上百款“千问”系列大模型;同时打通消息信道(钉钉、iMessage 等),以实现“在消息里唤醒并指挥智能体”的端到端体验,目标是把开源 Agent 的火爆从个人部署扩展到企业与消费级云端服务。
1278 9
|
22天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
33248 132
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API

热门文章

最新文章