执行空间
通过执行空间管理同一项目下的多个工作上下文和执行位置
执行空间
执行空间用于给同一个项目准备多个独立的文件副本和执行环境。它不是一个新的项目,而是主空间下的可运行工作副本:成员、任务、任务配置等项目身份仍由主空间统一管理;文件目录、Git 状态、执行模式和运行环境由每个空间独立维护。
典型使用场景:
- 给不同 Bot 准备独立代码目录,避免多个任务同时修改同一个工作区。
- 在云端 Sandbox 和本地 Local Agent 之间准备不同执行环境。
- 在执行高风险任务前创建一个独立副本,完成后再按需同步文件。
主空间与执行空间
一个执行空间组由一个主空间和多个执行空间组成。主空间是项目入口,也可以直接作为执行位置使用;额外创建的执行空间用于承载隔离的文件副本和运行环境。
- 主空间:项目身份中心,承载成员权限、任务、Bot 绑定、共享知识库引用和默认入口。
- 执行空间:工作副本,承载独立文件目录、Git 工作区、Sandbox 或 Local Agent 运行环境。
用户进入执行空间时,看到的是同一个项目下的另一个工作副本。权限判断仍使用主空间成员权限,但文件、对话运行环境和执行日志使用当前执行空间。可以通过左上角空间切换器切换不同的执行空间。

入口与切换
普通工作空间列表只展示主空间。执行空间不再作为独立项目卡片出现在顶层列表里,避免同一个项目在列表中重复出现。
进入主空间后,可以通过顶部空间切换器查看“当前项目”下的主空间和执行空间,并切换当前工作上下文。历史执行空间链接仍可直接访问;直接进入执行空间时,页面会标识当前为执行空间,并展示它所属的主空间关系。
共享与独立
共享的数据
这些数据只维护一份,归主空间管理。用户从执行空间访问时,系统会解析到主空间:
| 类型 | 说明 |
|---|---|
| 成员与权限 | 团队成员、部门权限、成员角色共享;执行空间不维护单独成员列表。 |
| 任务数据 | 任务、评论、状态、变更历史共享;在执行空间创建或更新任务,仍写入主空间任务数据。 |
| 任务配置 | 任务类型、优先级、标签、自定义字段、任务视图共享;执行空间不能单独维护一套任务配置。 |
| 任务附件 | 附件写入主空间附件存储;从执行空间上传任务附件时也归主空间。 |
| 共享知识库 | 共享知识库引用和授权共享;执行空间不会复制共享知识库内容。 |
| 快捷命令与业务入口 | 项目级快捷命令、知识视图、业务入口等项目身份配置共享。 |
| Bot 参与项目的关系 | Bot 可绑定主空间或同组执行空间,但任务归属和候选范围按主空间项目统一计算。 |
独立的数据
这些数据按主空间和每个执行空间分别维护:
| 类型 | 说明 |
|---|---|
| 文件目录 | 每个空间有自己的工作区目录;文件增删改不会自动同步到其他空间。 |
| Git 工作区 | 未提交改动、Git index、当前 checkout 状态等互相独立。 |
| 执行模式 | 执行空间创建时选择云端模式或本地模式,创建后不能切换。 |
| 本地执行配置 | localAgentHostId、localPath 只属于对应本地执行空间。 |
| Sandbox / Local Agent 运行态 | 会话、进程、执行日志、运行环境按实际执行空间隔离。 |
| 对话落点 | 对话可以落在主空间或某个执行空间;文件上下文和 runtime 使用对话所在空间。 |
| 文件 watcher 与同步状态 | 文件监听、强制同步源/目标状态按空间独立。 |
创建执行空间
在工作空间设置中打开「执行空间」页签,点击「创建执行空间」。


执行空间适合把并行开发、测试或 Bot 任务放到独立工作副本里,避免多个任务同时修改同一批文件。它仍属于同一个主空间项目,成员权限、任务归属和资源关系继续以主空间为准。
创建前需要满足:
- 主空间必须配置远程 Git 仓库和主分支。
- 创建者需要具备主空间管理权限。
- 本地模式需要可用的 Local Agent Host。
创建时需要填写:
- 名称:用于在列表和切换入口展示。
- 标识符:用于生成执行空间 slug。
- 执行模式:云端模式或本地模式,创建后不可切换。
- 任务路由:可以禁止 Bot 任务自动路由到该执行空间。
云端模式会从主空间 Git 仓库 clone 初始化文件目录。
本地模式需要选择 Local Agent Host 和本地目录,并可选择是否 clone:
- 执行 clone:系统会先清空选择的本地目录,再从主空间 Git 仓库 clone。
- 跳过 clone:系统只绑定该目录,不清空目录、不执行 clone,目录内容由用户自行准备。
初始化命令
如果仓库中存在 .knodo/settings.json,可以声明执行空间 clone 后的初始化命令:
{
"schemaVersion": 1,
"replicaClone": {
"initCommand": "bash .knodo/init.sh"
}
}初始化命令由项目用户维护,适合处理老项目 clone 后还需要安装依赖、拉取子仓库或准备环境的场景。执行前需要确认命令风险。
默认空间
执行空间组可以设置默认聊天空间。
默认聊天空间用于控制从主空间入口创建新对话时优先进入哪个空间。
如果没有设置默认聊天空间,新对话仍进入主空间。从执行空间页面进入对话时,对话使用当前执行空间。修改默认聊天空间只影响新建对话,历史对话不会迁移。
执行位置
「执行空间」页签使用一张工作上下文列表统一展示主空间和执行空间。每一行都对应一个具体空间,并展示类型、状态、执行位置、任务路由和 Bot 并发容量。
执行位置决定这个空间里的任务在哪里运行:本地执行机使用你电脑上的稳定环境,适合安装依赖、使用本机工具链、用本机浏览器直连调试和验收;云端执行是临时沙箱,适合不依赖本机环境的轻量任务,但你的电脑不能直接连到沙箱里的服务。主空间和每个执行空间的执行位置彼此独立;修改某一行不会隐式修改同组其他空间。
云端与本地模式
每个空间都有自己的执行模式:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 云端模式 | 继续使用远程沙箱执行 | 本机离线、临时切回云端、只想保留绑定关系 |
| 本地模式 | AI 直接操作你绑定的本地目录 | 本地开发、联调、调试、调用本机环境 |
行为规则:
- 绑定本地执行机后,该空间会自动切到本地模式。
- 已绑定后可以在本地模式和云端模式之间来回切换,无需解绑。
- 切回本地模式时要求本地执行机在线。
- 切到云端模式时会保留绑定关系和本地目录配置。
本地绑定与数据同步
如果本地执行机已经在「本地主机」中接入,可以在空间行里直接绑定:
- 点击对应空间的执行位置编辑入口。
- 选择一个可绑定的本地执行机。
- 填写该空间在这台机器上的本地目录。
- 选择是否在绑定时同步云端数据到本地。
- 保存绑定。

“绑定时同步云端数据到本地”默认关闭。开启后会强制把云端文件同步到本地,可能清理本地目录;关闭后只建立绑定关系,不主动覆盖你的本地目录。
系统支持两个方向的同步:
- 云端同步到本地。
- 本地同步到云端。
同步过程中会展示任务状态、已处理文件数、已处理字节数和删除文件数。同步任务执行中可以取消;取消后任务会在当前正在处理的文件结束后停止,可能留下部分已同步文件。如果需要恢复一致状态,可以重新执行“云端同步到本地”或“本地同步到云端”。
平台也会根据文件清单比较当前差异,用于判断是否还有未同步数据。
解绑与换绑规则
解绑或切换到新的设备 / 新目录前,平台会先检查当前绑定是否安全:
- 如果有同步任务正在执行,不能解绑或换绑。
- 如果检测到未同步数据,不能直接解绑或换绑。
- 如果原设备离线,平台无法确认同步状态时,不能直接换绑。
- 如果确认不需要保留未同步数据,可以执行强制解绑。
解绑完成后:
- 该空间会自动切回云端模式。
- 绑定关系会被移除。
- 本地目录本身不会被系统删除。
对话规则
普通 Web 对话的落点规则:
- 从主空间进入,且设置了默认聊天空间:新对话进入默认聊天空间。
- 从主空间进入,未设置默认聊天空间:新对话进入主空间。
- 从执行空间进入:新对话进入当前执行空间。
对话所在空间决定文件上下文、Sandbox 或 Local Agent runtime。任务、共享知识库、快捷命令等项目配置仍使用主空间。
任务与 Bot 执行
任务始终归主空间统一管理。无论用户在主空间还是执行空间创建、查看、更新任务,读写的都是同一份主空间任务数据。
Bot 执行任务时会区分两个空间:
- 源空间:任务所属主空间。
- 执行空间:实际运行 Bot、修改文件和产生日志的主空间或执行空间。
执行空间选择规则:
- 用户显式选择执行空间时,使用用户选择的空间。
- 未显式选择时,系统会在同组可用执行空间中选择。
- 如果没有可用执行空间,回退到主空间。
同一个执行空间同一时间只能运行一个 Bot 任务,避免多个任务互相覆盖文件改动。普通对话仍可进入该空间。
开启 taskRoutingDisabled 后,该空间不会被 Bot 任务自动路由;已有任务不受影响。
文件强制同步
主空间和执行空间支持手动强制文件一致同步。同步不会自动触发,必须由用户点击并确认风险。
支持方向:
- 主空间覆盖执行空间。
- 执行空间覆盖主空间。
同步范围:
- 除共享知识库相关路径外,同步全部目录和文件。
- 嵌套 Git 仓库、额外 clone 的仓库、未提交文件都会作为普通文件同步。
- 删除动作会传播到目标空间,使目标最终与源空间一致。
共享知识库处理规则:
- 不复制共享知识库内容。
- 不复制跨组织共享库代理内容。
- 不跟随共享知识库软链接目标。
- 如果存在共享知识库引用,只保留引用或按现有引用机制重建。
执行同步前,请确认目标空间没有需要保留的未提交改动或本地文件。
删除执行空间
删除执行空间只删除或归档该工作副本,不会删除主空间业务数据。
删除规则:
- 不能通过执行空间删除主空间。
- 存在运行中的 Bot 任务或同步任务时不能删除。
- 删除会清理默认聊天空间指针。
- 删除不会删除主空间成员、任务、共享知识库引用等项目数据。
- 本地模式执行空间删除时,默认只解除系统绑定,不删除用户机器上的
localPath。
使用建议
- 把主空间作为项目真实入口,维护成员、任务、配置和共享知识库。
- 给长期运行或高风险 Bot 准备独立执行空间。
- 本地模式执行 clone 前确认目录可以被清空;不确定时选择跳过 clone。
- 在执行文件强制同步前,先检查目标空间是否有未提交改动。
- 如需从云端切换到本地,或从本地切换到云端,请新建执行空间。