用途:帮助在任意技术栈或数据库的仓库中,实现同时运行多个本地开发环境的系统,基于 git worktree 提供隔离代码,并为每个环境分配独立端口、数据库和配置文件。
主要能力:区分共享目录(如 .local、.plans,通过符号链接指向主 worktree)与每 worktree 独立目录(数据库、缓存、日志、Docker 卷)。采用连续端口方案,以 basePort(推荐 8100,范围 8100–8299)为锚点,按槽位分配端口,槽位注册表存于 slots.json。dev-servers.json 跟踪活跃开发服务器,可设置并发上限(默认 5),超限时中止或使用 --evict 停止最旧实例。配置文件必须被 gitignore,通过 .example 文件两阶段生成并注入槽位端口。
使用方式:Node 用户安装 @paleo/workspace 包,编写两个脚本构建配置对象并调用 runWorkspace(config) / runDevServer(config)。需提供 finalizeWorktree、printSummary、可选 purgeInfrastructure、可选 devServerScript 及 configFiles 列表。非 Node 用户依据设计文档自行实现。assets/ 目录含参考脚本 workspace.mjs、dev-server.mjs 及代理文档模板,脚本带 ADAPT 注释。CLI 子命令包括 setup、remove、list、status、wait、set-owner、migrate-0.16。
适用场景:多分支并行开发、AI 代理并行工作、需要隔离环境的本地开发。
限制:配置错误会传播到新 worktree;finalizeWorktree 必须幂等;端口基址需避开常见冲突端口;具体数据库配置方式依技术栈而定。