Poe Chat:Openclaw Skills 的多模型 AI 集成

作者:互联网

2026-03-25

AI教程

什么是 Poe Chat?

Poe Chat 技能是专为 Openclaw Skills 设计的综合集成,使用户能够与 Poe 上托管的各种大语言模型(LLM)进行通信,包括 Gemini、GPT、Claude、Kimi 和 Deepseek。通过在消息中使用 @gemini 或 @gpt 等触发词,用户可以利用不同模型的特定优势,而无需手动配置。

该技能通过动态获取可用模型 ID 并根据智能优先级逻辑选择最合适的版本,实现了模型管理的自动化。它作为本地环境与 Poe 上强大模型生态系统之间的桥梁,确保您始终使用最合适的工具。

下载入口:https://github.com/openclaw/skills/tree/main/skills/longmans/poe-chat

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install poe-chat

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 poe-chat。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Poe Chat 应用场景

  • 在聊天中使用 @claude 或 @gemini 等提及方式触发特定的 AI 提供商。
  • 自动选择最高效的模型版本,例如在标准查询中优先选择 Flash 版本而非 Pro 版本。
  • 通过将本地 PDF 或文本文件直接上传到 Poe 托管的模型来进行文档分析。
  • 通过单一的 Openclaw Skills 界面集中访问 Kimi 或 Deepseek 等多样化模型。
Poe Chat 工作原理
  1. 技能扫描用户消息中以 @ 符号开头的触发词。
  2. 执行搜索脚本从 Poe API 获取所有可用模型的列表。
  3. 创建或更新本地缓存 (models.json) 以存储模型 ID 和描述,确保后续查询的快速响应。
  4. 技能根据触发词和预定义的优先级层次结构(例如优先选择最新版本和非 Pro 模型,除非另有说明)选择最佳匹配的模型 ID。
  5. 如果附带文件,则通过 fastapi-poe 客户端将其上传到 Poe 的基础设施。
  6. 向 Poe 发送最终请求,返回响应并清晰标记所使用的具体模型。

Poe Chat 配置指南

要开始为 Openclaw Skills 使用此技能,请按照以下步骤操作:

  1. 安装必要的 Python 依赖项:
pip install -r scripts/requirements.txt
  1. 将您的 Poe API Key 配置为环境变量:
export POE_API_KEY="your_api_key_here"
  1. 初始化本地模型缓存:
python scripts/list_models.py

Poe Chat 数据架构与分类体系

Poe Chat 技能使用以下结构管理数据,以优化 Openclaw Skills 内的性能:

组件 格式 描述
models.json JSON 文件 可用模型 ID 的本地缓存,根据文件修改时间每小时刷新一次。
POE_API_KEY 环境变量 与 Poe API 通信所需的身份验证令牌。
model_id 字符串 所选 LLM 的唯一标识符(例如 gemini-1.5-flash)。
attachments 列表 文件元数据集合,包括已上传文档的名称、类型和 URL。
name: poe-chat
description: 使用 @gemini/@gpt/@claude 等触发词调用 Poe 模型(含 Gemini/GPT/claude/kimi/Deepseek等主流模型),自动选择 model_id 并说明使用了哪一个,支持文件上传。

Poe Chat Skill

适用场景

  • 用户输入包含 @gemini@gpt 等 @触发词,希望用 Poe 上的具体模型回答问题。
  • 需要自动匹配最合适的具体模型名称(例如 gemini-3-flash)。
  • 支持把本地文件上传给模型分析。

使用方式

1) 安装依赖(只需一次)

pip install -r scripts/requirements.txt

如系统没有 python 命令,请改用 python3 执行下列命令。

2) 设置 Poe API Key(如未设置)

export POE_API_KEY="your_api_key"

也可以在调用时通过 --api-key 传入(优先生效)。

3) 查看可用模型(独立脚本)

python scripts/list_models.py

默认会在当前目录生成精简版 models.json(仅包含 id),并作为本地缓存(缓存时间 1 小时,基于文件修改时间)。

也可指定输出文件名:

python scripts/list_models.py --out models.json

如需查看完整模型信息(如 description 等),使用 --full

python scripts/list_models.py --full --out models-full.json

4) 根据模型列表选择模型 ID

models.json 中选择要使用的模型 ID:

  • 重点字段是 data[].id(这就是 model_id
  • 可结合 data[].description 判断用途和能力

示例(手动选择):

{
  "data": [
    {"id": "gemini-3-pro", "description": "..."},
    {"id": "claude-opus-4.6", "description": "..."}
  ]
}

当用户输入 @gemini ... 时,选择包含 Gemini 的模型,并遵循以下优先级:

  1. 默认优先非 Pro(例如优先 gemini-3-flash 而不是 gemini-3-pro
  2. 优先最新版本号(例如 2.5 优于 2.0)
  3. 只有用户明确要求 Pro/Ultra 时才选 Pro/Ultra(例如用户输入 @gemini-pro 或明确说“用Pro”)

5) 调用脚本(直接传入模型 ID)

python scripts/poe_client.py r
  --message "请解释量子计算" r
  --model-id "gemini-3-flash" r
  --api-key "your_api_key" r
  --file "/path/to/document.pdf"

说明

  • --message 必填,内容中包含 @xxx 触发词即可(如 @gemini、@gpt)。
  • --file 可选,可重复多次上传多个文件。

行为准则

  1. 解析触发词:从用户消息中提取第一个 @xxx 触发词。
  2. 模型选择:根据 models.json 里的 data[].id 手动选择最相关的具体模型。
  3. 模型列表:通过 list_models.py 获取模型列表,内存缓存 1 小时(不持久化)。
  4. API Key:若环境变量 POE_API_KEY 未设置,poe_client.py 会提示用户输入。
  5. 文件上传:如提供 --filepoe_client.py 使用 fastapi-poe 上传并附加到请求。
  6. 响应输出:回答正文前必须标注 具体模型名(例如 Model used: gemini-3-flash)。

输出格式

Model used: <具体模型名>

<模型回答内容>

如存在模型返回的附件,列出附件信息(名称、类型、URL)。