# harness-anything: CLI Control for WPS, Office, Zotero, Illustrator, and Photoshop via AI Agents

> A Windows-only toolkit that gives AI agents CLI commands over WPS Office, Microsoft Office, Zotero, Adobe Illustrator, and Adobe Photoshop through COM automation, with 47 office commands, 27 academic skills, and PPT generation from JSON data.

**yb2460/harness-anything** — Harness Anything - AI agent control hub: WPS, MS Office, Zotero, Photoshop, 47 CLI commands, 27 academic skills, SVG-to-PPTX

- Repository: https://github.com/yb2460/harness-anything
- Stars: 2,142 · Forks: 143
- Language: Python
- License: MIT
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/yb2460-harness-anything

## What Problem harness-anything Solves for AI Agents

AI agents working on document and design tasks face a common bottleneck: most office and design applications do not expose a command-line interface. An agent that needs to create a presentation, insert a chart, or apply paragraph styles must either generate raw XML and hope the format is correct, or drive a GUI through brittle screenshot-based automation.

harness-anything takes a third path: it exposes the Windows COM automation interfaces of WPS Office, Microsoft Office, Adobe Illustrator, Adobe Photoshop, and Zotero as structured CLI commands. An AI agent can call cli-anything-wps document new --type impress --name demo to create a presentation, or cli-anything-zotero skills pipeline thesis to trigger a full academic writing workflow, without needing to understand COM object models or manage application windows directly.

The target users are teams building AI agent workflows on Windows that need reliable, scriptable control over production office and design software. The project explicitly supports both WPS Office (dominant in China) and Microsoft Office, with COM ProgID documentation for switching between them.

## COM Automation as the Core Mechanism

All application control in harness-anything goes through Windows COM (Component Object Model) automation. COM is a binary interface standard that Windows applications expose to allow external programs to control them programmatically. Office applications have supported COM since the 1990s; WPS Office implements a compatible interface.

The architecture for each harness is the same: a Click-based CLI layer translates command arguments into method calls on a Core module, which bridges to the COM object model via pywin32. For the WPS harness, the entry point is cli-anything-wps, which maps to the cli_anything.wps.wps_cli:main function registered as a console script.

The setup.py lists the runtime dependencies as click, prompt-toolkit, and pywin32 (Windows only). pywin32 provides the Python-to-COM bridge that the harnesses use to control running application instances or launch them fresh. The Adobe Illustrator and Photoshop harnesses follow the same pattern but are installed separately from their own directories.

## Installing cli-anything-wps and Running First Commands

Install the WPS harness:

```bash
pip install git+https://github.com/yb2460/cli-anything-wps.git
```

Create a new presentation, apply a preset, and export it:

```bash
cli-anything-wps document new --type impress --name demo
cli-anything-wps preset apply academic --talk-type defense
cli-anything-wps export render output.pptx -p pptx
```

For the Illustrator harness, install from the subdirectory:

```bash
cd illustrator-harness/agent-harness
pip install -e .
```

Create a document, add text and a shape, and export:

```bash
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 100
cli-anything-illustrator export svg output.svg
```

For Photoshop:

```bash
cd photoshop-harness/agent-harness
pip install -e .
cli-anything-photoshop project new poster.psd -w 1920 -h 1080
cli-anything-photoshop text add --content "Hello World" --font "Arial" --size 72
cli-anything-photoshop export png --output result.png
```

The prerequisites for the Adobe harnesses are Windows 10/11, Adobe Illustrator 2023 or later (for Illustrator), Adobe Photoshop 2023 or later (for Photoshop), and pywin32.

## The Zotero Academic Research Toolkit

The Zotero harness integrates a reference manager with 27 academic skills organized into seven categories: search (rapid retrieval, systematic review, deep literature search), research (ideation, brainstorming, hypothesis generation, deep research), writing (drafting articles, IMRAD manuscripts, citations, outlines, revisions), review (five-person review simulation, peer review, adversarial multi-round critique, citation verification), visualization (slides, diagrams, posters, journal figures), analysis (exploratory analysis, statistics, evidence assessment), and pipeline (complete academic workflows from research to publication).

The commands follow a consistent pattern:

```bash
cli-anything-zotero skills list
cli-anything-zotero skills pipeline original_article
cli-anything-zotero skills pipeline meta_analysis
cli-anything-zotero skills journal "Nature"
```

The journal command applies the figure specification for a named journal to output visualizations. The pipeline commands run end-to-end workflows.

The WPS PPT automation component takes a different approach: JSON data files drive a Python engine that generates slides through the WPS COM interface. The included examples cover five university recruitment presentations with different color schemes, page counts, and element types. The engine routes 13 element types including text, tables, charts, cards, and timelines.

## Windows-Only Constraint and Other Limitations

The project requires Windows 10 or 11. COM automation does not exist on macOS or Linux. All three application harnesses (WPS, Illustrator, Photoshop) depend on pywin32, which only builds on Windows. The README does not mention Wine or VM-based workarounds.

The WPS harness supports both WPS Office and Microsoft Office, but the COM ProgID must be changed manually in configuration to switch from WPS to Microsoft targets. The README documents the ProgID values but does not automate target detection.

The Illustrator and Photoshop harnesses require the corresponding Adobe application to be installed, licensed, and registered as a COM server. Adobe applications can be finicky COM servers; first-run registration issues or permission problems on managed enterprise machines can prevent the COM bridge from initializing without administrator intervention.

Version 1.0.0 is marked beta in the PyPI classifiers. The project has no GitHub releases and no changelog beyond what the README documents.

## Alternative: pywinauto

pywinauto is a Python library for Windows GUI automation that works with any application, not just those that expose COM interfaces. It operates at the UI Automation (UIA) or Win32 level, interacting with application windows, buttons, text fields, and menus through the accessibility tree.

The difference in approach is significant. pywinauto drives an application through its visible UI, which means it is sensitive to window layout changes, dialog boxes that appear unexpectedly, and application version differences that alter UI structure. harness-anything drives applications through their COM object model, which is a documented and stable programmatic interface that applications maintain across versions for backward compatibility.

For AI agents that need reliable, structured document creation commands, the COM-based approach in harness-anything is more predictable than UI-level automation. pywinauto is the better choice when no COM interface is available or when driving applications that do not support COM.

## License and Maintenance

The repository uses the MIT license. The setup.py version is 1.0.0 with a Development Status classifier of Beta.

The last push to the master branch was on 2026-09-26. The project has no GitHub releases and no formal changelog. The WPS, Zotero, Illustrator, and Photoshop harnesses are structured as separate installable components in the same repository, sharing the top-level directory but each installable independently from its own subdirectory.

The COM compatibility note in the README states that the WPS harness COM interface is compatible with Microsoft Office VBA, which means the same CLI commands should work against Microsoft Office applications by changing the ProgID values to PowerPoint.Application, Word.Application, or Excel.Application.

## Conclusion

harness-anything is the right tool for teams building Windows-based AI agent workflows that need to drive document creation, spreadsheet editing, slide generation, bibliography management, or design application control from a programmatic CLI interface. It does not work on macOS or Linux. Teams on non-Windows platforms should look at python-docx or openpyxl for document automation without COM. The MIT license permits commercial use. The last push was on 2026-09-26, and version 1.0.0 is marked beta. Before deploying in production, test your COM environment: pywin32 registration and the availability of the target application as a COM server must be verified on each machine.

## FAQ

### Does harness-anything work on macOS or Linux?

No. All harnesses depend on Windows COM automation via pywin32, which only runs on Windows 10 or 11. The README does not describe any cross-platform alternative.

### Can harness-anything control Microsoft Office instead of WPS?

Yes. The COM interface is compatible with Microsoft Office VBA. The README documents that changing the ProgID to PowerPoint.Application, Word.Application, or Excel.Application switches control to Microsoft Office instead of WPS.

### What Python version and system requirements does harness-anything need?

Python 3.10 or later is required, along with pywin32 on Windows 10/11. The Adobe harnesses additionally require Adobe Illustrator 2023 or later, or Adobe Photoshop 2023 or later, installed and licensed on the same machine.

## Sources

- [Issues](https://github.com/yb2460/harness-anything/issues)
- [License: MIT](https://github.com/yb2460/harness-anything/blob/master/LICENSE)
- [README](https://github.com/yb2460/harness-anything/blob/master/README.md)
- [yb2460/harness-anything on GitHub](https://github.com/yb2460/harness-anything)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/yb2460-harness-anything
