matplotlib是hermes agent中实现结构化、可复用数据可视化的基础集成选项,需依次完成环境验证、技能启用、自然语言触发、代码直调及中文配置五步操作。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在Hermes Agent中实现结构清晰、可复用的数据可视化输出,Matplotlib是最基础且高度可控的集成选项。以下是针对该集成目标的具体操作路径:
一、确认Matplotlib环境可用性
Matplotlib必须在Hermes Agent运行环境中已安装并能被Python进程正确调用,否则后续图表生成将失败。需验证其是否处于就绪状态。
1、进入Hermes Agent所在终端环境,执行命令:python -c "import matplotlib; print(matplotlib.__version__)"
2、若提示ModuleNotFoundError,则需安装:执行pip install matplotlib
3、如遇AttributeError: 'FigureCanvasInterAgg' object has no attribute 'tostring_rgb'报错,说明后端不兼容,需在代码头部插入:import matplotlib; matplotlib.use('TkAgg')
二、启用Hermes Agent内置Matplotlib技能
Hermes Agent通过skills/mlops/lm-evaluation-harness/SKILL.md定义了标准接口,仅当对应技能模块被加载时,自然语言指令才能触发绘图流程。
1、检查skills/mlops/lm-evaluation-harness/目录是否存在且含__init__.py文件
2、确认cli-config.yaml中enabled_skills字段包含"matplotlib_plot"或类似标识
3、重启Agent服务以加载更新后的技能列表:systemctl restart hermes-agent
三、使用自然语言指令触发图表生成
无需编写代码,用户可通过语义化指令驱动Hermes Agent自动解析数据结构、选择图表类型并调用Matplotlib渲染。
1、准备待分析数据文件,保存为sales_data.csv,确保首行为列名,内容为纯数字字段(如month,revenue,profit)
2、在CLI中输入指令:分析sales_data.csv中的月度趋势并生成折线图
3、观察Agent输出日志,确认其生成并执行了含plt.plot()和plt.savefig()的临时脚本
四、手动注入Matplotlib代码片段
当自然语言指令无法准确匹配预设技能逻辑时,可绕过技能系统,直接提交可执行的Python绘图代码,由terminal_tool.py执行。
1、构造完整脚本,例如哑铃图代码段(适配8个产品类别的两年对比):
import pandas as pd; import matplotlib.pyplot as plt; data = pd.read_csv('sales_data.csv'); plt.scatter(data['2022'], data['2023']); plt.plot([data['2022'], data['2023']], [range(len(data)), range(len(data))], 'k-'); plt.xlabel('2022 Revenue'); plt.ylabel('2023 Revenue'); plt.savefig('dumbbell.png')
2、将上述单行代码粘贴至CLI,以!python前缀调用:!python -c "import pandas as pd; ... "
3、检查当前目录是否生成dumbbell.png文件
五、配置中文显示与样式参数
默认Matplotlib不支持中文字符,若图表标题或坐标轴标签出现方块,需显式设置字体及负号处理规则。
1、编辑~/.hermes/config/matplotlibrc(若不存在则新建),写入:
font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans, sans-serif
axes.unicode_minus: False
2、或在每次绘图脚本开头添加两行:
plt.rcParams['font.sans-serif'] = ['SimHei']; plt.rcParams['axes.unicode_minus'] = False
3、验证效果:执行含中文标题的指令,如绘制销售额柱状图,标题为“各品类2023年销售对比”











