Psssst! An AI resident engineer for your codebase. (The PyPI name is `psssst` because `ubik` was squatted in the Python 2.6 era — `import ubik` and the `ubik` CLI still work after `pip install psssst`.)
Project description
Ubik
Pssst — wanna solve some entropy?
An AI resident engineer for your codebase. Whispers findings. Proposes fixes. Waits for your tap.
🤫 psssst.dev · pip install psssst
Ubik is the product. "Pssst!" is the noise it makes when it's about to tell you something.
What is Ubik?
Ubik lives next to your repository. While you sleep, it:
- Reads the codebase, the recent commits, the production logs.
- Watches competitors, tech trends, papers, security advisories.
- Proposes specific improvements — with evidence, plan, and risk.
- Whispers to you on Telegram: "Pssst — Ubik found something."
- Ships the fix when you tap ✅ — through Aider, Claude Code, or any agentic executor — onto a feature branch, with tests, as a PR.
You stay in approval mode. Ubik does the digging.
Quickstart
pip install psssst # the PyPI name; `ubik` was squatted in 2014
# In any repo:
cd my-repo
ubik init # interactive wizard → ubik.yaml + .env.example
cp .env.example .env # fill in API keys + Telegram bot token
ubik run --dry-run # smoke test: audits + persists, no notifications
ubik run # autonomous daemon for real
# or
ubik mcp # MCP server (stdio) — for Claude Desktop / Cursor
# or
ubik audit # one-shot codebase audit, dump report
That's it. Ubik is now resident.
The ubik init wizard ships with provider presets for Z.AI / GLM-5.1
(default — free with the annual plan), Anthropic, OpenAI, and
Ollama (local). Every field in the generated ubik.yaml is honored
by the loader — no config knob is decorative. Roadmap-only fields (web
search, Slack bridge, GitLab verifier, Postgres notebook) are documented
in docs/roadmap.md and intentionally absent from
the example.
Why "Pssst"?
Most AI tooling shouts. Ubik whispers. The slogan comes from Philip K. Dick's 1969 novel Ubik, where a mysterious product cures reality through cryptic chapter-opening ads. Our product cures codebases the same way: by leaning over and going psst.
"Where's a code reviewer that actually reads the diff? Safe to deploy. Won't push to main without approval. It's UBIK!"
Architecture
Ubik is vendor-agnostic and executor-agnostic by design. Pluggable adapters at four seams:
┌──────────────────────────┐
│ Ubik Orchestrator │
│ │
│ Researcher → Bridge → │
│ Executor → Verifier │
└──────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
LLM Comms Coding Git/PR
─────────────────────────────────
GLM-5.1 Telegram Claude GitHub
Claude Slack Agent GitLab
GPT Discord SDK ...
Local Webhook Aider
... ... OpenHands
Pick one of each. Swap whenever. Notebook of past findings is shared across projects so what Ubik learns once, it remembers everywhere.
See docs/architecture.md for the full picture.
2026 stack
Ubik is built on the best-of-breed of mid-2026:
| Layer | Choice | Why |
|---|---|---|
| Build / dep mgmt | uv + uv_build (Astral) |
100× pip, OpenAI-acquired, the new default |
| Lint + format | ruff (Astral) |
Replaces black + isort + flake8, single binary |
| Type check | ty (Astral) |
mypy alternative, Rust-fast |
| LLM dispatch | litellm |
100+ providers, vendor-agnostic |
| Agent loop | pydantic-ai |
Type-safe + first-class OpenTelemetry |
| Coding executor | claude-agent-sdk (Python) |
Multi-agent orchestration, advisor tool, sandbox |
| Default LLM | GLM-5.1 (#1 SWE-Bench Pro) | SOTA + free with Z.AI annual plan |
| MCP server | mcp SDK + Server Cards + MCP Apps |
Linux Foundation governed (AAIF), OAuth 2.1 |
| Observability | OpenTelemetry GenAI + Langfuse | Industry standard, OSS, multi-project insights |
| License | Apache 2.0 | Patent grant + contributor-friendly |
See docs/stack.md for the full reasoning.
Use cases
- Solo founders running multiple repos — one Ubik, many
ubik.yamls. - Open source maintainers — proactive PR triage, stale-issue digestion.
- Researchers — bibliometric scans, citation tracking, paper outline review.
- Consultancies — codebase health audit on a new client engagement.
- Yourself, in your IDE — install as MCP server, ask in Claude Desktop: "Ubik, what's gone stale in this repo?"
License
Apache 2.0. Free for any use, commercial or otherwise. Patent grant included.
Status
Alpha — pip install psssst (v0.1.5 live on PyPI · CI matrix green on
py3.10–3.13 × ubuntu / macOS / Windows). The autonomous daemon, the
MCP server, the wizard, and the Telegram bridge all ship in the
package today. Streamable-HTTP transport for ubik mcp, MCP registry
submission, and a richer notebook backend are the next milestones —
see the Roadmap.
Built by ANOTS. Inspired by Philip K. Dick.
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 psssst-0.1.6.tar.gz.
File metadata
- Download URL: psssst-0.1.6.tar.gz
- Upload date:
- Size: 380.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b485988f9f0f345690ce028b5028676f8866f401783a21f3637913d3d6f7854
|
|
| MD5 |
cef1d771b1fa26631110eedafde0c4d8
|
|
| BLAKE2b-256 |
c9f5be39cbc364a0a419e456c7c6b8f261a59cb4926eaacac39c20d1e6634746
|
File details
Details for the file psssst-0.1.6-py3-none-any.whl.
File metadata
- Download URL: psssst-0.1.6-py3-none-any.whl
- Upload date:
- Size: 89.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20f171c858e41949ad3bb6ffed38df7e442fb8b5163526dc000c70bc6519edac
|
|
| MD5 |
b0cef82908ad11b4e5c953ee81c375e7
|
|
| BLAKE2b-256 |
d2ac3aaa1df96c9d0f653a073597227e60b7ae4bf7af2cb1daa81dc6065a40c5
|