[{"data":1,"prerenderedAt":524},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fguide\u002Fworktrees":128,"\u002Fdocs\u002Fguide\u002Fworktrees-surround":519},[4],{"title":5,"path":6,"stem":7,"children":8,"page":32},"Docs","\u002Fdocs","docs",[9,33,78,108],{"title":10,"path":11,"stem":12,"children":13,"icon":32},"入门","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[14,17,22,27],{"title":15,"path":11,"stem":12,"icon":16},"介绍","i-lucide-house",{"title":18,"path":19,"stem":20,"icon":21},"安装与更新","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation","i-lucide-download",{"title":23,"path":24,"stem":25,"icon":26},"快速上手","\u002Fdocs\u002Fgetting-started\u002Fusage","docs\u002F1.getting-started\u002F3.usage","i-lucide-rocket",{"title":28,"path":29,"stem":30,"icon":31},"界面导览","\u002Fdocs\u002Fgetting-started\u002Finterface","docs\u002F1.getting-started\u002F4.interface","i-lucide-layout-dashboard",false,{"title":34,"icon":32,"path":35,"stem":36,"children":37,"page":32},"使用指南","\u002Fdocs\u002Fguide","docs\u002F2.guide",[38,43,48,53,58,63,68,73],{"title":39,"path":40,"stem":41,"icon":42},"任务与并行","\u002Fdocs\u002Fguide\u002Ftasks","docs\u002F2.guide\u002F1.tasks","i-lucide-list-checks",{"title":44,"path":45,"stem":46,"icon":47},"模型与用量","\u002Fdocs\u002Fguide\u002Fmodels","docs\u002F2.guide\u002F2.models","i-lucide-brain",{"title":49,"path":50,"stem":51,"icon":52},"权限模式","\u002Fdocs\u002Fguide\u002Fpermission-modes","docs\u002F2.guide\u002F3.permission-modes","i-lucide-shield",{"title":54,"path":55,"stem":56,"icon":57},"审查、预览与终端","\u002Fdocs\u002Fguide\u002Freview-preview","docs\u002F2.guide\u002F4.review-preview","i-lucide-eye",{"title":59,"path":60,"stem":61,"icon":62},"斜杠命令与提及","\u002Fdocs\u002Fguide\u002Fcommands","docs\u002F2.guide\u002F5.commands","i-lucide-square-chevron-right",{"title":64,"path":65,"stem":66,"icon":67},"长任务 Goal","\u002Fdocs\u002Fguide\u002Fgoal","docs\u002F2.guide\u002F6.goal","i-lucide-target",{"title":69,"path":70,"stem":71,"icon":72},"工作树与环境","\u002Fdocs\u002Fguide\u002Fworktrees","docs\u002F2.guide\u002F7.worktrees","i-lucide-git-branch",{"title":74,"path":75,"stem":76,"icon":77},"会话接力","\u002Fdocs\u002Fguide\u002Fsession-continuity","docs\u002F2.guide\u002F8.session-continuity","i-lucide-import",{"title":79,"icon":32,"path":80,"stem":81,"children":82,"page":32},"进阶","\u002Fdocs\u002Fadvanced","docs\u002F3.advanced",[83,88,93,98,103],{"title":84,"path":85,"stem":86,"icon":87},"技能 Skills","\u002Fdocs\u002Fadvanced\u002Fskills","docs\u002F3.advanced\u002F1.skills","i-lucide-sparkles",{"title":89,"path":90,"stem":91,"icon":92},"MCP 工具","\u002Fdocs\u002Fadvanced\u002Fmcp","docs\u002F3.advanced\u002F2.mcp","i-lucide-server",{"title":94,"path":95,"stem":96,"icon":97},"插件市场","\u002Fdocs\u002Fadvanced\u002Fplugins","docs\u002F3.advanced\u002F3.plugins","i-lucide-puzzle",{"title":99,"path":100,"stem":101,"icon":102},"记忆与项目指令","\u002Fdocs\u002Fadvanced\u002Fmemory","docs\u002F3.advanced\u002F4.memory","i-lucide-brain-circuit",{"title":104,"path":105,"stem":106,"icon":107},"联网搜索","\u002Fdocs\u002Fadvanced\u002Fweb-search","docs\u002F3.advanced\u002F5.web-search","i-lucide-globe",{"title":109,"icon":32,"path":110,"stem":111,"children":112,"page":32},"参考","\u002Fdocs\u002Freference","docs\u002F4.reference",[113,118,123],{"title":114,"path":115,"stem":116,"icon":117},"快捷键速查","\u002Fdocs\u002Freference\u002Fshortcuts","docs\u002F4.reference\u002F1.shortcuts","i-lucide-keyboard",{"title":119,"path":120,"stem":121,"icon":122},"数据与隐私","\u002Fdocs\u002Freference\u002Fprivacy","docs\u002F4.reference\u002F2.privacy","i-lucide-shield-check",{"title":124,"path":125,"stem":126,"icon":127},"常见问题","\u002Fdocs\u002Freference\u002Ffaq","docs\u002F4.reference\u002F3.faq","i-lucide-circle-help",{"id":129,"title":69,"body":130,"description":512,"extension":513,"links":514,"meta":515,"navigation":516,"path":70,"seo":517,"stem":71,"__hash__":518},"docs\u002Fdocs\u002F2.guide\u002F7.worktrees.md",{"type":131,"value":132,"toc":501},"minimark",[133,146,156,160,163,207,214,220,223,239,243,280,283,287,294,301,305,311,372,379,382,385,418,421,424,430,460,469,472,494,497],[134,135,136,137,141,142,145],"p",{},"同时跑几个任务时，它们都在同一份代码上改，很容易互相踩脚。",[138,139,140],"strong",{},"Git 工作树","解决的就是这个问题：给任务一份",[138,143,144],{},"物理隔离","的检出目录，几套方案并行试而互不干扰。",[147,148,149],"note",{},[134,150,151,152,155],{},"工作树是 Git 的能力，因此这些入口只对 ",[138,153,154],{},"Git 项目","出现。非 Git 项目不会显示「在本地处理 \u002F 新工作树」的选择。",[157,158,159],"h2",{"id":159},"两种启动方式",[134,161,162],{},"新建任务时选：",[164,165,166,179],"table",{},[167,168,169],"thead",{},[170,171,172,176],"tr",{},[173,174,175],"th",{},"启动方式",[173,177,178],{},"含义",[180,181,182,193],"tbody",{},[170,183,184,190],{},[185,186,187],"td",{},[138,188,189],{},"在本地处理",[185,191,192],{},"直接在项目当前检出上干。底栏可以选在哪个分支上工作",[170,194,195,200],{},[185,196,197],{},[138,198,199],{},"新工作树",[185,201,202,203,206],{},"为这个任务创建独立工作树。底栏选的分支用于",[138,204,205],{},"指定创建基线","，不会切换你当前的检出",[134,208,209,210,213],{},"侧栏的任务和项目上会显示",[138,211,212],{},"工作树标记","，一眼分得清哪个是隔离环境。",[215,216,217],"warning",{},[134,218,219],{},"有未提交改动时切换分支，会提示你先提交更改，不会直接覆盖。",[157,221,222],{"id":222},"永久工作树",[134,224,225,226,230,231,234,235,238],{},"一次性的任务工作树跟着任务走。如果你想长期维护一条并行线（比如常驻的 ",[227,228,229],"code",{},"release"," 分支），可以在侧栏的 Git 项目上",[138,232,233],{},"创建永久工作树"," —— 命名确认后，它会作为",[138,236,237],{},"独立项目","加入侧栏列表，跟别的项目一样用。",[157,240,242],{"id":241},"设置-工作树","设置 → 工作树",[164,244,245,255],{},[167,246,247],{},[170,248,249,252],{},[173,250,251],{},"设置",[173,253,254],{},"说明",[180,256,257,270],{},[170,258,259,264],{},[185,260,261],{},[138,262,263],{},"工作树根目录",[185,265,266,267],{},"新建的独立工作树创建在这个目录下，默认 ",[227,268,269],{},"~\u002F.inscode\u002Fworktrees",[170,271,272,277],{},[185,273,274],{},[138,275,276],{},"删除任务时移除工作树",[185,278,279],{},"打开后，删任务会连带清掉磁盘上的工作树目录",[134,281,282],{},"这一页也可以查看和删除已有的工作树。在这里删除时会连带清理磁盘上的目录，不会留下空壳。",[157,284,286],{"id":285},"设置-环境","设置 → 环境",[134,288,289,290,293],{},"新建工作树意味着一个全新的目录 —— 依赖没装、容器没起。",[138,291,292],{},"环境","就是把这套准备工作固定下来，创建工作树时自动跑。",[134,295,296,297,300],{},"环境按",[138,298,299],{},"项目","配置，创建时会自动用项目名预填名称。每个环境三部分：",[302,303,304],"h3",{"id":304},"设置脚本",[134,306,307,310],{},[138,308,309],{},"创建工作树时","在项目根目录下运行。比如：",[312,313,318],"pre",{"className":314,"code":315,"language":316,"meta":317,"style":317},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cd \"$CODEX_WORKTREE_PATH\"\npip install -r requirements.txt\nnpm install\n.\u002Frun\u002Fsetup.sh\n","bash","",[227,319,320,340,357,366],{"__ignoreMap":317},[321,322,325,329,333,337],"span",{"class":323,"line":324},"line",1,[321,326,328],{"class":327},"s2Zo4","cd",[321,330,332],{"class":331},"sMK4o"," \"",[321,334,336],{"class":335},"sTEyZ","$CODEX_WORKTREE_PATH",[321,338,339],{"class":331},"\"\n",[321,341,343,347,351,354],{"class":323,"line":342},2,[321,344,346],{"class":345},"sBMFI","pip",[321,348,350],{"class":349},"sfazB"," install",[321,352,353],{"class":349}," -r",[321,355,356],{"class":349}," requirements.txt\n",[321,358,360,363],{"class":323,"line":359},3,[321,361,362],{"class":345},"npm",[321,364,365],{"class":349}," install\n",[321,367,369],{"class":323,"line":368},4,[321,370,371],{"class":345},".\u002Frun\u002Fsetup.sh\n",[134,373,374,375,378],{},"可以按 ",[138,376,377],{},"默认 \u002F macOS \u002F Linux \u002F Windows"," 分别写，跨平台协作时各用各的。",[302,380,381],{"id":381},"环境变量",[134,383,384],{},"注入给设置脚本与清理脚本。内置两个：",[164,386,387,397],{},[167,388,389],{},[170,390,391,394],{},[173,392,393],{},"变量",[173,395,396],{},"指向",[180,398,399,408],{},[170,400,401,405],{},[185,402,403],{},[227,404,336],{},[185,406,407],{},"本次创建的工作树目录",[170,409,410,415],{},[185,411,412],{},[227,413,414],{},"$CODEX_PROJECT_PATH",[185,416,417],{},"原项目目录",[134,419,420],{},"也可以自己加变量。",[302,422,423],{"id":423},"清理脚本",[134,425,426,429],{},[138,427,428],{},"清理工作树之前","在项目根目录下运行，用来收尾。比如：",[312,431,433],{"className":314,"code":432,"language":316,"meta":317,"style":317},"docker compose down --remove-orphans\nrm -rf .cache\u002Ftmp\n",[227,434,435,449],{"__ignoreMap":317},[321,436,437,440,443,446],{"class":323,"line":324},[321,438,439],{"class":345},"docker",[321,441,442],{"class":349}," compose",[321,444,445],{"class":349}," down",[321,447,448],{"class":349}," --remove-orphans\n",[321,450,451,454,457],{"class":323,"line":342},[321,452,453],{"class":345},"rm",[321,455,456],{"class":349}," -rf",[321,458,459],{"class":349}," .cache\u002Ftmp\n",[215,461,462],{},[134,463,464,465,468],{},"设置脚本与清理脚本可以运行",[138,466,467],{},"任意命令","，且会在顶部栏中显示执行状态。只放你自己写的、看得懂的命令。",[157,470,471],{"id":471},"什么时候用工作树",[473,474,475,482,488],"ul",{},[476,477,478,481],"li",{},[138,479,480],{},"并行试几套方案"," —— 同一个需求让两个任务用不同思路做，最后挑一个。",[476,483,484,487],{},[138,485,486],{},"不想污染当前检出"," —— 你手头还有没提交的活儿，又想让助手去干别的。",[476,489,490,493],{},[138,491,492],{},"跑破坏性的改动"," —— 大规模重构、依赖升级，出问题直接扔掉整个工作树。",[134,495,496],{},"反过来，改一两个文件的小活儿直接「在本地处理」就行，没必要为它开一份检出。",[498,499,500],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":317,"searchDepth":324,"depth":342,"links":502},[503,504,505,506,511],{"id":159,"depth":342,"text":159},{"id":222,"depth":342,"text":222},{"id":241,"depth":342,"text":242},{"id":285,"depth":342,"text":286,"children":507},[508,509,510],{"id":304,"depth":359,"text":304},{"id":381,"depth":359,"text":381},{"id":423,"depth":359,"text":423},{"id":471,"depth":342,"text":471},"用 Git 工作树隔离并行任务，用环境脚本自动准备依赖。","md",null,{},{"icon":72},{"title":69,"description":512},"3L1ZLtydd7d6KGVkj9HRe2owelW41-fzdwo8sgAUfvk",[520,522],{"title":64,"path":65,"stem":66,"description":521,"icon":67,"children":-1},"设定一个目标，让助手自动多轮推进并独立校验是否达成，中途可暂停、替换或清除。",{"title":74,"path":75,"stem":76,"description":523,"icon":77,"children":-1},"把 Kimi Code、AtomCode、Codex、Claude Code 或 InsCode 的历史会话接过来，生成接手摘要后继续干。",1786009888713]