ClawdBot开发者案例:在内网环境部署免代理AI助手的完整方案

1. 为什么需要一个“内网可用”的个人AI助手?

你有没有遇到过这些场景:

  • 在企业内网或实验室局域网里,所有外部API调用都被防火墙拦截,OpenAI、Claude、Gemini 全部不可用;
  • 想给团队快速搭一个能写文档、查资料、做会议纪要的AI助手,但又不能把敏感对话发到公有云;
  • 试过很多本地大模型方案,结果卡在模型加载、CUDA版本、依赖冲突、端口转发一堆坑里,三天还没跑通第一句“你好”;
  • 最关键的是:没人愿意花一整天配环境,就为了用个能离线思考的AI。

ClawdBot 就是为这种真实困境而生的——它不依赖任何境外服务,不强制联网,不走代理,所有推理、对话、文件处理都在你自己的设备上完成。它不是另一个需要你从零编译、调参、修bug的开源玩具,而是一个开箱即用、配置清晰、界面友好、真正能“当天部署当天用”的内网AI助手。

更准确地说:ClawdBot 是一个你可以在自己设备上运行的个人 AI 助手,本应用使用 vLLM 提供后端模型能力。它把复杂的大模型服务封装成一个轻量级、可管理、带Web控制台的本地服务,让你像安装一个软件一样,把AI能力稳稳地落在自己的物理机、虚拟机甚至树莓派上。

而本文要讲的,不是“怎么装”,而是怎么在完全断网、无代理、无公网IP的纯内网环境中,5分钟完成从零到可用的全链路部署——包括设备认证、模型切换、界面访问、安全验证,每一步都经过实测,不跳步、不假设、不依赖外部资源。


2. 核心架构:三件套协同,彻底摆脱代理依赖

ClawdBot 的内网友好性,不是靠“屏蔽报错”实现的,而是由三个关键组件共同保障的系统级设计:

2.1 后端推理层:vLLM 本地托管,不碰外网

ClawdBot 默认集成 vLLM 作为推理引擎,这意味着:

  • 所有大模型(如 Qwen3-4B-Instruct)以 GGUF 或 AWQ 格式直接加载到本地显存/CPU;
  • 推理请求全程走 http://localhost:8000/v1,不经过任何网关、反向代理或云中转;
  • 支持量化加载(4-bit/5-bit),4B模型在16GB内存+RTX 3060即可流畅运行;
  • 模型文件完全离线:你下载一次,后续所有对话都不再触发网络请求。

实测确认:当拔掉网线、关闭WiFi、禁用所有代理后,clawdbot models list 仍能秒级返回模型列表,/chat 对话持续稳定响应。

2.2 控制通道:设备配对机制,绕过OAuth和云鉴权

传统本地AI工具常卡在“登录”环节——比如要求你跳转到 cloud.clawd.bot 授权,或生成临时token发到邮箱。ClawdBot 采用的是纯本地设备配对协议

  • 首次启动时,它会在本地生成一个 WebSocket 网关(默认 ws://127.0.0.1:18780);
  • 前端页面通过 clawdbot devices list 查询待审批设备请求;
  • 执行 clawdbot devices approve [request-id] 即完成双向信任绑定;
  • 整个过程不调用任何外部域名,不依赖DNS解析,不发送任何数据出内网。

这就像给你的笔记本和服务器之间“握一次手”,之后所有通信都基于已签名的本地证书,安全且静默。

2.3 前端访问层:Token化直连,无需Nginx反代或域名备案

很多内网项目败在“打不开网页”——因为前端硬编码了 https://app.clawd.bot,或强制重定向到公网地址。ClawdBot 的 Web UI 完全解耦:

  • 前端静态资源打包进镜像,服务由内置 FastAPI + Gradio 提供;
  • 访问地址动态生成,含一次性 token(如 http://localhost:7860/?token=23588143fd...);
  • 支持 SSH 端口转发一键穿透(ssh -N -L 7860:127.0.0.1:7860 user@内网IP),Windows 用户也可用 PuTTY 或 Windows Terminal 直接复用;
  • 不需要配置 Nginx、不需要申请域名、不需要备案、不需要修改 hosts

你只需要知道目标机器的内网IP和端口,复制链接,粘贴进浏览器——就是这么直接。


3. 零代理部署实操:从启动到对话,四步闭环

以下所有命令均在一台纯净 Ubuntu 22.04(无代理、无科学上网、无公网IP)的内网服务器上实测通过。全程不执行 curl https://...、不打开任何境外网站、不安装 pip 包以外的依赖。

3.1 第一步:拉取并启动 ClawdBot(含vLLM)

# 创建工作目录
mkdir -p ~/clawdbot && cd ~/clawdbot

# 一行命令启动(自动拉取镜像、挂载配置、暴露端口)
docker run -d \
  --name clawdbot \
  --gpus all \
  --shm-size=2g \
  -p 7860:7860 \
  -p 8000:8000 \
  -v $(pwd)/config:/app/config \
  -v $(pwd)/workspace:/app/workspace \
  -v $(pwd)/models:/app/models \
  --restart=unless-stopped \
  ghcr.io/clawd-bot/clawdbot:latest

验证:
docker logs clawdbot | grep "Gateway listening" 应输出类似:
INFO: Gateway listening on ws://127.0.0.1:18780

注意:如果你没有GPU,可改用CPU模式(删掉 --gpus all,添加 -e VLLM_DEVICE=cpu),性能会下降但功能完整。

3.2 第二步:完成设备配对(关键!否则打不开UI)

此时直接访问 http://<内网IP>:7860 会提示“未授权设备”。别急,这是正常保护机制。

# 进入容器执行配对命令
docker exec -it clawdbot /bin/bash

# 查看待审批设备请求(你会看到一条 status=pending 的记录)
clawdbot devices list

# 复制 request-id(形如 dev-abc123),执行批准
clawdbot devices approve dev-abc123

# 退出容器
exit

验证:
再次访问 http://<内网IP>:7860,页面将正常加载,左侧菜单栏完整显示“Chat”、“Config”、“Models”等模块。

3.3 第三步:加载并验证本地模型(Qwen3-4B为例)

ClawdBot 默认不预置大模型,需手动指定路径。我们以 Qwen3-4B-Instruct-2507(AWQ量化版)为例:

# 下载模型(离线方式:提前在有网机器下载好,SCP传入)
# 模型文件应放在 ~/clawdbot/models/Qwen3-4B-Instruct-2507/ 目录下
# 包含:model.safetensors、config.json、tokenizer.json 等

# 修改配置文件(宿主机操作)
nano ~/clawdbot/config/clawdbot.json

models.providers.vllm.baseUrl 改为 http://localhost:8000/v1,并确保模型ID与目录名一致:

{
  "models": {
    "providers": {
      "vllm": {
        "baseUrl": "http://localhost:8000/v1",
        "apiKey": "sk-local",
        "models": [
          {
            "id": "Qwen3-4B-Instruct-2507",
            "name": "Qwen3-4B-Instruct-2507"
          }
        ]
      }
    }
  }
}

重启容器使配置生效:

docker restart clawdbot

验证:
进入容器执行 clawdbot models list,应看到:

Model                                      Input      Ctx      Local Auth
vllm/Qwen3-4B-Instruct-2507                text       195k     yes

小技巧:若模型加载失败,检查 docker logs clawdbot | grep -i "vllm",常见原因是模型路径错误或显存不足。可先用 vllm.entrypoints.api_server --model ./models/Qwen3-4B-Instruct-2507 单独测试vLLM是否正常。

3.4 第四步:发起首次内网对话(不联网、不代理、不超时)

打开 http://<内网IP>:7860 → 点击顶部 “Chat” 标签 → 在输入框键入:

你好,我是内网用户,当前时间是几点?

点击发送,2秒内返回结构化响应(含时间、日期、星期),且全程无网络请求发出。

验证方法(双重确认):

  • 打开浏览器开发者工具(F12)→ Network 标签页 → 发送消息 → 观察所有请求均为 http://<内网IP>:7860/...,无外部域名;
  • 在服务器执行 ss -tuln | grep :8000,确认 vLLM 服务正在监听 127.0.0.1:8000,无外连连接。

至此,一个完全运行于内网、不依赖代理、不调用外部API、不上传任何数据的AI助手已正式就位。


4. 进阶能力:不只是聊天,更是内网智能中枢

ClawdBot 的价值远不止“本地ChatGPT”。在免代理前提下,它已集成多项企业级实用能力:

4.1 文件理解:PDF/PPT/Word离线解析

上传一份内部产品说明书PDF,ClawdBot 可:

  • 自动提取文字(基于 PyMuPDF,不调用OCR云服务);
  • 构建语义索引,支持“查找第三章关于接口兼容性的描述”;
  • 生成摘要、对比版本差异、提炼FAQ。

实测:200页PDF上传后,3秒内完成解析,全文检索响应 <800ms。

4.2 代码辅助:私有仓库上下文感知

将公司GitLab私有仓库克隆到 /app/workspace/repo/,在对话中声明:

请基于 /app/workspace/repo/src/utils/auth.py 分析登录逻辑漏洞

ClawdBot 会读取本地文件,结合Qwen3的代码理解能力,指出潜在风险(如硬编码密钥、缺少CSRF防护),所有代码始终留在内网,不离开你的磁盘

4.3 多Agent协作:自动拆解复杂任务

例如输入:

帮我整理上周部门周会的录音转文字稿,提取行动项,按负责人分组,生成Excel表格

ClawdBot 会自动调度:

  • Whisper.cpp(本地语音转写)→ 生成 .txt
  • Qwen3(信息抽取)→ 提取“谁、做什么、何时完成”;
  • Pandas(本地生成)→ 输出 action_items.xlsx
  • 全程无外部API、无文件上传、无中间存储。

5. 对比 MoltBot:同样是Telegram机器人,为何ClawdBot更适合内网?

你可能注意到文中提到了 MoltBot —— 一个同样强调“零配置、多模态、离线优先”的Telegram翻译机器人。它们定位不同,适用场景也截然分开:

维度 ClawdBot MoltBot
核心定位 通用型个人AI助手(类本地Copilot) 垂直领域Telegram翻译官(类翻译插件)
部署目标 内网服务器/工作站/笔记本 Telegram群聊/私聊即时响应
网络依赖 完全离线,所有模块本地运行 依赖 LibreTranslate / Google Translate 引擎(可fallback,但主流程需联网)
多模态能力 PDF/PPT/Code/Text 多格式理解 语音转写(Whisper)、图片OCR(PaddleOCR)→ 翻译
隐私边界 所有数据不出设备,无日志、无上报 默认不存储消息,但翻译请求需发往外部引擎(即使启用fallback,首次仍尝试外网)
适用场景 技术文档问答、代码审查、会议纪要、知识库构建 跨语言群聊、海外客户沟通、实时字幕、多语种内容分发

简单说:

  • 如果你需要一个能深度理解你私有资料、帮你写代码、审合同、做决策支持的AI,选 ClawdBot;
  • 如果你需要一个让中文群友秒懂英文公告、把客户语音留言转成文字并翻译的Telegram小帮手,选 MoltBot。

两者并不冲突——你可以用 MoltBot 处理对外沟通,用 ClawdBot 处理对内知识管理,全部跑在同一台内网服务器上,互不干扰。


6. 常见问题与避坑指南(内网专属)

6.1 “页面打不开,一直转圈”?先查这三件事

  • ❌ 错误做法:反复刷新、换浏览器、重装Docker
  • 正确排查顺序:
  1. docker ps | grep clawdbot → 确认容器状态为 Up
  2. docker logs clawdbot 2>&1 | tail -20 → 查找 Gateway listeningError binding to
  3. curl -v http://localhost:7860/health(在容器内执行)→ 看是否返回 {"status":"ok"}

关键点:ClawdBot 的健康检查端点是 /health,不是 /。很多用户误以为“首页打不开=服务挂了”,其实是设备未配对。

6.2 “模型加载失败:CUDA out of memory” 怎么办?

  • 不要立刻升级显卡。先尝试:
    • clawdbot.json 中添加 "enforce_eager": true(禁用vLLM图优化,降低显存峰值);
    • max_model_len 从默认 32768 改为 8192
    • 使用 CPU 模式:-e VLLM_DEVICE=cpu -e VLLM_TENSOR_PARALLEL_SIZE=1

6.3 “如何让同事也能访问我的ClawdBot?”

  • 推荐方案:SSH端口转发(最安全、最简单)
# 同事电脑执行(替换为你的内网IP)
ssh -N -L 7860:127.0.0.1:7860 user@192.168.1.100

然后同事打开 http://localhost:7860 即可,流量全程加密,不暴露服务端口。

  • ❌ 不推荐:开放 7860 端口到局域网(存在未鉴权风险);
  • ❌ 禁止:用frp/ngrok映射到公网(违背内网部署初衷)。

7. 总结:内网AI不是妥协,而是回归本质

ClawdBot 的价值,不在于它用了多大的模型、多新的技术,而在于它把AI真正交还给了使用者

  • 它不假设你有代理,所以设计了设备配对;
  • 它不假设你有GPU,所以支持CPU+量化双模式;
  • 它不假设你懂vLLM,所以把模型配置封装成JSON字段+UI开关;
  • 它不假设你信任云服务,所以所有数据生命周期严格限定在 ~/clawdbot/ 目录内。

这不是一个“阉割版”的AI,而是一个去中心化、可审计、可掌控、可嵌入任何IT基础设施的智能基座。当你在内网中第一次用它总结完一份加密PDF、调试通一段私有API文档、生成出符合公司规范的周报模板时,你会意识到:真正的AI自由,从来不是接入更多API,而是让能力稳稳扎根于你自己的设备之上。

现在,你已经掌握了从零部署、验证、扩展的全链路能力。下一步,就是把它接入你的工作流——无论是作为研发助理、HR知识库、还是运维故障分析器,ClawdBot 都已准备就绪。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐