GovOn
AI-powered agentic CLI for Korean public-sector civil complaint workflows.
Government employees in South Korea spend hours drafting responses to civil complaints — looking up laws, finding precedents, and formatting official documents. GovOn automates that entire workflow. You type a natural-language request, and an AI agent retrieves relevant data, searches legal references, and generates a draft response in official document format.
The CLI is lightweight (~10 MB). The heavy lifting happens on a remote server running EXAONE 4.0-32B with domain-specific LoRA adapters for civil and legal tasks.
Quick Start
pip install govon
export GOVON_RUNTIME_URL=https://umyunsang-govon-runtime.hf.space
govon
Installation
Prerequisites: Python 3.10+ or Node.js 18+ or Homebrew
pip (recommended)
pip install govon
npm
npm install -g govon
Homebrew (macOS / Linux)
brew tap govon-org/govon && brew install govon
Self-hosted runtime (GPU required)
You can host your own GovOn runtime on Hugging Face Spaces or on-premises.
Option A: Hugging Face Spaces (recommended)
- Duplicate the reference Space: umyunsang/govon-runtime
- Select A100 GPU (80 GB) or higher hardware
- Wait for the Space to start, then set your CLI to point at it:
export GOVON_RUNTIME_URL=https://<your-hf-username>-govon-runtime.hf.space
govon
Tip: Add the export to your shell profile (
~/.zshrc,~/.bashrc) so it persists across sessions.
Option B: Docker (on-premises)
govon server pull
govon server start
Option C: pip extras (bare-metal)
pip install govon[server]
Hardware requirement: The runtime requires an NVIDIA GPU with ≥ 80 GB VRAM (A100 80 GB or higher). Smaller GPUs will fail to load the EXAONE 4.0-32B model.
Usage
Interactive mode (REPL)
# Point the CLI to your runtime (HF Space, Docker, or localhost)
export GOVON_RUNTIME_URL=https://<your-hf-username>-govon-runtime.hf.space
govon
govon> Draft a response for a road damage complaint
┌─ Approval Request ────────────────────┐
│ Type: Draft response │
│ Goal: Road damage complaint response │
│ Tasks: │
│ - Look up legal basis │
│ - Search similar cases │
│ │
│ ● Approve ○ Reject │
└───────────────────────────────────────┘
The agent proposes a plan and waits for your approval before executing any tools.
One-shot mode
govon "Show me road damage complaint statistics for this month"
Multi-turn conversations
govon --session my-session
govon> What are the most common complaint types?
→ (response with statistics)
govon> Draft a response for the top one
→ (uses conversation context to generate a draft)
API call
curl -X POST $GOVON_RUNTIME_URL/v3/agent/run \
-H "Content-Type: application/json" \
-d '{"query": "Show complaint statistics", "session_id": "demo-1"}'
Features
- ReAct agent with 7 tools -- the agent autonomously selects and chains tools based on your request
- Human-in-the-loop approval -- every tool execution requires explicit user approval before running
- Multi-turn conversations -- session-based context management with extractive summarization
- Multi-LoRA inference -- domain-specific adapters (civil complaints + legal references) on a single base model
- Streaming responses -- real-time SSE streaming with per-node progress display
- Three installation methods -- pip, npm, and Homebrew for maximum accessibility
Tools
| Tool | Purpose |
|---|---|
api_lookup |
Query civil complaint data |
issue_detector |
Detect trending complaint issues |
stats_lookup |
Retrieve complaint statistics |
keyword_analyzer |
Analyze keyword trends |
demographics_lookup |
Look up regional demographics |
public_admin_adapter |
Generate official response drafts |
legal_adapter |
Search legal references and precedents |
Architecture
graph LR
subgraph Client
CLI["govon CLI<br/>pip / npm / brew"]
end
subgraph Server ["Server (HF Space or Docker)"]
API["FastAPI"]
AGENT["ReAct Agent<br/>+ 7 Tools"]
LLM["EXAONE 4.0-32B<br/>+ civil LoRA<br/>+ legal LoRA"]
end
CLI -- "HTTP / SSE" --> API --> AGENT --> LLM
style Client fill:#e0f2fe,stroke:#0284c7
style Server fill:#fef3c7,stroke:#d97706
The CLI is thin, the server is powerful.
- CLI: httpx, rich, prompt-toolkit (~10 MB, no GPU needed)
- Server: EXAONE 4.0-32B + vLLM + Multi-LoRA on A100 80 GB
Server Management
Manage the Docker-based backend with govon server:
| Command | Description |
|---|---|
govon server pull [TAG] |
Pull the Docker image |
govon server start |
Start the backend (docker compose up -d) |
govon server stop |
Stop the backend (docker compose down) |
govon server status |
Check container status + /health endpoint |
govon server logs |
Stream logs in real time |
Configuration
| Variable | Description | Default |
|---|---|---|
GOVON_RUNTIME_URL |
Server URL | http://localhost:7860 |
API_KEY |
API authentication key | (none -- unauthenticated access) |
HOST_PORT |
Local server port | 8000 |
export GOVON_RUNTIME_URL=https://umyunsang-govon-runtime.hf.space
export API_KEY=your-api-key
See deploy/env/.env.example for the full list of server-side configuration options.
Documentation
| Resource | Link |
|---|---|
| User Guide | docs/guide/user-guide.md |
| Operations Guide | docs/guide/ops-guide.md |
| API Reference | Endpoint reference |
| Demo Scenarios | docs/demo/README.md |
| Docs Portal | govon-org.github.io/GovOn |
| Public Roadmap | Workstreams |
| Community Discussion | GitHub Discussions |
Resources
| Package | Install |
|---|---|
| PyPI | pip install govon |
| npm | npm install -g govon |
| Homebrew | brew tap govon-org/govon |
| Docker | ghcr.io/govon-org/govon |
| HF Space (hosted runtime) | umyunsang/govon-runtime |
| Civil LoRA Adapter | umyunsang/govon-civil-adapter |
| Legal LoRA Adapter | siwo/govon-legal-adapter |
| Releases | GitHub Releases |
Contributing
git clone https://github.com/GovOn-Org/GovOn.git
cd GovOn
pip install -e ".[dev]"
pytest
See CONTRIBUTING.md for guidelines.
About
GovOn is an industry-academia project from the Department of Computer Engineering at Dong-A University. It assists local government employees with civil complaint response workflows. The AI does not replace human judgment -- it automates repetitive tasks so public servants can focus on decisions that matter.
License
The GovOn source code is licensed under MIT.
Important: The runtime uses EXAONE 4.0-32B-AWQ, which is distributed under the EXAONE AI Model License Agreement — non-commercial use only. Commercial deployment of the model requires a separate license from LG AI Research.
Metadata
Release files for govon 1.4.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| govon-1.4.9.tar.gz | 94.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| govon-1.4.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 215.7 kB
Release files / govon-1.4.9.tar.gz
| Download URL | govon-1.4.9.tar.gz |
|---|---|
| Size | 94.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
141b0a24c022e0e661ed80740943b2961b6d32d702d5d38220252cbfefa2501a
|
|
BLAKE2b-256 checksum How to use checksums |
f49e54d1532588720281bcb08525f85bc7115610e26040f8ed31f7017b5b9366
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logRelease files / govon-1.4.9-py3-none-any.whl
| Download URL | govon-1.4.9-py3-none-any.whl |
|---|---|
| Size | 121.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51a4869ccf5eec83004b6d1f0248202ff8d7b12d0f7d66142962930330f8c23a
|
|
BLAKE2b-256 checksum How to use checksums |
46a23be311d9c26b02ec3d4afa4db04dcb9c56b2914edd7fc1133afbc3a388f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency log