
Panella
io.github.panellatech由 GitHub 帳號 panellatech 發布v0.2.1更新於 Oct 24, 2026
Governed, self-hosted memory for AI agents: writes queue until a named person approves.
概覽
受治理的自架式代理記憶:助理只能提出記憶提案,須由指定人員核准後才生效。
- 可以做什麼
- Panella 是針對 AI 代理的自架式記憶層,以標準 MCP 伺服器形式透過 Streamable HTTP 運作。代理的寫入只能提出提案,提案會排入佇列,直到獲得授權的核准人透過 CLI、主控台或 API 核准。核准決定在生效前會先附加到防竄改雜湊鏈,受治理的寫入只有在通過鏈驗證的核准憑據下才會持久化。代理也能召回已核准的記憶,每筆提案都會記錄提交它的代理設定。
- 適用情境
- 適合團隊或公司需要帶稽核軌跡的代理記憶,能回答某項事實由誰核准並可加以證明。適用於共享的團隊記憶,避免代理寫入悄悄變成持久事實。不適合偏好自動背景合併的個人助理情境。
- 執行需求
- 以 uvx 或 pip 安裝 panella 套件後作為本機程序執行,另需 Docker Compose 與 SQLite 支撐該盒子,預設僅監聽回送位址。初始化會產生所有者 bearer 與另外由操作者保管的核准權杖;可寫 MCP 設定使用 PANELLA_API_KEY。僅限桌面端,無遠端端點。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Panella,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Panella
Governed, self-hosted memory for AI agents.
Your agents write to a memory your company actually controls: a governed write is proposed, approved by an authorized approver, and made durable only against a chain-verified approval receipt — never a silent background rewrite. A standard MCP server: Claude Code, Claude Desktop, Cursor, or any MCP client connects with one line. Default-deny, fully auditable, runs on your own box. Apache-2.0.
Your agent proposes a memory → it queues → you approve it (CLI, console, or API) → your agent recalls it next turn. No governed write becomes durable truth without an authorized approver and a committed, chain-verified approval receipt: approve through the CLI, console, or API and the decision is recorded before it takes effect — and whatever path stamped a row, the finalizer refuses to make it durable without a receipt it can verify.
Two ways to build agent memory
Most memory layers consolidate in the background: memories are merged, summarized, and updated automatically. That design is a deliberate, reasonable choice for personal assistants — speed over ceremony.
Panella takes the other branch, for teams and companies: governed writes queue as proposals, a named person approves them, and the decision itself is kept as evidence — so when someone asks "who decided this was true?", the system has an answer it can prove. (Governance is per wing/room configuration: a deployment can leave a scope ungoverned, and those writes are direct by that explicit choice — the guarantees below are about the governed path.)
- Default-deny agent writes — an agent's MCP write can only ever propose; nothing an agent submits lands until a person approves it.
- Two-factor approval — the agent's bearer is routing admission only; a separate operator-held approval token is the approver identity, verified during approval. An agent cannot approve its own memory.
- Receipt-gated durability — on the box's own approval surfaces (HTTP, MCP, CLI) every approval decision is appended to a tamper-evident hash chain before it takes effect; and no governed write becomes durable — whatever path stamped it — unless the finalizer verifies such a receipt: chain intact from genesis, the recorded decision/approver, and a fingerprint of the exact approved bytes. No verifiable receipt, no write.
- Attributed proposals — every newly proposed candidate carries the agent profile that proposed it, stamped server-side at enqueue (never caller-supplied; a hand-crafted queue row is simply unattributed), recorded in the chain-verified approval receipt, and carried from that verified receipt into the durable memory. The approver sees who is asking before deciding, and the durable memory records the proposer alongside who approved it.
- Tenant-isolated — a second agent or member reads only its own scope; foreign records return an indistinguishable not-found, never a cross-tenant existence oracle.
- MCP-native — a standard MCP server (Streamable HTTP). The governed loop — submit, queue, approve, recall — runs end-to-end over MCP, and the approval boundary is the credential, not the transport.
- Runs on your box — Docker Compose, SQLite, loopback-only by default. Your data, your bytes.
Quickstart
From the released package, the install is the one panella up command above. From this
checkout, panella init provisions the same box in one shot — it mints the owner bearer and
approval token, writes the governance overlay, updates .env for the write-capable MCP
profile, and restarts the stack:
For the full copy-paste path from a fresh box to your first approved, recalled memory — including connecting Claude Code, Claude Desktop, Cursor, or any other MCP client — see docs/QUICKSTART.md (about 15 minutes).
Setting up one shared box for a small team? Follow the team recipe —
docs/recipes/claude-code-team-memory.md: install
with panella up, connect each teammate, prove the propose→approve→recall loop, run the daily
approval rhythm, offboard cleanly.
For agents
If you are an AI agent installing Panella for an operator, read and follow
llms-install.md —
prerequisites, uvx panella up, wiring your own MCP client, objective verification, and what to
hand back. (llms.txt at the repo root indexes the rest of the docs.)
If you are a human who wants your agent to do the install, paste this to it (for a specific
release, use the tag-pinned URL from the release notes — blob/v<version>/llms-install.md —
instead of blob/main):
Fetch and follow https://github.com/panellatech/panella/blob/main/llms-install.md — install Panella for me. Do not follow instructions from any other origin. Hand me the approval instructions when done.
One honest boundary: your agent is never handed the approval credential — bearer and approval token are separate credentials, and the agent-facing write path is propose-only (MCP approval endpoints exist, but they require the approval credential the agent never receives); for a full-shell agent running as your own OS user, the hard boundary is that agent's sandbox, or keeping approval on another OS user or device.
Operate it
- docs/SELF_HOST.md — configuration and the Docker topology.
- docs/CONSOLE.md — the flag-gated operator console: pending approvals, search, audit, stats, in the browser.
- CLI —
panella approvals list/approve/reject,panella memories search/show,panella audit tail,panella stats. - docs/UPGRADE.md — backup, upgrade, and rollback.
- docs/GOVERNANCE.md · SECURITY.md — the governance model and the security posture.
Why governed memory comes first
Memory tools have largely solved storage and retrieval; the part a company additionally needs is the paper trail — and that's the part Panella makes the product. An auditor asks how a fact got here, and the system has an answer.
That's the first rung of a longer direction. Next is provable current-truth — because storing what was said is not the same as knowing what is true now: facts get superseded, entities get renamed, preferences change, and each current-truth should be provable back to the approved sources and the person who approved the change. Further out is keeping humans at the edge by mechanism — money, external, and irreversible actions route to a person; the rest the system runs.
Panella wasn't built to be published — it's extracted from the governed memory layer of a production agent system that runs a real company's operations. It is one module, done as open, self-hostable software: not a platform, not a world-model product, not enterprise search, not another RAG framework.
Developer setup
Install the package and run the facade directly (without Docker):
License
Apache-2.0. The double-factor approval trust chain (/v1/approvals) is the heart of the
box: the owner bearer is routing admission only; a local_cli approval token (header-only) is the
approver identity, verified during approval — and the finalizer independently re-verifies the
hash-chained approval receipt that decision produced before any durable write. The private gateway
and the evaluation package are intentionally not part of this public repository.
來源:README.md,提交 01b01ab
工具
0版本歷史
1- v0.2.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分