Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

junio

A conversational CLI agent that composes academic literature reviews from a workspace folder of papers — with sentence-level citation grounding and a verifier that checks every claim against the actual source passage.

Built on the OpenAI Agents Python SDK, defaulting to GLM-5.1 via Zhipu's OpenAI-compatible endpoint.

What it does

  1. You drop PDF/DOCX papers into a workspace folder.
  2. You run junio in your IDE terminal.
  3. You converse with the agent: "Compose a review on retrieval-augmented generation, ~5000 words".
  4. The agent drafts an outline, composes each section in parallel, runs a verifier on every claim against the actual paper passages, and renders the result as report.docx and report.pdf.
  5. You give feedback in the REPL: "Section 3 should be more critical" — the agent revises that section and re-renders.
  6. Conversation persists across junio invocations in the same workspace, so you can pick up where you left off.

Status

Alpha. First prototype is functional end-to-end on a small fixture corpus.

Quick start

pip install -e .                # from a clone
export ZHIPU_API_KEY=...         # or put it in a .env file
cd ~/projects/my-review
mkdir -p papers
cp ~/Downloads/*.pdf papers/
junio

Workspace layout

<workspace>/
├── papers/           user drops PDF/DOCX here (auto-discovered)
├── template.docx     optional — overrides built-in templates
├── junio.toml        optional — language, citation style, defaults
├── .junio/           agent-managed state (gitignore'd)
│   ├── cache/        parsed text + embeddings
│   ├── session.db    conversation state (resumable)
│   ├── sandbox/      temp scripts for run_python tool
│   └── runs/<ts>/    every render archived
├── report.docx       latest output
└── report.pdf        latest output

CLI flags

Flag Effect
--workspace <path> Override workspace (default: cwd)
--fresh Delete .junio/session.db and start over
--no-resume Don't auto-load previous session, but don't delete it
--lang {en,zh,auto} Override language detection
--cite {apa,ieee,chicago,gb7714} Override citation style
--config <toml> Use alternate config file
--debug Verbose logging

License

MIT — see LICENSE.

Design

See docs/superpowers/specs/2026-04-30-literature-review-agent-design.md for the architecture spec.

Metadata

Release files for junio 0.1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for junio 0.1.0a1
File Size Uploaded Provenance
junio-0.1.0a1.tar.gz 46.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for junio 0.1.0a1
File Interpreter ABI Platform
junio-0.1.0a1-py3-none-any.whl Python 3 none any Details

Total release size: 90.2 kB

Release files / junio-0.1.0a1.tar.gz

Download URL junio-0.1.0a1.tar.gz
Size 46.9 kB
Tags Source
SHA-256 checksum
How to use checksums
12e35e17168916a4180701f5460eba0550d21df8573ad39f5ce16b4b5f07ee96
BLAKE2b-256 checksum
How to use checksums
4bbe08ef4ad06676ed7d219b8a7e95d01eeb41add5e22f539a5aa5e741b854c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / junio-0.1.0a1-py3-none-any.whl

Download URL junio-0.1.0a1-py3-none-any.whl
Size 43.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51c83ba44766ee84dac429c1fe5dc327669b088c060f90a062ae49c41cd9e7c0
BLAKE2b-256 checksum
How to use checksums
84ffb1875f014475037df3f1a29c2b0d9f7d805946df4aa1c4d782edbf39fe5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Security for junio 0.1.0a1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page