Skip to main content

Conversational CLI agent that composes academic literature reviews from a workspace folder of papers, with sentence-level citation grounding.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

junio-0.1.0a1.tar.gz (46.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

junio-0.1.0a1-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file junio-0.1.0a1.tar.gz.

File metadata

  • Download URL: junio-0.1.0a1.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for junio-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 12e35e17168916a4180701f5460eba0550d21df8573ad39f5ce16b4b5f07ee96
MD5 241507293c9cca44efafb0c6d44e8b2d
BLAKE2b-256 4bbe08ef4ad06676ed7d219b8a7e95d01eeb41add5e22f539a5aa5e741b854c2

See more details on using hashes here.

File details

Details for the file junio-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: junio-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for junio-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 51c83ba44766ee84dac429c1fe5dc327669b088c060f90a062ae49c41cd9e7c0
MD5 b0fe49b400716f7c518c035d4ea4404e
BLAKE2b-256 84ffb1875f014475037df3f1a29c2b0d9f7d805946df4aa1c4d782edbf39fe5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page