【免费下载链接】HaloWebUI
基于官方OpenWebUI,汉化界面提高中文使用体验,增加了模型计费和用量统计
HaloWebUI 内置的HaloClaw 网关,让你把 AI 大模型直接装进 Telegram、企业微信、飞书三大聊天软件:在微信里 @ 一下机器人,就能调用 HaloWebUI 中已配置的任意模型对话,支持图片理解、模型切换、思考强度调节和用量统计。本文手把手带你完成三端接入。
一、HaloClaw 是什么:一个把 AI 装进聊天软件的网关 🐱
HaloClaw 是 HaloWebUI 基于 OpenWebUI 扩展出的消息网关模块,位于 backend/open_webui/haloclaw/,它把外部平台的每条消息桥接到 HaloWebUI 的 AI 对话流水线(核心调度逻辑见 dispatcher.py),主要能力包括:
- 三平台适配:Telegram 走长轮询(无需公网地址),企业微信与飞书走 Webhook 事件回调
- 完整对话链路:多轮历史、系统提示词、图片消息(文本 + 图片混合理解)
- 智能体增强:可挂载 HaloWebUI 内置工具、调节思考强度(low/medium/high)
- 细粒度管控:白名单私聊策略、群聊 @ 触发、按用户禁用/封禁、按用户覆盖模型
- 用量留痕:每条消息记录
prompt_tokens与completion_tokens,配合 HaloWebUI 的模型计费与用量统计
三个平台的适配实现分别在:
- adapters/telegram.py
- adapters/wechat_work.py
- adapters/feishu.py
二、快速启用 HaloClaw 网关(3 步上手)
第 1 步:启动服务
拉取仓库并以管理员身份启动后端(也可用 Docker Compose 部署,参考根目录 docker-compose.yaml):
git clone https://gitcode.com/gh_mirrors/ha/HaloWebUI cd HaloWebUI/backend pip install -r requirements.txt python -m open_webui.main第 2 步:开启 HaloClaw 开关
HaloClaw 默认关闭,可用环境变量ENABLE_HALOCLAW=true启动,或直接登录管理后台,在设置 → HaloClaw(前端页面 src/routes/(app)/settings/haloclaw/+page.svelte/settings/haloclaw/+page.svelte))中打开总开关,并设置全局默认模型、历史轮数(HALOCLAW_MAX_HISTORY,默认 20)与限速(HALOCLAW_RATE_LIMIT,默认 10 条/分钟)。配置项定义见 config.py。
第 3 步:创建网关
在管理后台新增 Gateway,选择平台(telegram/wechat_work/feishu),填入对应凭据、指定默认模型,打开开关即生效——服务启动时会自动拉起所有已启用的网关(lifecycle.py)。
三、接入 Telegram:最简单的起步方案 ✅
Telegram 走长轮询方式,服务器不需要公网 IP,是最适合新手上手的平台。
- 在 Telegram 中找到@BotFather,发送
/newbot创建机器人,拿到bot_token - 在 HaloClaw 后台创建 Telegram 网关,
config中只需填一项:bot_token - 打开开关,私聊机器人发送
/start即可对话
接入后机器人自带中文命令菜单(定义见 menus/telegram.py):
| 命令 | 作用 |
|---|---|
| /model | 切换对话模型 |
| /think | 调节思考强度 |
| /tools | 开关内置工具 |
| /settings | 个人设置 |
| /clear | 清除会话历史 |
| /help | 帮助 |
实用细节:
- 支持发送图片提问,机器人会把图片转成数据格式喂给模型做视觉理解
- 群聊中默认只在 @机器人 或回复机器人时响应(
group_policy: mention),也可在网关的access_policy中设为disabled彻底关闭群聊 - 回复自动做 Markdown → Telegram HTML 转换,超长消息自动分段
四、接入企业微信:办公场景的 AI 助手 💼
企业微信走回调模式,需要服务器有公网可访问的地址(可用 Nginx 反代或内网穿透工具)。
- 在企业微信管理后台创建自建应用,获取
corp_id(企业 ID)与secret,并记下应用agent_id - 在应用的「接收消息」中设置回调 URL:
https://你的域名/api/v1/haloclaw/webhook/wechat_work/{gateway_id}- 回调设置页会要求验证,填入Token和EncodingAESKey后即可通过 URL 校验(校验逻辑见 router.py)
- 在 HaloClaw 后台创建
wechat_work网关,config填入 5 个字段:
| 字段 | 说明 |
|---|---|
| corp_id | 企业 ID |
| agent_id | 应用 AgentId |
| secret | 应用 Secret(用于换取 access_token) |
| token | 回调 Token(签名校验) |
| aes_key | EncodingAESKey(43 位,消息 AES 加解密) |
- 打开开关,在成员授权范围里把自己加进去,私聊应用发消息即可
技术要点:企业微信要求 5 秒内响应,HaloClaw 采用「先应答、后台异步处理」策略,access_token自动每 100 分钟刷新一次,全程无需人工干预(adapters/wechat_work.py)。
五、接入飞书:事件订阅与加密校验 📮
飞书同样走事件订阅 + 回调,步骤与企业微信类似:
- 在飞书开放平台创建企业自建应用,获取
app_id与app_secret - 为应用开通机器人能力,添加「接收消息」事件订阅,回调地址填:
https://你的域名/api/v1/haloclaw/webhook/feishu/{gateway_id}- 订阅页会发起
url_verification挑战验证,HaloClaw 自动完成 token 校验并原样返回 challenge(router.py) - 创建
feishu网关,config填入 4 个字段:
| 字段 | 说明 |
|---|---|
| app_id | 应用 App ID |
| app_secret | 应用 App Secret |
| verification_token | 事件订阅 Verification Token |
| encrypt_key | 事件 Encrypt Key(可选,开启加密时必填) |
- 打开开关,在飞书里单聊或拉机器人进群即可
群聊中 @机器人 即可触发;适配器内置事件去重机制,避免平台重推导致重复回复(adapters/feishu.py)。
六、模型选择、访问控制与用量统计 📊
在网关设置里,你可以为每个平台独立指定default_model_id;HaloWebUI 模型列表中各提供商都有专属品牌图标:
模型解析优先级为:用户级覆盖 → 网关默认模型 → 全局默认模型(dispatcher.py)。配合 HaloWebUI 的模型计费与用量统计,管理员可以在后台按网关查看每条消息的 Token 消耗。
访问控制(access_policy字段):
- 私聊:
dm_policy支持open(任何人可用)与allowlist(仅白名单用户) - 群聊:
group_policy支持mention(@ 才响应)与disabled(禁用) - 管理后台可对单个外部用户执行封禁、绑定 Halo 账号(复用该账号的模型权限)、指定专属模型等操作(接口定义见 router.py)
用量与审计:所有收发消息都会落库到haloclaw_message_log表,记录方向、角色、内容摘要、模型 ID 和 Token 数,管理后台可按网关、按用户查看日志(models.py)。
七、常见问题与最佳实践 🔧
| 现象 | 排查建议 |
|---|---|
| Telegram 机器人无响应 | 检查bot_token是否正确;确认网关开关已打开且后端日志出现 "started" |
| 企业微信回调校验失败 | 确认token/aes_key与后台完全一致;URL 必须公网可达且为 HTTPS |
| 飞书事件不触发 | 检查是否订阅了「接收消息」事件、verification_token是否一致、消息权限是否开通 |
| 回复很慢 | 属于长文本生成耗时;可在settings中调低思考强度(/think low) |
| 想限制使用范围 | 将dm_policy设为allowlist并维护白名单,群聊设为disabled |
最佳实践:
- 先用Telegram验证链路(无需公网),再逐步上线企业微信/飞书
- 生产环境务必启用白名单 + 限速,避免 API Key 被滥用
- 为网关配置系统提示词(如"你是 XX 公司的客服助手,仅回答与业务相关的问题"),行为更可控
- 定期在管理后台清理消息日志,控制数据库体积
至此,你已经在自己常用的聊天软件里拥有了一个受控的 AI 助手入口。HaloWebUI 的 HaloClaw 网关源码全部开放在 backend/open_webui/haloclaw/,欢迎基于适配器模式(adapters/base.py)扩展更多平台。
【免费下载链接】HaloWebUI
基于官方OpenWebUI,汉化界面提高中文使用体验,增加了模型计费和用量统计
相关推荐
OpCore Simplify 黑苹果 EFI 自动配置完整指南:3 分钟拿到可引导的 OpenCore EFI
OpCore Simplify 黑苹果 EFI 自动配置完整指南:3 分钟拿到可引导的 OpenCore EFI OpCore Simplify 是一款黑苹果
开发工具CLIWeKnora IM 集成完全指南:把 RAG 智能体接入企业微信、飞书、Slack 等 10 个聊天平台
WeKnora IM 集成完全指南:把 RAG 智能体接入企业微信、飞书、Slack 等 10 个聊天平台 IM 集成是 WeKnora 将知识库问答与 Age
人工智能大模型RAGAI Agent后端前端MCP 服务知识库dsh-plugin工具调用PicoClaw 聊天应用接入全指南:Telegram、Discord、微信、企业微信等 15 大频道的配置与实战
PicoClaw 聊天应用接入全指南:Telegram、Discord、微信、企业微信等 15 大频道的配置与实战 PicoClaw 是一个轻量、可随处部署的
人工智能AI 应用AI Agent交互助手工具调用MCP ClientsAgent 记忆
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考