-
Notifications
You must be signed in to change notification settings - Fork 0
CLI Guide
The CLI is an interactive terminal assistant, not a one-shot batch generator.
Use the CLI when you want:
- a terminal-based workflow
- persistent workspace reuse without the desktop GUI
- chat-based interaction over course files
- generated study documents from natural-language requests
The CLI requires a course name when input files are provided.
Example:
python -m uacragent outline.pdf lecture1.pdf lecture2.pdf \
--course-name "Introduction to Algorithms"- It loads the configured provider and embedding settings.
- It creates or reuses a managed CLI workspace.
- It indexes the supplied files, or reuses the existing index when possible.
- It enters an interactive chat loop in the terminal.
- You ask questions or request generated study documents.
CLI working files are stored under:
<app_data_dir>/cli_run/<workspace_id>/
Inside that workspace, the app keeps its own files under:
<workspace>/.uacragent/
That bundle contains things such as:
- copied uploads
- Chroma vector database
- generated outputs
--workspace-id controls the workspace folder name under cli_run/.
Reusing the same --workspace-id helps the CLI reuse:
- the existing Chroma index
- unchanged embedded documents
- existing output history in the same workspace
The CLI supports:
- DOCX
- CSV
- TXT
- Markdown
- JSON
- HTML
- XML
- common code/text files supported by the current loader path
You can provide one explicit document type for all positional files with --doc-type.
Example:
python -m uacragent syllabus.pdf \
--course-name "Data Structures" \
--doc-type syllabusImportant behavior:
- when you provide
--doc-type, all positional files are treated as that same type - when you omit
--doc-type, all positional files are treated asother
python -m uacragent lecture.pdf \
--course-name "Linear Algebra"python -m uacragent syllabus.pdf \
--course-name "Data Structures" \
--doc-type syllabus \
--exam-type final \
--exam-format mixed \
--workspace-id csc263-finalpython -m uacragent notes.pdf \
--course-name "Operating Systems" \
--doc-type lecture_note \
--university-name "University of Toronto" \
--major "Computer Science" \
--course-code "CSC369" \
--professor-name "Dr. Smith" \
--semester "Fall 2024" \
--exam-duration "2 hours" \
--effort-level high \
--workspace-id csc369-sessionOnce indexing is complete, you can ask questions such as:
Explain the main topics covered in these notes.What should I focus on for the final?Generate a review summary for this course.Generate a practice booklet for this course.Generate a mock exam for this course.Generate an exam prediction for this course.
The CLI currently exposes:
--effort-level low--effort-level medium--effort-level high
This changes retrieval and context depth for chat turns and generated document requests.
The CLI does not currently expose the desktop Reasoning mode toggle.
Generated documents from the CLI use the default quick reasoning pipeline.
The CLI reads provider settings from:
<app_data_dir>/.env- current working directory
.env - shell environment variables
The matching provider API key must be available for the selected provider unless you are using a local embedding path where no embedding API key is needed.
You can leave the CLI with:
exitquitCtrl-CCtrl-D