mcpField
P
Panella

Panella

本地服务
panella.tech记忆与知识010 周前更新

关于 Panella

Panella 是面向使用 AI Agent 团队的可自托管记忆服务。Agent 写入先进入提案队列,获授权人员批准后才会保存,并留下可验证的审计记录。

主要功能

  1. 01记忆写入需审批
  2. 02Agent 与审批者凭证分离
  3. 03防篡改审批回执
  4. 04租户隔离的记忆范围
  5. 05通过 CLI 和浏览器控制台运维

适用场景

  1. 01保存前审查 Agent 提出的事实
  2. 02追踪记忆的提议者与审批者
  3. 03将团队 Agent 记忆保存在本地服务

MCP 相关

Panella 是标准的 Streamable HTTP MCP 服务。MCP 客户端可提交提案并检索记忆;审批需要单独的操作员凭证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"panellatech-panella": {
"command": "uvx",
"args": [
"panella"
]
}
}
}
启动命令uvx panella

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypipanella0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

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

在一个终端中完成端到端操作:panella up 启动设备并打印连接命令,Claude Code Agent 提出一条记忆并报告已排队,panella approvals list 显示待处理条目,获授权的审批者批准该条目,随后 Agent 回忆起已批准的事实。

你的 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 审批令牌(仅限请求头)是审批者身份,并会在审批期间进行验证——在任何持久化写入之前,最终处理器还会独立重新验证该决策所生成的哈希链式审批回执。私有网关和评估软件包有意不纳入此公共仓库。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。