Byteplan Chat
v1.0.2BytePlan AI 图表生成技能。当用户查询 BytePlan 中的数据、请求数据可视化、生成图表(如"查看不同性别分数段分布"、"查询学生成绩分布"、"BytePlan 数据分析")时自动触发。支持 12 种图表类型(柱状图、折线图、饼图等)。
运行时依赖
安装命令
点击复制技能文档
BytePlan 图表 - BytePlan AI 图表生成技能 功能描述 通过 BytePlan AI 接口自动生成数据可视化图表,支持 12 种图表类型。
配置说明 环境变量(.env 文件) # BytePlan API 配置 BYTEPLAN_BASE_URL=https://uatapp.byteplan.com BYTEPLAN_AUTH_USER=PC BYTEPLAN_AUTH_PASS=你的认证密码 # 登录参数 BYTEPLAN_USERNAME=你的用户名 BYTEPLAN_PASSWORD=你的密码(会自动 RSA 加密) BYTEPLAN_GRANT_TYPE=password BYTEPLAN_SCOPE=write # BYTEPLAN_PUBLIC_KEY_ID 不再需要,运行时动态获取 # AI 配置 BYTEPLAN_AGENT_ID=Agent ID(可选,留空则自动生成) BYTEPLAN_PAGE_CODE=AI_REPORT # 图表配置 CHART_WIDTH=800 CHART_HEIGHT=600 CHART_OUTPUT_DIR=charts
配置项说明 配置项 | 说明 | 默认值 ---|---|--- BYTEPLAN_BASE_URL | BytePlan API 基础 URL | https://uatapp.byteplan.com BYTEPLAN_AUTH_USER | API 认证用户名 | PC BYTEPLAN_AUTH_PASS | API 认证密码 | - BYTEPLAN_USERNAME | 登录用户名 | - BYTEPLAN_PASSWORD | 登录密码(自动 RSA 加密) | - BYTEPLAN_AGENT_ID | AI Agent ID | 自动生成 CHART_OUTPUT_DIR | 图表输出目录 | charts
使用方法 命令行 cd skills/byteplan-chart uv run python main.py <查询内容>
示例 # 查询不同分数段学生数量 uv run python main.py 查询不同分数段学生数量 # 查看不同性别分数段分布 uv run python main.py 查看不同性别分数段分布 # 生成折线图 uv run python main.py 展示每月销售趋势
支持的图表类型 全部支持(12 种) 类型 | 说明 | 状态 ---|---|--- Line | 折线图 | Column | 柱状图(支持分组/堆叠) | Bar | 条形图 | Area | 面积图 | Pie | 饼图 | Rose | 南丁格尔玫瑰图 | Scatter | 散点图 | Box | 箱型图 | Heatmap | 热力图 | DualAxisChart | 双轴图(柱状图 + 折线图) | DetailTable | 明细表 | PivotTable | 透视表 |
测试时间: 2026-03-13 12:40 测试结果: 12/12 通过
工作流程 请求公钥接口获取 RSA 公钥(含 keyId 和 key) 使用公钥对密码进行 RSA 加密 使用加密后的密码和 keyId 登录获取 access_token 调用 AI 接口识别 model_code 执行 AI 分析请求获取图表数据 使用 matplotlib 渲染图表为 PNG(纯 Python 方案,自动检测中文字体)
渲染方案 当前使用:matplotlib(纯 Python) 特性 | 说明 ---|--- 渲染引擎 | matplotlib 3.10+ 字体处理 | 自动检测系统字体并配置 支持平台 | Windows / macOS / Linux 输出格式 | PNG(150 DPI) 字体检测 | 渲染时自动执行:检测操作系统、查找预装中文字体、配置 matplotlib 字体参数、输出检测日志 支持的字体: Windows: Microsoft YaHei(微软雅黑)、SimHei(黑体)、SimSun(宋体) macOS: PingFang SC(苹方)、Heiti SC(黑体) Linux: WenQuanYi Zen Hei(文泉驿)、Noto Sans CJK 如遇到中文乱码: # Linux 安装字体 sudo apt-get install fonts-wqy-zenhei fonts-noto-cjk # Ubuntu/Debian sudo yum install wqy-zenhei-fonts google-noto-sans-cjk-fonts # CentOS/RHEL
输出 图表文件: charts/antv_chart_YYYYMMDD_HHMMSS.png 控制台输出: 完整的 API 响应和图表信息
依赖 Python 3.8+ Python 包:requests, python-dotenv, pycryptodome, matplotlib, numpy
安装依赖 第一步:创建虚拟环境 Windows: cd C:\Users\wangshuai\.openclaw\skills\byteplan-chart uv venv macOS / Linux: cd ~/.openclaw/skills/byteplan-chart uv venv 第二步:安装 Python 包 uv pip install requests python-dotenv pycryptodome matplotlib numpy
macOS 兼容性 完全兼容 macOS 10.15+ (Catalina 或更高版本) 中文字体: 自动检测并使用 PingFang SC(苹方)或 Heiti SC(黑体) 路径处理: 使用 pathlib.Path 自动适配 macOS 路径格式 编码: UTF-8 编码,无乱码问题
验证安装 cd skills/byteplan-chart uv run python main.py 查询不同分数段学生数量 查看输出中的字体检测信息: 检测系统中文字体... 找到中文字体:Microsoft YaHei 字体配置成功:Microsoft YaHei
修复记录(2026-03-13) 问题 1:渲染脚本调用命令错误 文件: main.py (第 473 行) 问题: 使用 py 命令在虚拟环境中找不到 matplotlib 修复: 改为 uv run python 确保在虚拟环境中运行 代码: ['uv', 'run', 'python', str(render_script), ...] 问题 2:参数检查错误 文件: render_chart.py (第 607 行) 问题: len(sys.argv) < 4 检查错误,实际只需要 3 个参数 修复: 改为 len(sys.argv) < 3 说明: 参数 = 脚本名 + JSON 字符串 + 输出路径 问题 3:依赖缺失 问题: 虚拟环境中缺少 matplotlib 等必要的 Python 包 修复: 使用 uv pip install 安装所有依赖
安全提示 .env 文件包含敏感信息,请勿提交到版本控制 建议将 .env 添加到 .gitignore 定期更新 API 凭证