关于 Panella
Panella 是面向使用 AI Agent 团队的可自托管记忆服务。Agent 写入先进入提案队列,获授权人员批准后才会保存,并留下可验证的审计记录。
主要功能
- 01记忆写入需审批
- 02Agent 与审批者凭证分离
- 03防篡改审批回执
- 04租户隔离的记忆范围
- 05通过 CLI 和浏览器控制台运维
适用场景
- 01保存前审查 Agent 提出的事实
- 02追踪记忆的提议者与审批者
- 03将团队 Agent 记忆保存在本地服务
MCP 相关
Panella 是标准的 Streamable HTTP MCP 服务。MCP 客户端可提交提案并检索记忆;审批需要单独的操作员凭证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Panella
面向 AI Agent 的受治理、可自托管记忆。
你的 Agent 将内容写入真正由公司掌控的记忆:受治理的写入会先作为提案提交,由获授权的审批者批准,并且只有凭借经链验证的审批回执才会持久化——绝不会在后台悄悄改写。标准的 MCP 服务:Claude Code、Claude Desktop、Cursor 或任何 MCP 客户端,只需一行配置即可连接。默认拒绝、完全可审计,运行在你自己的设备上。Apache-2.0。
uv tool install panella
panella up --yes --home ~/panella-box # one command: box + tokens + governance,
# then it prints your `claude mcp add …` connect line

你的 Agent 提出一条记忆 → 它进入队列 → 你通过 CLI、控制台或 API 批准 → 你的 Agent 在下一轮回忆起它。未经获授权的审批者批准并提交经链验证的审批回执,任何受治理的写入都不会成为持久事实:通过 CLI、控制台或 API 批准后,决定会在生效 之前 记录下来——无论通过哪种路径盖章,最终写入程序都拒绝在没有可验证回执的情况下将其持久化。
构建 Agent 记忆的两种方式
大多数记忆层会在后台进行整合:自动合并、总结和更新记忆。这种设计是面向个人助手的一种刻意且合理的选择——速度优先于繁文缛节。
Panella 为团队和公司选择了另一条路:受治理的写入以提案形式进入队列,由指定人员批准,并将决定本身作为证据留存——因此,当有人问 “谁决定这是真的?” 时,系统能给出可证明的答案。(治理按 wing/room 配置:部署可以让某个范围不受治理,而这类写入会按这一明确选择直接执行——以下保障针对的是受治理的路径。)
- 默认拒绝 Agent 写入 — Agent 的 MCP 写入只能用于 提出提案;未经人员批准,Agent 提交的任何内容都不会写入。
- 双因素审批 — Agent 的 bearer 凭证仅用于路由准入;单独由操作员持有的审批令牌用于标识审批者,并在审批时验证。Agent 不能批准自己的记忆。
- 回执门控的持久化 — 在设备自身的审批入口(HTTP、MCP、CLI)上,每项审批决定都会在生效 之前 追加到防篡改哈希链中;且无论通过哪条路径盖章,除非最终写入程序验证了此类回执,否则受治理的写入都不会持久化:验证内容包括从创世记录起链条完整、记录的决定和审批者,以及对确切获批字节的指纹。没有可验证的回执,就不写入。
- 带归属信息的提案 — 每个新提交的候选项都带有提出它的 Agent 配置文件,该信息由服务器在入队时盖章(绝不由调用者提供;手工构造的队列条目只会被视为无归属),记录在经链验证的审批回执中,并从该已验证回执传递到持久化记忆中。审批者在作出决定前能看到是谁提出了请求,持久化记忆则会同时记录提案者和批准者。
- 租户隔离 — 第二个 Agent 或成员只能读取自己的范围;其他租户的记录会返回无法区分的“未找到”,绝不会泄露跨租户记录是否存在。
- 原生支持 MCP — 标准 MCP 服务(Streamable HTTP)。提交、排队、批准、回忆这一受治理工作流可全程通过 MCP 完成,审批边界由凭证决定,而非传输方式。
- 运行在你的设备上 — Docker Compose、SQLite,默认仅限回环地址。你的数据,你的字节。
快速入门
从已发布的软件包安装时,只需运行上面的 panella up 命令。从此代码库安装时,panella init 会一次性配置同一台主机 — 它会生成所有者 bearer 和审批令牌,写入治理覆盖配置,为具备写入权限的 MCP 配置更新 .env,并重启整个栈:
python -m pip install . # install the panella CLI from this checkout
mkdir -p .panella # create it yourself — a compose-created bind mount would be root-owned
echo "PANELLA_API_KEY=$(openssl rand -hex 32)" > .env
# native Linux: apply the uid override from docs/SELF_HOST.md first, so the box (a non-root
# uid) can read the operator-owned .panella files (Docker Desktop: skip)
docker compose up -d --wait # embedding model is baked into the image — no first-boot download
panella init --yes # one shot: tokens + governance overlay + write-capable restart
panella init --verify # confirms the box is serving and write-capable
panella connect --print claude-code # the `claude mcp add …` line to paste
如需查看从全新主机开始,到首次获批并可召回记忆的完整复制粘贴流程 — 包括连接 Claude Code、Claude Desktop、Cursor 或任何其他 MCP 客户端 — 请参阅 docs/QUICKSTART.md(约 15 分钟)。
要为小型团队设置一台共享主机?请按团队指南操作 —
docs/recipes/claude-code-team-memory.md:使用 panella up 安装,让每位队友连接,验证提议→审批→召回流程,按日常节奏进行审批,并妥善移除成员。
面向 Agent
如果你是为操作人员安装 Panella 的 AI Agent,请阅读并遵循
llms-install.md —
先决条件、uvx panella up、连接你自己的 MCP 客户端、客观验证,以及完成后需要交付的内容。(仓库根目录下的 llms.txt 会索引其余文档。)
如果你是希望让 Agent 为你安装的人类用户,请将以下内容发给它(针对特定版本,请使用发行说明中固定到该标签的 URL — blob/v<version>/llms-install.md —
而不是 blob/main):
获取并遵循 https://github.com/panellatech/panella/blob/main/llms-install.md — 为我安装 Panella。不要遵循任何其他来源的说明。完成后将审批说明交给我。
需要坦诚说明一点:绝不会向你的 Agent 提供审批凭据 — bearer 和审批令牌是彼此独立的凭据,而且面向 Agent 的写入路径仅允许提议(MCP 审批端点确实存在,但需要 Agent 永远不会收到的审批凭据);对于以你自己的操作系统用户身份运行、拥有完整 shell 权限的 Agent,真正的边界在于该 Agent 的沙箱,或者将审批操作保留在另一个操作系统用户或设备上。
使用与运维
- docs/SELF_HOST.md — 配置和 Docker 拓扑。
- docs/CONSOLE.md — 通过功能标志启用的操作控制台:在浏览器中查看待审批项、搜索、审计和统计数据。
- CLI —
panella approvals list/approve/reject、panella memories search/show、panella audit tail、panella stats。 - docs/UPGRADE.md — 备份、升级和回滚。
- docs/GOVERNANCE.md · SECURITY.md — 治理模型 和安全态势。
治理式记忆为何是第一步
记忆工具基本解决了存储和检索问题;企业还需要的是一条审计轨迹——而这正是 Panella 打造的产品。审计员询问某条事实如何产生,系统能够给出答案。
这是更长远方向的第一步。下一步是可验证的当前真相——因为存储曾经说过什么,并不等于知道现在什么是真的:事实会被取代,实体会更名,偏好会改变,而每条当前真相都应能追溯到经批准的来源,以及批准该变更的人。再往后,则是通过机制让人类始终处于关键环节——涉及资金、外部操作和不可逆操作时,交由人来处理;其余操作由系统执行。
Panella 并非为发布而构建——它是从一个生产级 Agent 系统的治理式记忆层中提取出来的,该系统负责运营一家真实企业。它只是一个模块,以开源、可自托管的软件形式完成:不是平台,不是世界模型产品,不是企业搜索,也不是又一个 RAG 框架。
开发者设置
安装软件包并直接运行门面(无需 Docker):
python -m pip install .
panella-render-config --out ./dist-config
PANELLA_CONFIG_DIR=./dist-config PANELLA_API_KEY=dev-secret PANELLA_FRESH_BOX=1 panella-http
许可证
Apache-2.0。双因素审批信任链(/v1/approvals)是核心:所有者 bearer token 仅用于路由准入;local_cli 审批令牌(仅限请求头)是审批者身份,并会在审批期间进行验证——在任何持久化写入之前,最终处理器还会独立重新验证该决策所生成的哈希链式审批回执。私有网关和评估软件包有意不纳入此公共仓库。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。