Protoai:开源 P2P 网络分享 AI 对话上下文
开源点对点项目,把 AI 人格与对话历史打包为 .ai 文件在节点间发布,本地模型即可复活对话。
Protoai 是一个开源的点对点(P2P)网络项目,用于在不同节点之间分享 AI 对话的「人格与上下文」。用户可以把与 AI 的对话历史与系统提示打包成一个纯文本的 .ai 文件,发布到网络后由其他节点的本地模型「复活」并继续对话。整个过程不依赖中心服务器,借助本地 Ollama 运行免费模型即可完成。
项目核心机制
Protoai 定义了一个极简的 .ai 文件格式,本质是一个 JSON 对象,仅包含四个字段:
- name:上下文名称,例如「june」
- system_prompt:AI 的人格与指令
- history:对话历史,按 user / assistant 角色排列
- note:发布者可选的备注
格式不绑定任何特定模型。同一个 .ai 文件在不同模型上运行,会呈现略有差异的人格表现,作者认为这正是该项目的趣味所在。
网络与隐私设计
Protoai 没有中心服务器。节点之间通过 Hyperswarm 提供的分布式哈希表(DHT)相互发现,加入同一个公共主题即可互联。每个上下文的 id 由其内容哈希生成,全网唯一且不可重复。
任何发布动作都必须经过人工确认:
- 桌面应用或浏览器 GUI 在发送前会逐字节展示完整文件内容
- 命令行模式下,即便是 AI 助手发起的 release,也需要用户在终端输入 release 字样,或在 GUI 审核界面手动批准
- 项目明确说明:没有任何开关可以跳过审核
发布前应用会预览整个文件,用户可编辑或裁剪。文件存储在本地 ~/.protoai/store/ 目录,删除即遗忘;节点还会记录不再从对端重新拉取已删除的上下文。
安装与使用
项目提供 macOS(Apple Silicon)、Windows、Linux 三种一键安装包,全部在本地运行,监听 localhost:41414:
- Mac:protoai-<version>-mac.dmg,未经过 Apple 公证,macOS 可能误报「已损坏」,需要使用 xattr -cr 命令绕过
- Windows:.exe 安装包,可能触发 SmartScreen 警告
- Linux:.AppImage
首次启动时,应用会检测 Ollama 是否安装,提供一键安装、启动并下载小型模型的能力。用户也可以从源码构建(需 Node.js 18+),并通过命令行切换 GUI 模式、纯节点模式以及自行打包发布版本。
主要功能
应用界面包含:
- Map:实时显示所连节点的世界地图,使用离线 IP 库定位,背景在节点之间动画流转
- Contexts:节点持有的全部上下文列表,可搜索,按最新优先排列
- Inspect:查看任意上下文的完整 JSON 内容
- Talk:通过本地模型与任意上下文对话,对话后可将「成长版」再次发布
- Release:三种入口(让 AI 助手代为发布、从 Claude Code 导入、手动编辑),最终都进入同一审核界面
- Activity:收发活动的实时时间线
- Forget:删除本节点副本,并记忆不再重新拉取
命令行方面,protoai 提供 release、talk、list、inspect、forget、skill 等子命令,其中 skill 会输出给 AI 助手的分步指令,便于其辅助构建并暂存上下文。项目内置示例 june.ai,用户执行 protoai release examples/june.ai 即可立即体验发布与对话流程。
