QitOS - torch-flavor framework for agent researchers
Project description
QitOS
QitOS is the torch-flavor framework for agent researchers.
Prototype methods, run benchmarks, and inspect long-horizon trajectories on one AgentModule + Engine kernel with built-in qita observability.
Quickstart · Tutorial Track · Benchmarks · CLI Reference · Changelog · Chinese README
What's New in v0.3.0
- Official reproducible-run foundation with
RunSpec,ExperimentSpec, and normalized benchmark outputs. - New
qit benchworkflow forrun,eval,replay, andexport. qitareplay, export, and diff surfaces for review-grade trajectory inspection.- Course-style tutorial track plus new reproducibility and failed-run replay guides.
If this direction resonates, please star the repo, open an issue, or contribute. Early feedback matters a lot.
Live Terminal of QitOS for Code Review
Who QitOS is For
- Method researchers who want to change prompts, parsers, critics, tools, and memory policies without rewriting the runtime.
- Benchmark users who want GAIA, Tau-Bench, and CyBench workflows on the same kernel they use for agent development.
- Long-running agent debuggers who care about trajectory review, replay, diff, and context-collapse diagnosis instead of app scaffolding alone.
Run QitOS in 2 Minutes
The minimal agent in QitOS is a minimal coding agent. It configures a real model, works inside a workspace, edits code, runs a verification command, and leaves behind a qita-ready trace.
pip install "qitos[models]"
export OPENAI_API_KEY="sk-..."
qit demo minimal
qita board --logdir runs
Optional but common for OpenAI-compatible providers:
export OPENAI_BASE_URL="https://api.siliconflow.cn/v1/"
export QITOS_MODEL="Qwen/Qwen3-8B"
qit demo minimal seeds a tiny buggy workspace, asks a model-backed coding agent to fix it, verifies the patch, and writes the trajectory to ./runs.
Then go deeper:
- Want ReAct? See
examples/patterns/react.py - Want a coding agent? See
examples/real/coding_agent.py - Want benchmarks? Start with the benchmark guides
Why QitOS
| If you want... | QitOS gives you... |
|---|---|
| reproducible agent research | a stable AgentModule + Engine kernel |
| observability | qita board, replay, export, and trace artifacts |
| benchmark workflows | GAIA, Tau-Bench, and CyBench adapters |
| less framework glue code | one canonical execution loop |
Example Gallery
Core Patterns
- ReAct: text protocol + one-action-per-step baseline.
- PlanAct: explicit plan first, then execute step by step.
- Tree-of-Thought: branch and select before acting.
- Reflexion: actor-critic loop with grounded retry behavior.
Real Agents
- Coding agent: practical coding loop with editor, shell, and memory.
- SWE agent: richer planning-oriented software engineering flow.
- Computer-use agent: web research and computer-use style interaction.
- EPUB reader: document-grounded reasoning with branching.
Evaluation
- GAIA: benchmark runner on the QitOS kernel.
- Tau-Bench: standardized benchmark adapter path.
- CyBench: CTF-like evaluation with guided metrics.
Canonical examples live in:
Tooling Layout
QiTOS separates tool imports into three layers:
qitos.kit: the simplest curated entrypoint for common toolsetsqitos.kit.toolset: scenario-oriented presets and registry buildersqitos.kit.tool.<domain>: advanced atomic capability imports
Default composition is list-first:
from qitos import ToolRegistry
from qitos.kit.tool.file import ReadFile
from qitos.kit.toolset import coding_tools
registry = ToolRegistry().include_toolset(
[
ReadFile(workspace_root="."),
coding_tools(workspace_root="."),
]
)
Documentation Map
- Start here: Introduction
- First successful run: Quickstart
- Install options: Installation
- Build your own minimal coding agent: First Agent
- Learn the runtime: AgentModule / Engine
- Inspect traces: Observability
- Follow the course: Tutorials
- Run benchmarks: Benchmarks Overview
- Check commands: CLI Reference
- Need API details: API Reference
Preview
| QitOS CLI | qita Board | qita Trajectory View |
|
|
|
|
Status
QitOS is currently Alpha.
- Stable direction:
AgentModule + Engine, trace/qita flow, canonical examples, benchmark adapters, and official reproducible-run contracts. - Likely to evolve: higher-level convenience APIs, some
kitmodules, and experimental toolsets. - If you are evaluating adoption, start from the kernel and examples, not assumptions about frozen surface area.
- For ongoing project evolution and upgrade notes, see CHANGELOG.md.
Installation and Versions
- Supported Python version: 3.10+
- User install:
pip install "qitos[models]" - Minimal coding agent:
qit demo minimal - Optional provider config:
OPENAI_API_KEY,OPENAI_BASE_URL,QITOS_MODEL - Core-only install:
pip install qitos - Repo source install:
pip install -r requirements.txt - Full contributor install:
pip install -r requirements-dev.txt - Installation guide: Installation
Contributing
Contributions are welcome, especially around benchmark adapters, memory/history workflows, qita UX, and cyber-agent use cases. Start with CONTRIBUTING.md for the PR process, DEVELOPMENT.md for the local workflow, ARCHITECTURE.md for system design, SECURITY.md for disclosure guidance, and CODE_OF_CONDUCT.md for community expectations.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qitos-0.3.0.tar.gz.
File metadata
- Download URL: qitos-0.3.0.tar.gz
- Upload date:
- Size: 500.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
329890899e28c699ffa6872f7092cae51c12f0e9471172e3abbfac4aa0df3485
|
|
| MD5 |
dcc4d950f2b1b74a9ba1d00493d5d134
|
|
| BLAKE2b-256 |
46bf34b8b0c2e6729e85ed046988f4ba40619448ff60b5fccc9c9202ffd7da45
|
Provenance
The following attestation bundles were made for qitos-0.3.0.tar.gz:
Publisher:
pypi.yml on Qitor/qitos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qitos-0.3.0.tar.gz -
Subject digest:
329890899e28c699ffa6872f7092cae51c12f0e9471172e3abbfac4aa0df3485 - Sigstore transparency entry: 1254764656
- Sigstore integration time:
-
Permalink:
Qitor/qitos@3efaab7799bc5b156a0f8745ddf9851915b22e2d -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Qitor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@3efaab7799bc5b156a0f8745ddf9851915b22e2d -
Trigger Event:
release
-
Statement type:
File details
Details for the file qitos-0.3.0-py3-none-any.whl.
File metadata
- Download URL: qitos-0.3.0-py3-none-any.whl
- Upload date:
- Size: 561.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54fc886daaf6ac9382f5b23554678149363d006391513cdd9cbf912a8834dd9a
|
|
| MD5 |
f1435ee1ba547a2fc8c0e8abdb4d2604
|
|
| BLAKE2b-256 |
ab8669d178f9eb08ed4b7611c2296add02ce4a68907c747937baa5bae6ed35d3
|
Provenance
The following attestation bundles were made for qitos-0.3.0-py3-none-any.whl:
Publisher:
pypi.yml on Qitor/qitos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qitos-0.3.0-py3-none-any.whl -
Subject digest:
54fc886daaf6ac9382f5b23554678149363d006391513cdd9cbf912a8834dd9a - Sigstore transparency entry: 1254764779
- Sigstore integration time:
-
Permalink:
Qitor/qitos@3efaab7799bc5b156a0f8745ddf9851915b22e2d -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/Qitor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@3efaab7799bc5b156a0f8745ddf9851915b22e2d -
Trigger Event:
release
-
Statement type: