Agent harnesses and frameworks

paper-instruments/

feather-train

Agent harness for knowledge work (documents, spreadsheets, presentations, PDFs) with separate packages for eval and model training rollouts.

What’s new here

Feather ships three coordinated packages in one repo: a harness, a training rollout package, and an eval package. The harness itself has a train profile with minimal prompts designed for rollout collection, separate from the prod profile used with professional guidance and image support. The same file and shell tools, the same document skills, serve both profiles.

What it does

Feather has three packages that can be installed independently:

  • feather-harness: the agent loop, file and shell tools, Paper document skills (documents, spreadsheets, presentations, PDFs), context compaction, and a local CLI. Two profiles: prod (default, with professional guidance and image support) and train (minimal prompts and original skill guidance for rollout generation).
  • feather-train: rollouts and grading on snapshotted E2B sandboxed environments, Braintrust logging, and a reference Tinker training integration through Verifiers.
  • feather-eval: runs Feather on Harbor benchmark tasks and exports trajectories in Harbor’s ATIF format.

All three live in a shared uv workspace. You can consume a subset by pinning to a specific Git commit in your own project’s uv.lock.

Who it’s for

ML engineers who want to generate training data from a knowledge-work agent that has both production and training profiles built in. Researchers running Harbor evaluations on document and office-file tasks. Users with an OpenAI-compatible endpoint who want a local CLI agent that works on files.

Try it

Requires macOS or Linux, Bash, curl, and Git. An OpenAI-compatible API key is needed to run the agent.

curl -fsSL https://raw.githubusercontent.com/paper-instruments/feather-train/main/install.sh | bash

The installer provisions its own uv and Python 3.12 into ~/.local/share/feather/. No activation needed. Install ripgrep separately; PDF rendering needs Poppler, and spreadsheet recalculation needs LibreOffice.

mkdir -p workspace
export OPENAI_API_KEY=YOUR_API_KEY
 
~/.local/bin/feather \
  --model YOUR_MODEL --base-url https://YOUR_PROVIDER/v1 \
  --workdir "$PWD/workspace" \
  "Summarize the documents in this workspace into briefing.md." > run.json

Put input files in workspace/. run.json contains the final answer and the execution trace. Omit --base-url for the OpenAI default endpoint.

How mature is it

Created 2026-09-29, last pushed 2026-10-16. 123 stars, 17 forks, 3 contributors, 16 commits in the past 90 days. No releases yet; consume by pinning a full Git commit SHA. 10 open issues, 11 open PRs. MIT license.