项目文件夹就是一个 Project Location
LoneAct 不维护一个跨设备的“逻辑项目”对象。它识别的是某个运行端上的一个真实目录:这个目录加上运行它的设备,构成一个 Project Location。Conversation、Agent Team、文件边界和工具执行都绑定在这个 Location 上。
Endpoint
一台设备上的 LoneAct 运行端。它有自己的身份与密钥;同一台设备可以承载多个项目文件夹。
Project Location
运行端上的一个不可变项目根目录,以及它的显示名、状态、规则和能力。
ProjectLocationRef
由 endpointId + projectLocationId 组成的稳定资源键;所有命令都按它定位项目。
即使两个目录同名、来自同一个 Git remote,或路径看起来相似,它们仍是两个独立 Location。这样文件写入、命令执行和授权永远不会落到错误的机器上。
一个设备,可以有很多项目
Local Web 和 IDE 的 Locations 侧栏按设备分组。你可以在同一台电脑上添加多个项目根目录,每个项目拥有独立的 Conversation、Agent Team、Memory、Rules、Secrets 和检查点。
本地项目与远程项目
Local Web 与 IDE 可以同时装配两条执行路径:本机项目走 Direct Endpoint,远程项目走 Cloud Relay。Cloud Web 只装配 Cloud Relay。两种路径共享同一个 Workbench 模型,但工具始终在项目所属的那台设备上执行。
| 入口 | 本机项目 | 远程项目 | 执行位置 |
|---|---|---|---|
| Local Web | Direct | Cloud Relay(配置远程访问后) | 项目所属 Endpoint |
| IDE | Direct | Cloud Relay(配置远程访问后) | 项目所属 Endpoint |
| Cloud Web | — | Cloud Relay | 项目所属 Endpoint |
云端负责发现、鉴权与转发;文件读写、终端命令、浏览器操作和 MCP 工具仍由项目所在的运行端执行。运行端离线时,项目摘要仍然可见,但依赖执行的动作会被禁用并给出原因。
同账号发现与跨账号授权
同一账号:自动发现
开启远程访问的设备会发布它的 Location。登录同一账号的其他设备或 Cloud Web 会自动看到这些项目,不需要逐个创建 Grant。
Same account跨账号:显式 Grant
把项目分享给另一个账号时,创建按 Location 和 capability 限定的 RemoteAccessGrant;它可以被撤销,并保留授权记录。
Explicit grant远端设备离线时,你仍能看到项目摘要与最近状态;打开文件、创建对话或执行工具会显示稳定的 blocked reason。恢复在线后即可继续。
混合工作台的典型路径
打开 Locations
Local Web 或 IDE 按设备分组列出当前可见的项目;Cloud Web 列出同账号与已授权账号发布的 Location。
选择项目
选择项目后,Conversation、文件树、团队和设置都切换到这个 Location 的上下文。
发起工作
新建 Conversation,写清目标、约束与验收标准;模型和工具快照按当前项目解析。
按需切换
在同一个窗口切换到另一台设备上的项目;对话和运行记录仍各自留在原来的 Location。
边界与建议
- 不要把整个用户目录添加为项目;使用真实项目根目录,并保持 Repository allowlist 尽量窄。
- 归档后重新添加同一目录会得到新的 Location ID;旧 Conversation 不会自动迁移到新目录。
- 远程项目需要项目所属 Endpoint 在线;Cloud Web 不能代替离线设备执行本地工具。
- 跨账号协作使用可撤销 Grant,按最小范围授权;不要把个人账号当作共享入口。
- 需要完整本机工具时优先使用 Local Web 或 IDE;Cloud Web 适合远程继续与查看。