by FrankHui
Parallel ai-agent sessions in one panel, with permission-aware tools, preflight conflict checks.
# Add to your Claude Code skills
git clone https://github.com/FrankHui/paragents
uv sync
uv run python main.py
runtime_config.json is missing, startup enters interactive setup./setup/show-config| Command | Purpose |
|---|---|
| /new <text> | Create a new foreground session with the initial prompt |
| /prompt <text> | Continue current foreground session with a new prompt |
| /submit <text> | Submit a new background session |
| /list | List current sessions and their status |
| /switch <session_ref> | Switch foreground focus to a target session |
| /close <session_ref> | Close a session and release its slot |
| /approvals | Show pending approval requests |
| /approve <request_ref> [always] | Approve a pending request (optional persistent allow) |
| /deny <request_ref> | Deny a pending request |
| /pause <prompt_ref> | Pause a running prompt |
| /resume <session_ref> | Resume paused prompt in target session |
| /cancel <prompt_ref> | Cancel target prompt |
| /permissions | Print current effective permission config |
| /setup | Re-run runtime/provider setup |
| | Show runtime config file path and provider info |
| | Exit TUI |
No comments yet. Be the first to share your thoughts!
/show-config/quitThe current design focuses on multi-session parallelism with per-session continuity:
flowchart LR
UserInput[UserInput] --> Scheduler[Scheduler]
Scheduler --> SessionQueue[SessionPromptQueue]
SessionQueue --> SessionWorker[SessionWorker]
SessionWorker --> AgentInstance[AgentInstance]
AgentInstance --> Tools[ToolsAndPermissions]
AgentInstance --> ContextState[SessionRuntimeState]
ContextState --> Scheduler
Key implementation files:
main.pyscheduler.pyagent_instance.pysession_runtime.pytui_app.pyLegend:
| Dimension | Paragents | claude-code | mercury-agent | hermes-agent | nanobot |
|---|---|---|---|---|---|
| Capability switches | PermissionsConfig.capabilities (Code verified) | Tool-level permission governance in settings (Docs/changelog signal) | permissions.yaml + capability registry (Code verified) | Governance via toolset/gateway composition (Code verified) | ToolsConfig level toggles (Code verified) |
| ask/deny semantics | needs_approval / blocked / auto_approved (Code verified) | Explicit ask/deny (Code verified) | Command pattern-based approvals (Code verified) | Approval is more runtime-pipeline oriented (Code verified) | Primarily enable/sandbox/restrict style (Code verified) |
| File scope control | fs_scopes (Code verified) | Combined through tool permissions + policy layering (Docs/changelog signal) | File scopes (Code verified) | Mostly enforced in tool runtime (Code verified) | restrict_to_workspace (Code verified) |
| Sandbox/network policy | Relatively lightweight currently (Code verified) | sandbox.network.* (Code verified) | Basic shell constraints (e.g., cwd) (Code verified) | More gateway/runtime governance oriented (Code verified) | exec.sandbox + SSRF allowlist (Code verified) |
| Dimension | Paragents | claude-code | mercury-agent | hermes-agent | nanobot |
|---|---|---|---|---|---|
| Session continuity | Session worker + one reused agent per session (Code verified) | Strong --resume/--continue semantics (Docs/changelog signal) | conversationId-scoped short-term memory (Code verified) | Session + contextvars isolation (Code verified) | SessionManager persistence (Code verified) |
| Prompt construction | PromptAssembler abstraction (Code verified) | Core internals not fully public (Docs/changelog signal) | system + relevantFacts + recentMemory + user (Code verified) | Unified through ContextEngine (Code verified) | Layered assembly via ContextBuilder (Code verified) |
| Compaction strategy | should_compact()/compact() (Code verified) | auto-compact + pre-compact hook (Docs/changelog signal) | Mainly recent-N control (Code verified) | ContextEngine + Compressor (Code verified) | online consolidate + idle auto-compact (Code verified) |
| Interruption/recovery | CheckpointRecovery + SessionStateStore (Code verified) | Ongoing long-session recovery hardening (Docs/changelog signal) | Persistent memory resume (Code verified) | checkpoint manager (Code verified) | runtime checkpoint + keep-context on stop (Code verified) |
permissions.json + blocked/needs_approval/auto_approved.claude-code, current gaps are mainly:
From pyproject.toml:
>=3.11httpxprompt-toolkitpytestSystem/runtime prerequisites:
uv installedruntime_config.json (interactive setup on first run)The detailed roadmap is in a dedicated file for readability:
At a glance:
P0: IM integration, multi-session usability, and recovery hardeningP1: context quality, policy unification, conflict UX, session invariantsP2: observability, regression suites, and UI state-machine consistencyRun core TUI regressions:
uv run pytest -q tests/test_tui_layout.py tests/test_tui_commands.py tests/test_run_approval_flow.py
MIT.
Note: this README declares MIT intent. If a top-level LICENSE file is missing, add one before public distribution.
Small, focused PRs are preferred.