跳转到正文

Work ​

Work 封装一个可运行的工作空间。在 Piwork 中,你为它命名,并对它执行启动、停止、导出和导入。

例如,一个 Kanban Work 可以包含看板应用、已保存的数据、操作工具、Harness 指令,以及共同修改应用的历史。这些资源放在一起,才能构成可以继续使用的环境。

Work 包含什么? ​

  • 工作空间文件、源码和托管卷中的应用数据。
  • Service 定义和固定容器镜像。
  • Harness 配置、AGENTS.md、Skills 和 Pi Packages。
  • 对话历史和持久控制历史。
  • 恢复工作空间所需的当前、期望和保留配置。

Agent 有私有数据卷,以及位于 /var/data/workspace 的共享工作空间。配置允许时,Services 可以共享该目录。希望携带的数据需要保存在托管存储中;容器临时文件不在可携带边界内。

运行和修改 ​

启动 Work 会运行 Harness 并恢复已启用的 Services。停止后,持久文件、历史和定义仍然保留。

部分配置修改会形成期望配置(desired),需要显式 Apply 才会生效。已保存的配置与当前 Harness 加载的运行配置需要区分。

移动 Work ​

停止 → 导出 → 分享 → 导入 → 启动 → 继续

导出从已停止的 Work 生成 .work 归档。导入会创建一个独立的新 Work,分配新的平台身份,并保持停止状态。准备好后再启动。

归档携带固定镜像内容和持久工作空间状态,不携带活进程内存或 Piwork 之外的服务。接收方需要单独配置兼容的模型和凭据。

文件和历史按原内容复制,不过滤用户内容。分享前检查保存过的内容:写在源码或对话里的密钥,也会随 Work 移动。

实际命令见第一个 Work,格式细节见 Work 包规范。

以 Apache License 2.0 开源。