Skip to main content

Anteroom - your gateway to AI conversation

Project description

PyPI Version Python 3.10+ Coverage License

Parlor Logo

Parlor

The secure digital speakeasy for AI conversation.

Self-hosted ChatGPT-style web UI and agentic CLI that connects to any OpenAI-compatible API.
Install with pip. Run locally. Own your data.

DocumentationQuick StartFeaturesSecurity

Parlor - Midnight Theme


Why Parlor?

Step inside. Parlor connects to any OpenAI-compatible endpoint --- your company's internal API, OpenAI, Azure, Ollama, LM Studio, or anything else that speaks the OpenAI protocol. Built to OWASP ASVS L1 standards because your conversations deserve real security, not security theater.

One command. No cloud. No telemetry. No compromise.


Quick Start

pip install parlor
parlor init         # Interactive setup wizard

Or create ~/.parlor/config.yaml manually:

ai:
  base_url: "https://your-ai-endpoint/v1"
  api_key: "your-api-key"
  model: "gpt-4"
parlor --test       # Verify connection
parlor              # Web UI at http://127.0.0.1:8080
parlor chat         # Terminal CLI
parlor --version    # Show version

Features

Web UI

Full-featured ChatGPT-style interface with conversations, projects, folders, tags, file attachments, MCP tool integration, prompt queuing, command palette, and four built-in themes.

Midnight Theme Dawn Theme

CLI Chat

An agentic terminal REPL with built-in tools (read/write/edit files, bash, glob, grep), MCP integration, skills system, and Rich markdown rendering. Type while the AI works --- messages queue automatically.

parlor chat                          # Interactive REPL
parlor chat "explain main.py"        # One-shot mode
parlor chat -c                       # Continue last conversation
parlor chat --model gpt-4o "hello"   # Override model

Shared Core

Both interfaces share the same agent loop, storage layer, and SQLite database. Conversations created in the CLI show up in the web UI, and vice versa.


Security

Layer Implementation
Auth Session tokens, HttpOnly cookies, HMAC-SHA256
CSRF Per-session double-submit tokens
Headers CSP, X-Frame-Options, HSTS, Referrer-Policy
Database Parameterized queries, column allowlists, path validation
Input DOMPurify, UUID validation, filename sanitization
Rate Limiting 120 req/min per IP
CLI Safety Destructive command confirmation, path blocking
MCP Safety SSRF protection, shell metacharacter rejection

Full details in SECURITY.md.


Documentation

For complete documentation including configuration, CLI commands, API reference, themes, MCP setup, skills, and development guides, visit parlor.readthedocs.io.


Development

git clone https://github.com/troylar/parlor.git
cd parlor
pip install -e ".[dev]"
pytest tests/ -v
Backend Python 3.10+, FastAPI, Uvicorn
Frontend Vanilla JS, marked.js, highlight.js, KaTeX
CLI Rich, prompt-toolkit, tiktoken
Database SQLite with FTS5, WAL journaling
AI OpenAI Python SDK (async streaming)
MCP Model Context Protocol SDK (stdio + SSE)

MIT License
Built for people who care about their conversations.
parlor.readthedocs.io

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

anteroom-1.0.0.tar.gz (710.6 kB view details)

Uploaded Source

Built Distribution

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

anteroom-1.0.0-py3-none-any.whl (757.2 kB view details)

Uploaded Python 3

File details

Details for the file anteroom-1.0.0.tar.gz.

File metadata

  • Download URL: anteroom-1.0.0.tar.gz
  • Upload date:
  • Size: 710.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for anteroom-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ac9ef2b2c03a9abe7046d4c449623fe6b0a79b19fbb83c58943704baeba24c5d
MD5 33a387293d00699a3c4162c3f4cc4849
BLAKE2b-256 c09eef99da10df3b6b684903bee67a04b3990861a0a9c6889351f530b6442653

See more details on using hashes here.

File details

Details for the file anteroom-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: anteroom-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 757.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for anteroom-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7854c50199974b30b749bda8f4daf3a91677c0c552470fd6bc620b9996fecfe
MD5 acb76ca21d3b38a3e3da4fc19e384865
BLAKE2b-256 290a43be67dd19d4d06cf811d9096cf4e3384c72c5f7bdd4ca5db2628f200cc9

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