yb2460/harness-anything · 上手攻略
- 仓库:yb2460/harness-anything
- 链接:https://github.com/yb2460/harness-anything
- 分类:AI Agent 工具链 · 办公自动化 · 设计工具
- 作者:Tom
- 更新:2026-07-28
一、是什么
Harness Anything 是一个开源的 AI Agent 控制中枢,通过 CLI 封装,将一系列闭源商业软件(WPS Office、Microsoft Office、Adobe 全家桶、Zotero)变成 AI Agent 可编程操控的目标。核心思路借鉴 CLI-Anything 的 Harness 方法论,但后者只支持 GIMP、Blender 等开源软件;本项目则把目标对准了国内最主流的办公套件 WPS、以及 Adobe 设计全家桶,让 AI Agent 能像操控开源工具一样操控这些闭源软件。
项目由 4 个子模块组成:
| 模块 | 功能 | 依赖 |
|---|---|---|
cli-anything-wps |
47 个 CLI 命令操控 WPS / MS Office(Word/Excel/PowerPoint) | Windows + WPS 2019+ 或 Office 2016+ |
cli-anything-zotero |
27 个学术 Skill,文献管理 + 写作流水线 | Zotero 7+ |
cli-anything-illustrator |
操控 Adobe Illustrator 创建矢量图形 | Adobe Illustrator 2023+ |
cli-anything-photoshop |
操控 Adobe Photoshop 创建位图图像 | Adobe Photoshop 2023+ |
WPS/ |
JSON 数据驱动 PPT 全自动生成(含 16 所高校案例) | Windows + WPS |
二、解决什么问题
痛点: AI Agent 生态高度依赖开源软件,但现实中大量行业核心工具是闭源的:
- WPS Office 是国内最主流办公套件(月活 6 亿+设备),但没有开源 API
- Adobe 全家桶(Ps/Ai)是设计行业事实标准,但官方脚本接口对 AI Agent 不友好
- 学术写作依赖 Zotero,但 Zotero 的插件接口碎片化
Harness Anything 的答案: 只要软件在 Windows 上暴露了 COM 自动化接口,就能接进 AI 的指挥系统。COM 接口与 Microsoft Office VBA 兼容,技术成熟且稳定。
三、快速安装
环境要求
- Windows 10 / 11
- Python 3.10+
- WPS Office 2019+(或 Microsoft Office 2016+)
- Adobe 软件(按需安装,非必须)
安装步骤
# WPS / MS Office 操控
pip install git+https://github.com/yb2460/cli-anything-wps.git
# Zotero 学术 Skill(独立安装)
pip install git+https://github.com/yb2460/cli-anything-zotero.git
# Adobe Illustrator 操控
cd illustrator-harness/agent-harness
pip install -e .
# Adobe Photoshop 操控
cd photoshop-harness/agent-harness
pip install -e .
# 依赖 pywin32(如未安装)
pip install pywin32
⚠️ 安装后需验证:
cli-anything-wps --help(若提示找不到命令,尝试重启终端或检查 PATH)
四、核心用法
4.1 WPS 办公自动化
基础命令示例:
# 创建 WPS 演示文稿
cli-anything-wps document new --type impress --name "演示"
# 应用预设设计(学术答辩风格)
cli-anything-wps preset apply academic --talk-type defense
# 导出为 PPTX 和 PDF
cli-anything-wps export render output.pptx -p pptx
cli-anything-wps export render output.pdf -p pdf
# WPS Writer:新建文档并写入内容
cli-anything-wps writer new --name report.docx
cli-anything-wps writer add-paragraph --text "这是第一段" --bold
# WPS Calc:操作表格
cli-anything-wps calc new --name data.xlsx
cli-anything-wps calc set-cell --sheet Sheet1 --cell A1 --value "Hello"
Writer 支持的功能(部分): - 段落/标题/列表/表格/图片插入 - 字体样式(粗体/斜体/颜色/字号) - 查找替换、页眉页脚 - 导出:DOCX / PDF / TXT / HTML / RTF
Calc 支持的功能(部分): - 工作表增删改 - 单元格读写(单格 + 批量区域) - 公式设置、合并单元格 - 导出:XLSX / PDF / CSV / HTML
Impress 支持的功能(部分): - 幻灯片增删改排 - 文本框、形状绘制 - 背景设置 - 导出:PPTX / PDF
通用能力:
- 所有命令支持 --json 输出,AI Agent 可直接解析
- 交互式 REPL 模式(无参数运行时进入)
- 会话持久化 + 撤销/重做(最多 50 步历史)
- 后台模式(Visible=False)用于批量自动化
4.2 WPS JSON 数据驱动 PPT(全自动生成)
这是项目最亮眼的子模块——不需要写命令,直接提供 JSON 数据,引擎自动操控 WPS 生成 PPT。
工作流:
template_bg.png(16:9 母版底图,WPS 做母版 → 截图)
+
ppt_data.json(中文内容,每页 elements[])
+
build_ppt.py(纯 ASCII 引擎,读 JSON 驱动 WPS COM)
↓
WPS 可见生成 → PPTX + PDF
示例 JSON 结构:
{
"canvas": { "w": 960, "h": 540 },
"slides": [
{
"id": 1,
"title": "封面",
"elements": [
{
"type": "text",
"x": 60, "y": 60, "w": 840, "h": 150,
"text": "标题",
"fs": 48,
"color": "#004098",
"bold": true,
"align": 2,
"font": "SimHei"
},
{
"type": "cards_1x4_info",
"items": [{ "num": "数据", "label": "标签" }],
"start_y": 340
}
]
}
]
}
支持的元素类型:
| type | 用途 | 关键参数 |
|---|---|---|
text |
文本框 | x,y,w,h,text,fs,color,bold,align,font,line_spacing |
image |
图片 | x,y,w,h,file |
table |
数据表格 | x,y,w,h,rows,cols,data,header_color |
cards_1x4_info |
4列统计卡 | items[{num,label}], start_y |
cards_2x3 |
2行×3列网格 | items[{title,desc,color}], start_y |
card_list_wide |
目录列表 | items[{num,title,sub}], start_y |
tagline_bar |
底部总结条 | x,y,w,h,text,color |
timeline_horiz |
水平时间轴 | (见文档) |
生成命令:
# 进入高校项目目录,以南科大为例
cd WPS/南科大
python build_sustech.py
# 生成 output.pptx + output.pdf
布局规范(重要): - 背景:模板底图铺满,绝不遮挡 - 标题:居中(align=2),SimHei 40-44pt,品牌色,无装饰线 - ⚠️ 标题与内容间距 ≥24pt(标题 y≈14,h=40 结束于 y≈54,内容必须从 y≥76 开始) - 正文:Microsoft YaHei 15-20pt,黑色 #333 - 每页图表/表格/卡片 ≥2 种视觉元素
4.3 Zotero 学术 Skill
# 列出所有学术 Skill
cli-anything-zotero skills list
# 推荐论文(论著推荐流程)
cli-anything-zotero skills pipeline original_article
# Meta 分析流程
cli-anything-zotero skills pipeline meta_analysis
# 查询期刊规范(如 Nature)
cli-anything-zotero skills journal "Nature"
# 检索文献
cli-anything-zotero catalog search "machine learning"
7 大 Skill 分类:
| 分类 | Skill 数 | 能力 |
|---|---|---|
| search | 3 | 快速检索 / 系统评价 / 深度文献搜索 |
| research | 4 | 创意生成 / 头脑风暴 / 假设 / 深度研究 |
| writing | 5 | 论文写作 / IMRAD稿件 / 引用 / 大纲 / 修改 |
| review | 5 | 5人审稿 / 同行评审 / 七轮对抗 / 引用验证 |
| visualization | 4 | 幻灯片 / 示意图 / 海报 / 期刊图表 |
| analysis | 3 | 探索分析 / 统计 / 证据评估 |
| pipeline | 2 | 完整学术流水线 / 研究到论文 |
4.4 Adobe Illustrator 操控
# 新建 AI 文档
cli-anything-illustrator project new logo.ai -w 500 -h 500
# 添加文字
cli-anything-illustrator text add "Brand" --x 100 --y 100 --font "Arial" --size 72
# 绘制矩形
cli-anything-illustrator shapes rect --x 50 --y 50 --w 200 --h 200
# 导出 SVG
cli-anything-illustrator export svg output.svg
命令组: project / layers / shapes / text / export
4.5 Adobe Photoshop 操控
# 新建 PSD
cli-anything-photoshop project new poster.psd -w 1920 -h 1080
# 添加文字图层
cli-anything-photoshop text add --content "Hello World" --font "Arial" --size 72
# 导出 PNG
cli-anything-photoshop export png --output result.png
命令组: project / document / layer / selection / image / text / export / filter
五、典型适用场景
- 批量生成格式统一的 PPT/文档:高校汇报、企业述职、学术答辩——用 JSON 数据驱动,一套模板 + N 份内容,批量出稿。
- AI Agent 驱动的办公自动化:在 Claude Code、Codex CLI 等 AI 编码工具中调用
cli-anything-wps,用自然语言控制 WPS 生成文档。 - 学术写作流水线:从文献检索→论文写作→图表制作→同行评审,全流程在终端内完成,减少工具切换。
- 设计素材批量生产:用 AI Agent 生成 banner、海报、logo,操控 Ps/Ai 自动出图,减少设计师手工操作。
六、坑与注意
| 坑 | 说明 |
|---|---|
| Windows 专属 | COM 接口是 Windows 专有技术,macOS / Linux 用户无法使用 |
| WPS/Office 版本要求 | WPS 2019+ 或 Office 2016+;家庭和学生版可用(确认 COM 组件未被精简) |
| Adobe 软件前台运行 | Adobe 操控需软件在前台或可见状态(部分命令不支持完全后台) |
| Python 版本 | 要求 Python 3.10+,pywin32 必须正确安装(python pywin32_postinstall.py -install) |
| 中文路径 | 项目内部分路径含中文字符,克隆时确保文件系统编码为 UTF-8 |
| WPS COM 端口占用 | 连续运行时 WPS 进程可能未完全退出,先执行 taskkill //F //IM wps.exe 再运行下一个脚本 |
| 图表字体 | matplotlib 图表中文字体建议用 SimHei(标题)和 Microsoft YaHei(标签),避免默认字体在 PPT 中显示乱码 |
| Zotero 需提前配置 | Zotero Skill 依赖 Zotero 7 本地安装及对应 connector,不可独立运行 |
七、与同类对比
| 工具 | 平台 | 控制方式 | 特点 |
|---|---|---|---|
| Harness Anything | Windows + WPS/Office/Adobe | CLI + COM | 支持 WPS,JSON 数据驱动 PPT 生成是独家能力 |
| CLI-Anything | 跨平台 | CLI | 只支持开源软件(GIMP、Blender 等),不覆盖 WPS/Adobe |
| python-pptx | 跨平台 | Python 库 | 直接生成 PPTX,不经过 WPS,适合无 WPS 环境;不支持 Word/Excel 综合操控 |
| PyAutoGUI | Windows/macOS | 图像识别+模拟键鼠 | 模拟键鼠,不稳定;无法操控 Excel 内部对象 |
| Microsoft 365 Copilot | 云端 | LLM API | 企业 SaaS,需订阅,不开源,无法本地批量自动化 |
| Adobe Scripts | Windows/macOS | ExtendScript/VBS | 官方脚本,需手动编写,不支持 AI Agent 友好接口 |
核心差异: Harness Anything 是目前唯一将 WPS Office 纳入 AI Agent 控制链的开源方案;JSON 数据驱动的 PPT 全自动生成方案在同类工具中尚无直接竞品。
八、一句话推荐结论
如果你需要让 AI Agent 操控 WPS 或 Adobe 生成文档/设计素材,或需要用 JSON 批量自动化生成高质量 PPT,Harness Anything 是目前最成熟的开源选择——一条
pip install就能把闭源办公套件变成 AI 的可控工具。
本攻略基于 GitHub README 及 WPS/README.md 等公开文档整理。实际使用请以最新代码为准。