69 lines
3.8 KiB
Org Mode
69 lines
3.8 KiB
Org Mode
#+TITLE: Passepartout — Your Autonomous, Plain-Text Life Assistant
|
|
#+AUTHOR: Amr
|
|
#+FILETAGS: :passepartout:ai:assistant:
|
|
|
|
#+HTML: <div style="display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 1em;">
|
|
#+HTML: <img src="https://img.shields.io/github/v/tag/amrgharbeia/opencortex?label=version&style=flat-square">
|
|
#+HTML: <img src="https://img.shields.io/github/license/amrgharbeia/opencortex?style=flat-square">
|
|
#+HTML: <img src="https://img.shields.io/badge/Lisp-Common%20Lisp-blue?style=flat-square">
|
|
#+HTML: <img src="https://img.shields.io/badge/docs-Org--mode-green?style=flat-square">
|
|
#+HTML: </div>
|
|
|
|
Passepartout is an AI assistant that runs in your terminal, reads and writes your Org-mode files, executes tasks through a verified safety gate, and works fully offline with local LLMs. Everything it knows is a folder of plain text files that you own.
|
|
|
|
**One-line install:**
|
|
|
|
#+begin_src bash
|
|
curl -fsSL https://raw.githubusercontent.com/amrgharbeia/opencortex/main/passepartout | bash -s configure
|
|
#+end_src
|
|
|
|
Then ~passepartout tui~ to start chatting.
|
|
|
|
* Quick Start
|
|
|
|
You need SBCL (Common Lisp), git, and curl.
|
|
|
|
#+begin_src bash
|
|
git clone https://github.com/amrgharbeia/opencortex.git ~/projects/passepartout
|
|
cd ~/projects/passepartout
|
|
./passepartout configure # install deps, tangle, setup wizard
|
|
passepartout tui # launch the terminal interface
|
|
#+end_src
|
|
|
|
See [[file:docs/USER_MANUAL.org][User Manual]] for the full guide.
|
|
|
|
* Why Passepartout
|
|
|
|
** Your data stays yours.** No database, no vector store, no cloud silo. Your entire memory is a folder of Org files. You can read them with any text editor, search them with grep, and back them up however you like. If Passepartout stops existing, your data doesn't disappear.
|
|
|
|
** The LLM can't do damage.** Every action the LLM proposes passes through a deterministic safety gate before it touches a file, runs a command, or sends a message. The LLM suggests; the gate decides. Hallucinations are blocked, not corrected after the fact.
|
|
|
|
** Runs on your hardware.** Works fully offline with Ollama and local models. Cloud providers (OpenRouter, OpenAI, Anthropic, Groq, Gemini, DeepSeek, NVIDIA NIM) are optional add-ons.
|
|
|
|
** Written in Common Lisp.** Code is data. The agent reads its own source the same way it reads a text file — it parses, modifies, and hot-reloads its skills without restarting. One language from the kernel to the TUI to the build system.
|
|
|
|
* Architecture
|
|
|
|
- [[file:org/core-loop.org][Metabolic Loop]] — Perceive → Reason → Act, the fundamental cognitive cycle
|
|
- [[file:org/security-dispatcher.org][Dispatcher]] — 9-vector safety gate: secret scanning, path protection, shell safety, lisp validation, network exfiltration, privacy filtering
|
|
- [[file:org/core-memory.org][Memory]] — Single-address-space object store with Merkle-tree integrity and snapshot rollback
|
|
- [[file:org/core-skills.org][Skill Engine]] — 20 hot-reloadable skills loaded at boot, each an independent Org file
|
|
- [[file:org/gateway-tui.org][TUI]] — Croatoan-based terminal interface connected via framed TCP protocol
|
|
- [[file:org/gateway-llm.org][LLM Routing]] — Cascade dispatch through multiple providers with tier-based model selection
|
|
|
|
* Project Documentation
|
|
|
|
| Document | What it answers |
|
|
|----------|----------------|
|
|
| [[file:docs/USER_MANUAL.org][User Manual]] | How do I use it? |
|
|
| [[file:docs/ROADMAP.org][Roadmap]] | Where is it going? |
|
|
| [[file:docs/DESIGN_DECISIONS.org][Design Decisions]] | Why is it built this way? |
|
|
| [[file:docs/CONTRIBUTING.org][Contributing]] | How do I add a skill? |
|
|
| [[file:TODO.org][TODO]] | What is being worked on? |
|
|
| [[file:docs/CHANGELOG.org][Changelog]] | What changed between versions? |
|
|
|
|
* License
|
|
|
|
Passepartout is released under the [[file:LICENSE][AGPLv3 license]].
|
|
See [[file:CLA.org][CLA.org]] for the Contributor License Agreement.
|