关于 puda
PUDA 是面向 Physical AI、兼容不同硬件和大模型的运行时,通过统一控制平面连接 Agent 规划与实体机器执行。其架构采用 NATS 消息机制、命令行优先界面、声明式协议、边缘服务及保留溯源信息的项目记录。
主要功能
- 01兼容不同硬件和大模型的运行时
- 02基于 NATS 的消息驱动架构
- 03供 Agent 和人工使用的命令行
- 04声明式实验与工作流协议
- 05将命令转换为原生机器驱动调用的边缘服务
- 06保留命令溯源信息的项目记录
适用场景
- 01连接 Agent 规划与机器执行
- 02通过声明式协议运行实验
- 03检查可响应的机器和遥测信息
- 04保留命令与数据的溯源记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pudap/ skills --skill puda安装后在 Claude Code 中输入/puda确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/chrony.mdcli-profiles-and-telemetry.mdlivestream.mdscripts/sync-clock.ps1sync-clock.sh详细介绍
PUDA 上下文
PUDA(Physical Unified Device Architecture,物理统一设备架构)是一种与硬件和大模型无关的 Physical AI 运行时。它通过将高层 Agent 逻辑与底层机器执行分离,为 AI Agent 和软件系统提供统一、可验证的物理机器控制平面。
概括来说,PUDA 采用以 NATS 为核心的消息驱动架构,为 Agent 和人类提供 CLI 优先的界面,使用声明式协议执行实验或工作流,通过边缘服务将命令转换为原生机器驱动调用,并通过项目记录保留命令和数据的溯源信息。可以将 PUDA 视为连接规划、机器控制、执行日志和生成报告的 Agent 原生桥梁。
有关 PUDA、设置或其他问题的更多信息,请参阅 https://docs.puda.co/llms.txt。
设置 puda
- 安装 CLI:确保已安装
puda,且它位于 PATH 中,以便全局调用。如果尚未安装,请从 Puda releases page 下载适用于你平台的二进制文件,安装后将其添加到 PATH。 - 确保依赖项齐全:确保
python3、pip和npx均可用;如果缺少,请先安装。 - 登录:如果尚不知道用户的用户名,请向用户询问——不要自行假设。使用
puda login -u <username>登录。 - 选择 NATS 配置:查看
puda profile list和puda profile current。使用puda profile switch <name>切换到已有的目标配置。若要新建配置,请从用户或部署配置中获取名称和代理 URL;不要自行假设实验室。明文连接:puda profile add <name> --servers <nats-urls>。加密连接:puda profile add <name> --servers <tls-urls> --ca <local-ca-path> --key <local-key-path>。加密 CLI 配置必须同时提供这两个文件。如果尚未选择配置,系统会自动激活第一个配置;否则,请明确切换到目标配置。配置或迁移连接时,请阅读 CLI 配置和遥测。 - 安装技能:运行
puda skills install,为 puda 安装 Agent 技能。
设置项目
运行 puda init(例如 puda init . 或 puda init <folder_name>)。
只有在完成 puda 设置并初始化项目后,才能继续生成协议、执行机器命令或运行实验工作流。
CLI 0.1.x 配置和机器检查
使用 puda --version 和命令 --help 检查已安装的界面。此技能适用于 CLI 0.1.3;Python SDK 的版本单独管理(0.0.21)。
puda config list/get/set仅管理user.user_id和user.username。代理 URL 和安全路径属于puda profile;项目设置属于puda project config。不要使用已移除的puda config set nats_servers工作流。puda machine list用于发现有响应的机器。puda machine info <id>(别名ping)会返回实时状态、SDK 版本、已注册的实时视频流和公布的遥测流。请读取results[].tlm_streams[].subject;不要根据机器名称猜测流是否存在。puda machine watch <full-subject> --timeout 15用于观察实时流量。请使用已公布的主题,例如puda.first.tlm.stream.pos。位置参数是主题,而非机器 ID。若要监视指定机器的所有主题,请使用--machines first,balance,而不要传入主题。- 配置和机器检查的输出默认为 JSON;watch 输出为 NDJSON。只有在需要文本时才使用
--human。检查时优先使用有时限的 watch;只有在用户要求时才使用持续 watch。这些只读命令不需要初始化项目或启动机器运行。
有关配置迁移、可编辑配置字段、机器信息输出、watch 通配符、心跳筛选和主题示例,请阅读 CLI 配置和遥测。
项目文件夹结构
.
├── project.md # single source of truth (puda-memory skill)
├── protocols/ # generated protocol files (puda-protocol skill)
├── puda.config # puda config file
└── puda.db # puda database file
时钟同步(Chrony / NTP)
PUDA 时间戳、发现租约和实验溯源都依赖主机时钟。设置站点或边缘主机时,或者涉及时钟、Chrony 或 NTP 时,请阅读 references/chrony.md。在边缘主机上,请向用户询问站点 NTP 服务器的 IP,并运行 scripts/sync-clock.sh 或 scripts/sync-clock.ps1。不要假设 IP。不要在边缘容器内运行 Chrony。
直播(USB / IP 摄像头)
如果机器主机连接了 USB 摄像头、网络摄像头或 IP 摄像头,并且操作人员需要实时视频,请阅读 references/livestream.md。使用 PUDAP/livestream。
请向用户询问摄像头(USB /dev/video* 路径或网络 rtsp:// URL)、直播名称、简短描述、MediaMTX 主机(MagicDNS、Tailscale IP,或没有 Tailscale 时的机器 IP),以及应该使用此视频源的机器 ID(一个或多个)。不要假设其中任何一项。然后启动 Docker 堆栈,并使用 puda livestream add --name --host --description --machines 注册。直播是整个设备群的记录,而不是边缘配置。
更新 puda 技能
刷新或更新 puda 技能:
puda skills update