首页
学习
活动
专区
圈层
工具
发布

万字codex使用安装教程全攻略:看这一篇就够了

{"type":"doc","content":[{"type":"heading","attrs":{"id":"2788c37a-61a8-4068-a885-788a281ab2f8","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第一章:Codex 到底是什么?"}]},{"type":"heading","attrs":{"id":"a813ac12-d53d-4261-b9ff-b77868fbb823","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"1.1 官方定义 vs 实际体验"}]},{"type":"paragraph","attrs":{"id":"48a0639b-65fb-4a82-8c99-15f518ae579a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"官方说法"},{"type":"text","text":":"}]},{"type":"blockquote","attrs":{"id":"f9d07b3a-9b6f-45ad-a6b7-3497cecaba5e","textAlign":"inherit","isHoverDragHandle":false},"content":[{"type":"paragraph","attrs":{"id":"479e706e-bdc6-48ac-a0ea-22b69f95d2a2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"italic"}],"text":"Codex 是 OpenAI 开发的编程助手,用于软件开发。它可以帮助你编写代码、理解陌生代码库、审查代码、调试问题以及自动化开发任务。"}]}]},{"type":"paragraph","attrs":{"id":"1ee770cc-7ef3-4e9e-a2d3-90b389c8a455","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"实际体验"},{"type":"text","text":": Codex = 一个愿意花 10+ 分钟思考一次性给你写出生产级代码的狠角色"}]},{"type":"heading","attrs":{"id":"fe134b1e-b6be-40a3-ad45-c4c2b1b82193","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"1.2 Codex vs 其他 Coding Agent"}]},{"type":"paragraph","attrs":{"id":"7493ba97-e159-4e4b-9e17-259a83fab993","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"3a859732-0f71-4c28-bd1a-b3abce653e33","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"dee25dd3-b2ae-48ca-96ae-8764800a8ce3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"维度"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"fde47ec7-a6ed-495c-b775-d704a3f1cac2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"3e8aa08b-11fb-4388-8a92-94fdbfbba477","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"其他 Agent"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"47524b86-66d9-435b-819e-96c1dca4c26a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"推理时间"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"87a1ff7f-acfe-4ec1-bf0b-1acb1c33952c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"10 分钟起步"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"d4610e38-6cdb-4e47-8f9e-3b7989fb75cc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"几秒到几分钟"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"ec8d28d9-9b4f-4a90-8780-e220b784b4e4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"输出质量"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"10b83d06-f7bf-4373-8ac6-7a7da2ce6456","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"一击必杀"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"788bf631-dbfa-4ebf-a760-810afc33a0d1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"需要多次迭代"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"68d1dc64-c2bb-4242-af9d-1cc2c8c98bf4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"屎山风险"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"311e9de5-f092-4812-85db-12f73bbe5034","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"极低"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"967748c3-f3e6-4c06-ba05-e69f250d519e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"中-高"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"48d00e72-b81c-414a-9dc7-5e0683d0115f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"适合场景"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b6fd2f85-b53a-4f01-8921-3b57da52b374","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"复杂任务、生产代码"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b58fd9bf-c44f-41fb-b925-641911203e93","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"快速原型、简单任务"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"4fcd3915-8b57-4965-98d8-c185cffeeb06","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"模型集成"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"d0e3f6d4-488a-477b-b1bf-1d95218270a0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Native 集成"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"6246a800-373b-4651-897e-e66e5cfdab64","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"插件式调用"}]}]}]}]},{"type":"paragraph","attrs":{"id":"e01f7e77-edc6-415e-b678-4c5597d7e42a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"a558a203-77be-48e5-a837-fc7cfccf1ab3","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"1.3 为什么 Codex 能一击必杀?"}]},{"type":"paragraph","attrs":{"id":"feb47ffb-5200-46c6-9b30-62f033bf434f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"核心原因:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"模型和框架一同训练"}]},{"type":"bulletList","attrs":{"id":"aac338b5-4da8-4dde-b888-38228b875bd7","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"9262327a-c4e8-47fa-a18c-fe4837bf4e99"},"content":[{"type":"paragraph","attrs":{"id":"4de8542a-4bce-4006-9747-8b980875e4af","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• Codex 模型不是\"通用模型 + 代码微调\""}]}]},{"type":"listItem","attrs":{"id":"761a87bd-75be-423e-9b55-cb0972f187ea"},"content":[{"type":"paragraph","attrs":{"id":"c500dd32-b4a3-4a30-9a96-d5718ab775c4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 它是和 Codex 框架一起训练出来的"}]}]},{"type":"listItem","attrs":{"id":"e309ca30-86b0-45f9-b920-905a145e9e40"},"content":[{"type":"paragraph","attrs":{"id":"b21cd6b0-4531-4ce8-b7b0-6b66497046d5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 这意味着:模型理解框架的内部机制,框架理解模型的输出模式"}]}]},{"type":"listItem","attrs":{"id":"7e13695d-5769-4cd7-8393-903c8ff29249"},"content":[{"type":"paragraph","attrs":{"id":"73d4c938-79c1-4bf2-9a79-c333da6dc341","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 结果:更少的误解、更准确的输出、更少的迭代"}]}]}]},{"type":"paragraph","attrs":{"id":"350b1083-ba21-4434-b432-d319b5f1dc21","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"更深层理解:Codex 的三层架构"}]},{"type":"paragraph","attrs":{"id":"e8740ff1-67b6-4b25-b2f6-10aba5900d44","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"开发者 Gabriel Chua 提出了一个精辟的视角,将 Codex 理解为三个层次的有机结合:"}]},{"type":"orderedList","attrs":{"id":"d094f999-fa19-41db-92cc-29133f9a5150","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"fb7eaa2a-2212-4512-867c-e20176f1eecc"},"content":[{"type":"paragraph","attrs":{"id":"40020469-3fda-4762-a86d-d012a59519a8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"模型层(Model)"},{"type":"text","text":" —— 提供核心智能"}]}]}]},{"type":"bulletList","attrs":{"id":"ffe1eea1-2178-4d5c-94f1-5f8d6b5f7dff","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"64b7cab5-91de-4115-a32c-f9aaf37dfc72"},"content":[{"type":"paragraph","attrs":{"id":"1bc6ebfc-dcd4-4971-adbb-b2834fdc7175","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• OpenAI 的旗舰编程模型(如 gpt-5.3-codex)"}]}]},{"type":"listItem","attrs":{"id":"c8e6d4c7-86e2-417d-b3be-3174107126ea"},"content":[{"type":"paragraph","attrs":{"id":"17332985-f0d6-4979-94b5-7f75282599c8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 在响应前执行结构化推理"}]}]},{"type":"listItem","attrs":{"id":"44ba145d-0832-4676-a440-101b7c79b325"},"content":[{"type":"paragraph","attrs":{"id":"af97b91e-a30e-4747-ad6c-5e1cf22da15b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 理解代码逻辑、架构设计和最佳实践"}]}]},{"type":"listItem","attrs":{"id":"45546a39-ca3b-43f1-b086-24e4bd4604a8"},"content":[{"type":"paragraph","attrs":{"id":"de4525af-4a82-4043-b824-4a5684102a91","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"框架层(Harness)"},{"type":"text","text":" —— 连接真实环境"}]}]},{"type":"listItem","attrs":{"id":"a84fdb3a-edf9-4ec4-a9f5-fac01cda15d0"},"content":[{"type":"paragraph","attrs":{"id":"e4bb3274-1fee-4705-ba4a-0167e08bfd57","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 开源的执行框架,实现\"执行\"而非仅仅是\"建议\""}]}]},{"type":"listItem","attrs":{"id":"3e9a240f-14f4-41ab-a318-0ff7f7bb1cba"},"content":[{"type":"paragraph","attrs":{"id":"8e8ba2ba-7df6-406f-a754-cd1e7882e538","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 使用 \"compaction\" 等技术管理上下文窗口"}]}]},{"type":"listItem","attrs":{"id":"e3d36295-7853-45ff-9511-3747710b2125"},"content":[{"type":"paragraph","attrs":{"id":"1d3071de-2259-4198-9ac7-586bd4a5f8bd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 让模型能够真正操作文件、运行命令、测试代码"}]}]},{"type":"listItem","attrs":{"id":"15ae41a6-3ab3-446f-8417-dcd88a03039d"},"content":[{"type":"paragraph","attrs":{"id":"d5f6f781-7afc-44f6-bffe-d4a7696d913c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"界面层(Surfaces)"},{"type":"text","text":" —— 多样化交互方式"}]}]},{"type":"listItem","attrs":{"id":"fe9b5d28-6811-4978-b569-e2603eaa2a9e"},"content":[{"type":"paragraph","attrs":{"id":"4146cae6-0759-4caa-9f3c-c9ce4b1518b5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Codex App"},{"type":"text","text":":支持并行工作流的桌面应用"}]}]},{"type":"listItem","attrs":{"id":"386e73c8-d9bb-477a-b042-54367dc5cd29"},"content":[{"type":"paragraph","attrs":{"id":"fab2baa8-e01c-4fa0-ae71-96a728767aed","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"CLI"},{"type":"text","text":":终端和 CI/CD 集成"}]}]},{"type":"listItem","attrs":{"id":"3d702e2f-9dd4-48ec-9372-636e0ecf863d"},"content":[{"type":"paragraph","attrs":{"id":"0336f9ae-4b65-4cef-bc5a-6d6ecc585977","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"VS Code 扩展"},{"type":"text","text":":在编辑器内迭代"}]}]},{"type":"listItem","attrs":{"id":"2664ad69-e82f-4c51-8bcb-c22561a17bb2"},"content":[{"type":"paragraph","attrs":{"id":"b6be5891-dbe0-4ea2-8dec-67ac17865327","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Mini"},{"type":"text","text":":轻量级远程任务执行"}]}]}]},{"type":"paragraph","attrs":{"id":"466cbbbc-4a84-4876-b1e0-55fd0b582eae","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Chua 的关键洞察:\""},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"模型和框架不是后来拼凑的,而是一起设计的"},{"type":"text","text":"\"(\"The model and the harness aren't separate pieces assembled later — they're co-designed.\")"}]},{"type":"paragraph","attrs":{"id":"94d8dda0-ebf6-41b8-a3be-5ba4f4162b94","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这正是 Native Coding 的本质——不是把模型塞进现成的工具,而是从底层就开始协同设计。"}]},{"type":"heading","attrs":{"id":"736087eb-29a4-41df-a42f-999903bfaaa0","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"1.4 Codex 的能力边界"}]},{"type":"paragraph","attrs":{"id":"e14c7576-c000-4179-ac41-67ce39be1cb4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"能做什么"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"11fd7f34-af84-4f43-90ec-58606d2e931a","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"23dc2300-1430-4c5c-bbe0-6c2815ec71f5"},"content":[{"type":"paragraph","attrs":{"id":"30d0727c-99ad-4f09-bd4f-720a70821ca4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• ✅ 编写生产级代码"}]}]},{"type":"listItem","attrs":{"id":"2ad840be-71c7-4fbc-8838-402895784eca"},"content":[{"type":"paragraph","attrs":{"id":"9c504aa2-0961-43f0-8005-ec15f6360260","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• ✅ 理解复杂代码库"}]}]},{"type":"listItem","attrs":{"id":"83539c8b-5938-4fed-afd6-1b85dbf51f61"},"content":[{"type":"paragraph","attrs":{"id":"40e72444-f191-4adf-847d-2aed96d90641","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• ✅ 代码审查和优化"}]}]},{"type":"listItem","attrs":{"id":"b68cc1a3-ae1a-460b-b89c-20f94df0958c"},"content":[{"type":"paragraph","attrs":{"id":"9de42efb-e0b1-4f89-bc45-7187eca2544b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• ✅ 调试和修复问题"}]}]},{"type":"listItem","attrs":{"id":"27125d3d-1dfd-4b6d-a456-47e414fbc6a5"},"content":[{"type":"paragraph","attrs":{"id":"f048a21f-ad21-4206-b15c-fa714d0ddd34","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• ✅ 自动化开发任务"}]}]},{"type":"listItem","attrs":{"id":"ae44f1d7-a650-48fd-ae7a-e1b063ba8aae"},"content":[{"type":"paragraph","attrs":{"id":"066b6775-a18d-4691-a487-b808a97f6392","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• ✅ 多步骤项目规划"}]}]}]},{"type":"paragraph","attrs":{"id":"a81c7936-c2f1-4f84-a127-256d4a9bd490","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"重要提醒"},{"type":"text","text":":"}]},{"type":"blockquote","attrs":{"id":"8767ff89-8cf0-4913-8cbc-b729986e51d1","textAlign":"inherit","isHoverDragHandle":false},"content":[{"type":"paragraph","attrs":{"id":"b4a75e54-d2f7-4ac4-96d5-b70e3c9e6120","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"italic"}],"text":"Codex 写的代码,你仍然需要 review。它不是魔法,是工具。"}]}]},{"type":"horizontalRule","attrs":{"id":"ff735ccd-de91-41aa-a193-030cff93a141","isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"ba2ea920-2979-4b66-be47-57fc5ea0ae16","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第二章:Codex 的四种形态——完整配置指南"}]},{"type":"paragraph","attrs":{"id":"f5a29ea3-276f-4d73-aa07-1b1935b91abc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这是本文"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"最重要的章节"},{"type":"text","text":"。Codex 的强大之处在于它提供了四种不同的使用形态(官方称为 \"Surfaces\"),每种形态都有其独特的优势和适用场景。理解这四种形态的区别和配置方法,是掌握 Codex 的关键。"}]},{"type":"heading","attrs":{"id":"5ba2d843-4cf6-4f1c-b4fd-fb33197704a5","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.1 形态概览"}]},{"type":"paragraph","attrs":{"id":"16a4b7b8-bec5-4467-aa3c-d3d6897b9174","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"d4cba404-98bf-473e-a14c-65ec67c1f3ee","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"b85d0290-e0b4-4b76-9db3-e65d78e53160","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"形态"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"18fe11ad-a103-4f2e-a0d4-047eee31946e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"适用场景"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"e8fdc7fc-fd1d-4fdf-b568-1899b355eaea","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"核心优势"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"15363edb-ccee-4da3-8ea7-7e1d4cfb422a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"平台支持"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3946aec8-5822-4b4f-a1c2-3e6132f13014","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex App"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"38969752-97d3-4430-8680-d44f347f9348","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"主力开发、并行任务、Git 工作流"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"5961d114-a423-4122-8b3e-d41092557057","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"并行多任务、Worktree、自动化"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"e83cc658-0c43-4f30-95e5-2126dbfa39f9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"macOS (Apple Silicon)"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"6c1c3812-dd95-4e10-998d-92a04b0f25fa","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"CLI"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"69952f02-cec8-4fc1-9498-6474f72017f5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"终端操作、CI/CD 集成、脚本化"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"a0aa48df-a981-48fa-a2fd-04371009becc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"功能最完整、开源、可编程"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"9e13117e-cf91-4ee0-b7e6-de49c8e2ca4d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"macOS/Linux/Windows"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"2465a092-9942-4c15-b45e-47517b2740fc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"IDE 扩展"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"dff7e797-ef18-4ecd-a32c-9e96863a856b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"代码编辑、实时迭代、无缝集成"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"2c67b8a9-eb13-44c5-96dc-ed1551faa78a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"编辑器内直接交互、上下文感知"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"79551565-6f6e-4443-a57e-87195e18550f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"VS Code/Cursor/Windsurf/JetBrains"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"96a1e25a-c693-433f-a77f-a8fb7eaee9a7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cloud"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"99e13203-d56a-4ba8-9511-6455f8d3ffde","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"后台任务、并行计算、GitHub 集成"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"15dfa83b-8109-4f49-9a58-eae94baecdad","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"云端执行、不占用本地资源、自动 PR"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"fc11e232-826e-4982-9efe-e254ef18a925","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Web"}]}]}]}]},{"type":"paragraph","attrs":{"id":"f422f8eb-d2e2-447e-a415-29bf25016c79","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"0d6a3589-2b2b-4135-83f5-5dcd042aef92","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2 Codex App(桌面应用)—— 最推荐的形态"}]},{"type":"image","attrs":{"id":"562550be-ac54-4966-a8c7-312ff2b5f113","src":"https://developer.qcloudimg.com/http-save/audit-11225765/4615be0a473c53b258298f1caeec3903.png","extension":"","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":1080,"aspectRatio":0,"status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"0a10523e-ac1c-481f-9c7e-728f87fd38a4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2OjN1i"}]},{"type":"paragraph","attrs":{"id":"fa98017c-7803-41fc-93b4-d469d985f0e6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"15a9e55b-aa3e-4832-8603-9e709943049d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex App 是\"专注于并行处理 Codex 任务的桌面体验,内置 worktree 支持、自动化和 Git 功能\"。如果你是 macOS 用户,这是"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"最推荐"},{"type":"text","text":"的使用方式。"}]},{"type":"heading","attrs":{"id":"e036bbc1-a173-465b-8f86-30e01902d799","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2.1 安装与初始化"}]},{"type":"codeBlock","attrs":{"id":"de86dd88-5203-4178-97f2-ac8f61667b47","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"1. 下载:https://persistent.oaistatic.com/codex-app-prod/Codex.dmg\n2. 用 ChatGPT 账号或 OpenAI API Key 登录\n3. 选择项目文件夹\n4. 选择模式(Local/Worktree/Cloud),发送第一条消息"}]},{"type":"heading","attrs":{"id":"0888b4af-4b99-474e-a401-df0190e427c3","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2.2 三种工作模式"}]},{"type":"paragraph","attrs":{"id":"841f2846-ffee-4add-85b1-0f107a62308e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Local 模式"}]},{"type":"bulletList","attrs":{"id":"a5f2b970-1f50-492d-9f29-21c51c70a107","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"edce46f7-2b30-46ea-91b3-76144f5e3404"},"content":[{"type":"paragraph","attrs":{"id":"573e3e0c-8e0d-40ff-a1cd-da4463ee7e86","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 直接在项目目录工作"}]}]},{"type":"listItem","attrs":{"id":"824caf27-6523-4152-82b4-a5dd4dbdd552"},"content":[{"type":"paragraph","attrs":{"id":"8242385e-42b0-4aac-a707-96992d81c936","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 适合快速原型、小改动"}]}]},{"type":"listItem","attrs":{"id":"6204c31e-db09-4eb6-951c-d8f06dfb32bb"},"content":[{"type":"paragraph","attrs":{"id":"2c7d0091-7c40-4155-8580-c34264e9cb1a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 修改立即反映在本地文件系统"}]}]}]},{"type":"paragraph","attrs":{"id":"329678c3-00d3-4f02-ac29-063c8fa8610e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Worktree 模式"},{"type":"text","text":"(推荐)"}]},{"type":"bulletList","attrs":{"id":"c48352c2-b978-4e91-9333-5a3190d791e2","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"376aa95c-b135-4811-b1dd-ecb827ebe7d8"},"content":[{"type":"paragraph","attrs":{"id":"b67e57d6-4846-486e-9e99-6d2bbebeccf7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 为每个任务创建独立的 Git worktree"}]}]},{"type":"listItem","attrs":{"id":"709a8da3-d3b8-49e5-8277-2d9f78a78ad7"},"content":[{"type":"paragraph","attrs":{"id":"3c8167ea-a1bf-43d3-8cde-89c0b4579e33","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 更改完全隔离,不影响主分支"}]}]},{"type":"listItem","attrs":{"id":"e2b92b5d-9b73-41aa-939e-e0b448417b25"},"content":[{"type":"paragraph","attrs":{"id":"36c3d237-4d49-4fb1-bb31-d91a86cabcad","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 支持并行开发多个功能"}]}]},{"type":"listItem","attrs":{"id":"9aa45121-cc26-4e8e-87b5-9dfba793925a"},"content":[{"type":"paragraph","attrs":{"id":"d0ec20d3-c36a-4157-a6de-af7121750a29","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 自动清理(4天或超过10个worktree时)"}]}]}]},{"type":"paragraph","attrs":{"id":"a525f2fd-dcb3-4aa0-9ba8-16bf79427635","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Cloud 模式"}]},{"type":"bulletList","attrs":{"id":"57674ee5-06f8-41ba-bc03-a2e7cfea05d3","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"8918013f-a3f9-4a0a-aaf2-db992afa0e6f"},"content":[{"type":"paragraph","attrs":{"id":"55ace598-6fa9-40d8-9490-ead69465913d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 任务在云端执行"}]}]},{"type":"listItem","attrs":{"id":"2b3e81e5-3ff7-426d-8dad-3bcd93b5cdc4"},"content":[{"type":"paragraph","attrs":{"id":"975be643-c8b3-4a74-8210-36b5f824cdad","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 本地电脑可以关机"}]}]},{"type":"listItem","attrs":{"id":"99ffc689-b1e5-400e-8a1f-4df7a9c68ad2"},"content":[{"type":"paragraph","attrs":{"id":"9cf2cefe-6492-495a-88b4-98680059de87","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 完成后应用 diff 到本地"}]}]}]},{"type":"heading","attrs":{"id":"73a4e5a4-691e-486a-8ea7-d244661689d1","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2.3 核心功能详解"}]},{"type":"paragraph","attrs":{"id":"aec90b62-ed5a-4a5b-8d3b-bec739274faa","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"并行多任务"}]},{"type":"paragraph","attrs":{"id":"7c9b49ad-d735-44b4-acbc-9c1989bb87fa","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"一个窗口可同时运行多个任务,自由切换。如果你在一个仓库中有多个应用或包,建议将不同的项目拆分为独立的 App 项目。"}]},{"type":"paragraph","attrs":{"id":"acface20-3cba-4b01-82d5-d06811da2e51","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"操作方式:"}]},{"type":"bulletList","attrs":{"id":"7a3b12c7-b68d-4db9-8479-4750ec62e013","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"9c2936c2-5adc-42ac-a8e6-c23bb104cd3c"},"content":[{"type":"paragraph","attrs":{"id":"ff23e9a7-74e9-4793-9238-d8d80b80d14c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 点击侧边栏 \"+\" 添加新项目"}]}]},{"type":"listItem","attrs":{"id":"c46f285a-50f2-4baa-a011-60e7d66ff026"},"content":[{"type":"paragraph","attrs":{"id":"e28f58da-5b3c-4908-b077-3d62d1b68940","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 使用 Cmd+数字 快速切换"}]}]},{"type":"listItem","attrs":{"id":"5358818b-3724-4c92-b171-674180fa9b43"},"content":[{"type":"paragraph","attrs":{"id":"e864a7c5-fac3-471f-b889-4b80d69171e6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 任务在后台继续运行"}]}]}]},{"type":"paragraph","attrs":{"id":"d6e485c1-fc15-4c62-9840-120372d638c1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"内置 Git 工具"}]},{"type":"paragraph","attrs":{"id":"e325383c-4e8f-4dee-b55e-39c59b869191","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"无需离开 App 即可完成 Git 操作:"}]},{"type":"bulletList","attrs":{"id":"bd0a54ce-d123-4f99-aecb-458900272699","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"96be40f9-c8ed-4119-aaeb-f2e1ee77e7d5"},"content":[{"type":"paragraph","attrs":{"id":"644f49dd-08bf-460d-9792-fa1542dd3123","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 查看 diff:点击文件查看更改"}]}]},{"type":"listItem","attrs":{"id":"fc2a7b4e-2b3e-45f6-9f84-27f495b63fd1"},"content":[{"type":"paragraph","attrs":{"id":"18396bbe-3999-4d36-8201-487500743184","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 行内评论:在特定行添加评论"}]}]},{"type":"listItem","attrs":{"id":"b8e6a9b8-9dc1-4f0e-89ed-ae15e733feeb"},"content":[{"type":"paragraph","attrs":{"id":"2b54b06d-780f-41d6-a82b-692f9b19e7a0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 分块 stage:选择性提交部分更改"}]}]},{"type":"listItem","attrs":{"id":"68961397-273f-4a10-8030-618d850d3cd6"},"content":[{"type":"paragraph","attrs":{"id":"d6633fd2-c9d6-4047-8855-476dd39d6674","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 创建 PR:直接推送到 GitHub 并创建 Pull Request"}]}]}]},{"type":"paragraph","attrs":{"id":"fcc345db-22ec-4878-8272-94ef58a0f1b4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"集成终端"}]},{"type":"paragraph","attrs":{"id":"ad90047a-ff9b-4f4b-90cf-97e9600a2367","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"每个线程有独立终端(Cmd+J 切换):"}]},{"type":"codeBlock","attrs":{"id":"908e3ff4-0f66-4ad6-9ac7-1571b49c7ef0","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 常用命令\ngit status\ngit pull --rebase\nnpm test\npnpm dev"}]},{"type":"paragraph","attrs":{"id":"71f15b96-4ef8-41f3-9014-c2f46aa8f9da","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"语音输入"}]},{"type":"paragraph","attrs":{"id":"115979f4-8457-43e7-894e-eb890524de07","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"按住 Ctrl+M 口述需求,自动转为文字。"}]},{"type":"paragraph","attrs":{"id":"fff5d36d-e9be-45f2-825b-6bbc22e44b6c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"悬浮窗口"}]},{"type":"paragraph","attrs":{"id":"4a92c21a-2a7c-4d01-afb2-855f06380e49","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"可将线程弹出为独立窗口,支持\"置顶\"显示。"}]},{"type":"paragraph","attrs":{"id":"a45634d9-1b08-4660-987a-6b38e1123223","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"IDE 同步"}]},{"type":"paragraph","attrs":{"id":"0269c517-bcf1-49c5-a65a-192b490f33cd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"当 Codex App 和 VS Code 扩展同时打开同一项目时:"}]},{"type":"bulletList","attrs":{"id":"94e40c16-77a9-4d50-b7f7-c47906d4a4c8","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"73ddc03a-2635-42b6-bf71-8ea824858549"},"content":[{"type":"paragraph","attrs":{"id":"a2af0b71-2976-4c90-ae5b-c32bf76bf12d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 自动同步 Auto Context(自动跟踪查看的文件)"}]}]},{"type":"listItem","attrs":{"id":"3bcb21d8-de4d-48de-b18e-a12eb61106c7"},"content":[{"type":"paragraph","attrs":{"id":"f091d105-abdc-450b-a544-aec6c3405f29","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 线程状态双向可见"}]}]},{"type":"listItem","attrs":{"id":"3d036c44-cd0c-4911-9e94-0e277dc3415f"},"content":[{"type":"paragraph","attrs":{"id":"031c74d3-9d2b-4782-a523-9b85cd67e138","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 文件更改实时反映"}]}]}]},{"type":"heading","attrs":{"id":"27a70383-ddaa-41bd-982c-cc87ca19ddfb","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2.4 Git Worktrees 详解"}]},{"type":"paragraph","attrs":{"id":"2edca4a4-79a5-4f87-bb8f-49fb6828d44e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Worktrees 是 Codex App 最强大的功能之一,让你可以在同一仓库的多个分支上并行工作。"}]},{"type":"paragraph","attrs":{"id":"9e35c149-53bc-4b97-9572-fb79ea575ebf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"创建 Worktree"},{"type":"text","text":":"}]},{"type":"orderedList","attrs":{"id":"ef924425-31ce-4ff6-bd0f-ff766d43b3ee","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"4f9d77ef-be2c-4779-8519-771bcbe8641e"},"content":[{"type":"paragraph","attrs":{"id":"79e0596f-5128-4916-abda-1818842b17e1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 新建线程时选择 \"Worktree\" 模式"}]}]},{"type":"listItem","attrs":{"id":"edaa5994-7958-40f5-a134-3df77ce3240c"},"content":[{"type":"paragraph","attrs":{"id":"ed0a6ecf-7eed-475c-b014-d02f8ca750ca","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. 选择基础分支(main、feature 或当前未提交的更改)"}]}]},{"type":"listItem","attrs":{"id":"85cda821-fb74-47e6-b51c-97598ee7829d"},"content":[{"type":"paragraph","attrs":{"id":"7f757f42-cbb4-48ce-8200-67a9a006c339","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. 发送 prompt,Codex 在 detached HEAD 状态的 worktree 中工作"}]}]}]},{"type":"paragraph","attrs":{"id":"b6443a24-fbc0-4c24-af99-b94ed8ecc926","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"两种工作流"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"id":"c8109bbe-6155-4ffe-a710-048f8362393d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"italic"}],"text":"方式一:只在 Worktree 工作"}]},{"type":"bulletList","attrs":{"id":"f6513c3b-cd1d-4187-974b-feb0180dc041","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"e7f2c9dc-bc4f-4ca9-9cb9-2f8c6bbf5d34"},"content":[{"type":"paragraph","attrs":{"id":"18827e67-011e-4b09-8d41-6aac4e1e029c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 使用 \"Create branch here\" 转换为分支"}]}]},{"type":"listItem","attrs":{"id":"466806f5-2032-42db-89b2-acd66878362a"},"content":[{"type":"paragraph","attrs":{"id":"4fc5fc0d-bec3-4ee1-9925-a2d7b13641d1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 提交、推送、创建 PR"}]}]},{"type":"listItem","attrs":{"id":"2abd14f8-4fe2-4634-bf31-aa442c32b8db"},"content":[{"type":"paragraph","attrs":{"id":"4207f608-6340-4516-b32d-6b9b3ca62bff","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 添加到侧边栏永久访问"}]}]}]},{"type":"paragraph","attrs":{"id":"9161552c-e10f-4abd-bfa1-f30778c2464d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"italic"}],"text":"方式二:与本地同步"}]},{"type":"bulletList","attrs":{"id":"0786d6ae-ffeb-4e55-b153-7029fa063b45","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"18a90140-d58f-479e-8b39-05ef6686692c"},"content":[{"type":"paragraph","attrs":{"id":"57278c73-cc49-4f7d-a63b-a1d599e92e58","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 使用 \"Sync with local\""}]}]},{"type":"listItem","attrs":{"id":"991ab3b4-2ea1-49ac-a4ba-b6c466f14d36"},"content":[{"type":"paragraph","attrs":{"id":"0db09ae9-d5bc-45ea-ae47-92dfae98d0b3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Overwrite"},{"type":"text","text":":完全匹配源到目标"}]}]},{"type":"listItem","attrs":{"id":"a8583584-d1b1-444b-a1ff-4d60c8cfb2e8"},"content":[{"type":"paragraph","attrs":{"id":"65242d08-4117-4648-8ea3-0106bb502353","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Apply"},{"type":"text","text":":补丁方式,保留目标历史"}]}]}]},{"type":"paragraph","attrs":{"id":"d0552f44-2a4b-45ed-9dce-7ee0e067c1bc","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"高级技巧"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"6a5c9463-0b84-4dc6-9f51-a76f691a2edb","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"6125f9a6-16ee-4885-9cd7-c199d7fa4b69"},"content":[{"type":"paragraph","attrs":{"id":"7d3621e9-09eb-4b53-9fd5-3eb9f260f5ef","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 可在同一 feature 分支创建多个 worktree,将工作拆分为并行线程"}]}]},{"type":"listItem","attrs":{"id":"9b01a184-3773-41e1-a49f-7d42cb99010a"},"content":[{"type":"paragraph","attrs":{"id":"8d7c6c2b-60de-4948-b259-a243e4d04312","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 使用 Local Environments 管理 worktree 依赖"}]}]}]},{"type":"heading","attrs":{"id":"5fb03d26-3c33-4e22-988f-1b26b0ead90c","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2.5 Automations(自动化)"}]},{"type":"paragraph","attrs":{"id":"4e929d46-dbae-4680-979b-d1811d2f6f7a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"将 Skills 与自动化结合,实现\"无人值守\"的后台任务。"}]},{"type":"paragraph","attrs":{"id":"bd2cd244-e7d1-4b6f-8b7e-8a6f9a89ff22","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"工作原理"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"9021fa2d-8e6e-4388-b17c-ad9fbe1c03eb","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"ed3e6d74-4346-45f3-8345-308c6299cfa7"},"content":[{"type":"paragraph","attrs":{"id":"cdb8dff7-8d9e-4211-9618-9886a2b81414","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 自动化在 Codex App 本地运行(App 需要保持运行)"}]}]},{"type":"listItem","attrs":{"id":"d627bb1b-b344-4dcc-af10-d3118e8354b1"},"content":[{"type":"paragraph","attrs":{"id":"62b5705a-e182-49da-8ff7-971b0d4ffe96","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• Git 仓库:每个自动化运行在新 worktree 中,不干扰主分支"}]}]},{"type":"listItem","attrs":{"id":"74a58786-0501-43ed-8324-dac7703df6e1"},"content":[{"type":"paragraph","attrs":{"id":"47784e1a-2912-49d9-8c10-2b29f4507738","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 非 Git 项目:直接在项目目录运行"}]}]}]},{"type":"paragraph","attrs":{"id":"9f3ee0ce-90a9-4f1f-8385-87dd90a31416","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"创建自动化"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"bcedcba8-bd6f-48aa-b1b5-d04113410cbc","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"b462f03c-1f1f-4326-8ce2-153d30c72f44"},"content":[{"type":"paragraph","attrs":{"id":"093b10ef-7dd8-4e89-8b3e-6957b4a8a327","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• Schedule:设置运行时间(定时任务)"}]}]},{"type":"listItem","attrs":{"id":"913d6bc0-17ef-4230-afdd-cb0d27c38c54"},"content":[{"type":"paragraph","attrs":{"id":"ca9de3bb-7b3e-4ddc-908d-6e1c2e5f112b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• Prompt:定义 Codex 要执行的操作"}]}]}]},{"type":"paragraph","attrs":{"id":"9594bc9d-4293-4fc3-a3b7-99594c702a65","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"典型用例"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"d9756860-aafb-4b69-818e-a5cd0e0fb2e9","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"1. 代码审查自动化:每次提交后自动运行 /review\n2. 文档更新:监控代码变更,自动更新 API 文档\n3. Bug 修复:从遥测数据中检测错误并提交修复\n4. 自我改进:扫描会话文件,基于问题更新 skills"}]},{"type":"paragraph","attrs":{"id":"69c91007-7ff7-43fc-a30b-eb10a7b57732","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"安全配置"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"7c828124-4113-4361-99bb-5569647ee74e","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"64bd7fec-c8f1-487e-aa77-1168eb896c8d"},"content":[{"type":"paragraph","attrs":{"id":"40682487-6df2-4c80-94c9-5284329b3b56","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 自动化使用 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"approval_policy = \"never\""},{"type":"text","text":"(如果允许)"}]}]},{"type":"listItem","attrs":{"id":"671649bf-84f1-4581-a60e-0a6b08e0e189"},"content":[{"type":"paragraph","attrs":{"id":"e10fb3fa-7b76-4b2b-89de-b26595ddfb36","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 沙盒模式:建议使用 read-only 或 workspace-write"}]}]},{"type":"listItem","attrs":{"id":"97de831b-0028-4e77-b57f-5e1d9213a7eb"},"content":[{"type":"paragraph","attrs":{"id":"cbbea580-8209-4b9c-b5ad-a3f8178a6423","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 管理员可通过 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"requirements.toml"},{"type":"text","text":" 限制"}]}]}]},{"type":"heading","attrs":{"id":"ef66aea1-5f5b-4798-90b9-08d37a330949","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.2.6 Local Environments(本地环境)"}]},{"type":"paragraph","attrs":{"id":"ad9bfdb8-3884-46fa-8ae5-80d94ff3e8be","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"定义项目特定的环境设置脚本和快捷操作。"}]},{"type":"paragraph","attrs":{"id":"52b38ced-9bde-4b5d-8cc1-ba42d8346491","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"配置位置"},{"type":"text","text":":项目根目录的 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":".codex/"},{"type":"text","text":" 文件夹"}]},{"type":"paragraph","attrs":{"id":"91685017-d020-47eb-aea4-4fcaa9882bdb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Setup Scripts"},{"type":"text","text":"(初始化脚本): 创建新 worktree 时自动运行。"}]},{"type":"codeBlock","attrs":{"id":"d8b10fc8-44c0-4750-bcde-674fc000ac27","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# .codex/local-env.toml\n[setup]\ncommands = [\n \"npm install\",\n \"npm run build\"\n]\n\n# 平台特定覆盖\n[setup.macos]\ncommands = [\"brew install ffmpeg\"]\n\n[setup.linux]\ncommands = [\"apt-get install ffmpeg\"]"}]},{"type":"paragraph","attrs":{"id":"28677488-4bec-4e0e-b3d0-d64e0a48bd03","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Actions"},{"type":"text","text":"(快捷操作): 在 Codex App 顶部栏显示为快捷按钮。"}]},{"type":"codeBlock","attrs":{"id":"15d38698-770d-4943-8968-2e4689713f23","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"[actions]\nrun = \"npm start\"\ntest = \"npm test\"\nlint = \"npm run lint\"\n\n# 带图标的动作\n[actions.deploy]\ncommand = \"npm run deploy\"\nicon = \"rocket\""}]},{"type":"paragraph","attrs":{"id":"861c86aa-7563-4ce5-a250-693805e23517","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"可提交的模板"},{"type":"text","text":": 将 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":".codex/local-env.toml"},{"type":"text","text":" 提交到 Git,团队成员共享相同配置。"}]},{"type":"heading","attrs":{"id":"bea28806-06a9-4071-8843-40a512145b98","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.3 CLI(命令行工具)—— 最灵活的形态"}]},{"type":"paragraph","attrs":{"id":"1a19f2d8-cbe0-4e44-8a13-d4d505aff5a3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex CLI 是开源的 Rust 程序,功能最完整,适合终端操作和自动化集成。"}]},{"type":"heading","attrs":{"id":"32b2ec6c-a321-4a82-b48c-a47711ae5f84","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.3.1 安装"}]},{"type":"codeBlock","attrs":{"id":"a10f3d0a-6243-4834-bb3e-313ee3d39e6c","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# npm 安装\nnpm install -g @openai/codex\n\n# 升级\nnpm install -g @openai/codex@latest\n\n# 登录\ncodex login\n# 或指定方式\ncodex login --with-api-key"}]},{"type":"paragraph","attrs":{"id":"33b31ecc-ed38-4cd5-a514-77184f75a50c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"平台支持"},{"type":"text","text":":macOS、Linux、Windows 全平台支持"}]},{"type":"heading","attrs":{"id":"8bc64760-532c-41bf-bd5e-a567db8790ce","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.3.2 使用模式"}]},{"type":"paragraph","attrs":{"id":"8fdf034e-879e-49d7-a9af-1723e10f6ca0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"交互模式(默认)"}]},{"type":"paragraph","attrs":{"id":"0594f80f-494a-4898-9ba5-b2f0c1f62eed","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"启动全屏终端 UI:"}]},{"type":"codeBlock","attrs":{"id":"0f8f8e2c-b9ce-4246-b064-7f6b60785f15","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"codex\n\n# 直接带 prompt\ncodex \"帮我重构这个函数\"\n\n# 完整自动模式(无需确认)\ncodex --full-auto \"修复所有 bug\""}]},{"type":"paragraph","attrs":{"id":"ab0915c8-281a-42dd-9f25-4d8d82898640","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"非交互模式(脚本化)"}]},{"type":"codeBlock","attrs":{"id":"db3b7501-0c27-4b2a-a395-34dbe82faaeb","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 执行单个命令,输出 JSON\ncodex exec --json \"分析这个文件\" > result.json\n\n# 输出最后消息到文件\ncodex exec --output-last-message result.txt \"生成报告\"\n\n# 不保存会话(一次性)\ncodex exec --ephemeral \"临时任务\""}]},{"type":"paragraph","attrs":{"id":"aea67615-8415-46de-8767-70a55055b0c6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"恢复会话"}]},{"type":"codeBlock","attrs":{"id":"677aa649-f992-4561-9bcf-5f52fc1107e9","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 列出所有会话\ncodex resume --all\n\n# 恢复最后一个\ncodex resume --last\n\n# 恢复指定会话\ncodex resume <SESSION_ID>\n\n# Fork 会话到新线程\ncodex fork --last"}]},{"type":"heading","attrs":{"id":"0ee6dbbd-2436-4823-91e3-db91d24ea3e6","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.3.3 核心功能"}]},{"type":"paragraph","attrs":{"id":"0ecf86a1-43ab-445e-a6e4-a30452878aed","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"模型切换"}]},{"type":"codeBlock","attrs":{"id":"1186b427-c7fb-4a20-8ea8-5997339854d8","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 命令行指定\ncodex --model gpt-5.3-codex \"任务\"\n\n# 交互模式内切换\n/model gpt-5-codex"}]},{"type":"paragraph","attrs":{"id":"59c1f95b-b32b-4f3f-ad79-b0dcf3070326","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"推理强度调整"}]},{"type":"codeBlock","attrs":{"id":"66427839-90cf-456a-b702-b674ca803804","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 低强度(快速)\ncodex --config model_reasoning_effort=low \"简单任务\"\n\n# 高强度(深度思考)\ncodex --config model_reasoning_effort=high \"复杂架构设计\""}]},{"type":"paragraph","attrs":{"id":"9f26ef45-d4f8-4cb7-86e0-faf670883bdb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"图片输入"}]},{"type":"codeBlock","attrs":{"id":"07495e7c-5f5a-45d3-acd0-11d364ca36ea","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 单张图片\ncodex -i screenshot.png \"把这个 UI 实现出来\"\n\n# 多张图片\ncodex --image design1.png,design2.png \"对比这两个设计\""}]},{"type":"paragraph","attrs":{"id":"1f3d1092-9243-4785-b0b9-4db4ace7ca51","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"代码审查"}]},{"type":"codeBlock","attrs":{"id":"5efc6f27-fc9c-4b96-bb87-4c2d720922cd","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 交互模式内执行\n/review\n\n# 审查特定提交\n/review against main\n\n# 审查未提交的更改\n/review uncommitted"}]},{"type":"paragraph","attrs":{"id":"6b5fc246-8daa-44eb-9486-e209df78c7d8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"网页搜索"}]},{"type":"codeBlock","attrs":{"id":"cb51f8c4-934a-424b-9ea7-d7f15248925e","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 实时搜索(需要 full access)\ncodex --search \"查找最新的 React 19 文档\"\n\n# 或通过配置\ncodex --config web_search=live \"搜索最新信息\""}]},{"type":"paragraph","attrs":{"id":"e30c40db-f04b-4769-8f58-e7c1cc58988e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"多智能体(实验性)"}]},{"type":"codeBlock","attrs":{"id":"977abfa1-4b18-4f06-aba9-8e3104ded34d","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 启用多智能体\ncodex --enable multi_agent \"并行处理这个大型项目\""}]},{"type":"paragraph","attrs":{"id":"e62bf2e2-471f-41b6-a48b-bc55bd5e6c04","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"MCP 管理"}]},{"type":"codeBlock","attrs":{"id":"b2810610-6944-4251-9dcf-29206a8de31c","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 添加 MCP 服务器\ncodex mcp add context7 -- npx -y @upstash/context7-mcp\n\n# 列出所有 MCP\ncodex mcp list\n\n# 移除 MCP\ncodex mcp remove context7"}]},{"type":"heading","attrs":{"id":"4389bf2b-008f-4c97-afa9-9f383f6f30a1","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.3.4 命令行选项完整参考"}]},{"type":"paragraph","attrs":{"id":"0b540df3-d442-4cb3-a7f7-96a5362c9d88","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"全局选项"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"id":"fe97e791-f53d-4cef-8ca5-07c485c96a41","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"6ab16d23-ce71-4c0e-9bf5-de08b446b19d","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"fbf242ae-9316-4add-87c6-2251426058c9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"选项"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"11c4387d-f5aa-4a62-bfa5-052366a6c40c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"说明"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"65e54afc-8dfa-431c-857a-08df2fffcc13","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"示例"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"84e70f0b-363c-4810-bcc2-b7aa50d0b6e8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--model, -m"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"86aae18e-d872-4f47-b9c1-ecdf656d45b7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"指定模型"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"1d0a72df-7d7f-4b0a-af1e-7bb819d0943a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--model gpt-5-codex"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3db0f142-0b6e-4a28-8b03-1e7ffe6a5dcf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--ask-for-approval, -a"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"29d6ba6d-a9ab-49bd-be8a-343de9f47eaf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"审批策略"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"8e816dfb-f3b7-4b26-a3dc-14b34f0e3cbf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"-a never"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"fe949f7c-67a1-4b76-bcb2-e37035a69372","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--sandbox, -s"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"60c605c4-f919-4918-9807-2402edab6dac","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"沙盒模式"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"2b55971c-9048-4f5e-bec4-5a23662de17a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"-s read-only"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3da6516a-f347-43c7-9b99-188cbbfd657f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--full-auto"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"4a885c21-c36f-47b2-abcb-873e4b5753ae","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"全自动模式"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"d8217fbe-0d74-4e17-9fd6-3c818e2b9e82","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--full-auto"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"972742fc-fc5d-4333-afe5-4152f4d448e2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--image, -i"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"82087fda-32bc-4102-b5bf-61719da7c709","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"附加图片"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"133a18e9-7520-4f15-8b5d-8ecd18c88e16","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"-i screenshot.png"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"4516bb80-c581-44a1-82fe-245f6b12ecb0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--search"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"7ba38832-01c9-4c47-929a-66c6f35e7a0c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"启用实时搜索"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"aa7c8665-f2f0-4e1d-b54f-7e9a9f69599c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--search"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"40e85951-fbdc-4eb9-8ae4-5fb1f150513c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--profile, -p"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"06a2ce28-26ca-4397-8f61-31b062e0e990","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"使用配置 profile"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"e073c2a4-b375-4bd4-9a5f-d32f18530da9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"-p work"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"f6acd0ee-ed29-45ea-a0f0-861fa9cae85f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--config"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"e0b3dfec-f656-4655-97c9-7ad342cb626d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"覆盖配置项"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"a382e5d7-a0da-4a66-9ad2-3eeed905fc25","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"--config web_search=live"}]}]}]}]},{"type":"paragraph","attrs":{"id":"d94151e5-ed22-46be-bdd4-d6d0da09e93d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"e569b264-062f-4460-bac6-66f3e43970e7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"子命令"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"f0e9bb5c-330b-4d67-8423-6bd54652028a","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 云任务\ncodex cloud list # 列出云任务\ncodex cloud exec --env prod \"部署\" # 在指定环境执行\ncodex apply <TASK_ID> # 应用云任务的 diff\n\n# 会话管理\ncodex resume # 恢复会话\ncodex fork # Fork 会话\n\n# 工具\ncodex completion bash # 生成 shell 补全\ncodex sandbox -- ls # 在沙盒中运行命令\n\n# 功能标志管理\ncodex features list # 列出功能标志\ncodex features enable multi_agent # 启用功能\ncodex features disable <feature> # 禁用功能\n\n# 执行策略检查\ncodex execpolicy check --rules ~/.codex/rules -- git status\n\n# 打开 Codex App\ncodex app /path/to/project # 在指定项目打开 App"}]},{"type":"heading","attrs":{"id":"0ea41a44-e244-43dc-a3ab-144a88eb5aee","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.4 IDE 扩展(VS Code/Cursor/Windsurf)—— 最集成的形态"}]},{"type":"paragraph","attrs":{"id":"f08c6d05-8f0a-4285-996b-b03811de87ca","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"IDE 扩展让你在编辑器内直接与 Codex 交互,无需切换窗口。"}]},{"type":"heading","attrs":{"id":"4b7dee9e-e8d4-47c5-809d-4fcd05f1b421","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.4.1 安装"}]},{"type":"paragraph","attrs":{"id":"5b55a58f-57ea-4aab-bf17-2883a6f25def","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"VS Code"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"09a48e4f-19bf-4b3e-88d4-35028bc84922","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"1. 打开扩展面板 (Cmd+Shift+X)\n2. 搜索 \"OpenAI Codex\"\n3. 安装并登录"}]},{"type":"paragraph","attrs":{"id":"2df626e8-6d78-4afc-8f6d-3311f499778e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Cursor/Windsurf"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"96f7a1e1-891d-40c8-a5ee-b8bfe165e19b","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"1. Cursor: vscode:extension/openai.chatgpt\n2. Windsurf: windsurf:extension/openai.chatgpt"}]},{"type":"paragraph","attrs":{"id":"4d5686d7-afe2-4f6e-a577-3871ded5df1e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"JetBrains"},{"type":"text","text":":单独的安装包,参见官方文档。"}]},{"type":"heading","attrs":{"id":"34db0f25-c1c9-442a-a043-1e7e8a8fb127","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.4.2 核心功能"}]},{"type":"paragraph","attrs":{"id":"b5832a7f-dc1a-4212-affa-25264334f093","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"编辑器上下文感知"}]},{"type":"bulletList","attrs":{"id":"f1930e0c-5b85-4a62-8bd3-e04835dd9922","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"58d5ba5f-b9bb-440a-a47c-0293e31a833f"},"content":[{"type":"paragraph","attrs":{"id":"51c77066-254a-4c48-bac0-c699b2bc8628","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 自动使用打开的文件和选中的代码作为上下文"}]}]},{"type":"listItem","attrs":{"id":"b227986c-1d4f-40a8-b35f-541a0df001c5"},"content":[{"type":"paragraph","attrs":{"id":"6baf2a37-e0b7-4cea-b811-fdab118c47bf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"@filename"},{"type":"text","text":" 语法引用特定文件"}]}]},{"type":"listItem","attrs":{"id":"6f52ce24-a8ef-4cad-9ddc-35fdf29c3529"},"content":[{"type":"paragraph","attrs":{"id":"1986e664-ee70-41a3-acd9-314338cfa40d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 右键菜单快速操作"}]}]}]},{"type":"paragraph","attrs":{"id":"98e20372-11f1-47c1-b59c-7ee6d1fab719","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"三种审批模式"}]},{"type":"paragraph","attrs":{"id":"b3941bc5-be4f-4656-b7c2-aa665543c1a6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"1394de16-51bf-48b3-9923-10ff0c7ce14d","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"76a32cc4-16c6-46aa-8c36-ed6f5d85029b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"模式"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"f91bb80d-d101-4ad9-9252-a840879f1d6b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"说明"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"4deed3fa-a840-460c-8043-6938bcacf6a5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"适用场景"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"7691c638-660a-4ed0-9f4b-ff64ac5ca97e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Chat"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b22884fe-6445-45f8-bf9d-3d995025cbd4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"只聊天,不做更改"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"f9609e48-edd2-4678-b034-7410fc3333d2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"询问、规划"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"d4dda93f-f74c-4b0d-abe1-bcbfad299f7a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Agent(默认)"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b712ff2c-3d65-44ff-b499-ac4de82fb169","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"自动读写文件、运行命令"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"4275c38e-f143-4509-903b-15348f57338a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"日常开发"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"8cddfc2b-1996-46e7-8393-994f6c754694","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Agent (Full Access)"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"60bd06ab-6ac7-4ec6-9156-e8d486cc7fde","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"包含网络访问"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"26e1a28f-2880-4d89-8101-3396a56abef4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"需要搜索时使用"}]}]}]}]},{"type":"paragraph","attrs":{"id":"56d7b459-69b9-49dd-973c-3e6bcfa35c56","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"b455d275-d8fe-485b-86b4-fa884a8150fb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Cloud 任务委托"}]},{"type":"paragraph","attrs":{"id":"32d2b00c-fe05-4084-ac86-526449cddb56","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"从 IDE 启动 Cloud 任务:"}]},{"type":"orderedList","attrs":{"id":"4b1b7def-b811-4970-ba93-b7cd7887fa0c","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"c3e5a01d-466d-4662-9607-b608724f39ea"},"content":[{"type":"paragraph","attrs":{"id":"dadbd019-649d-4375-aa32-dbc9b744d39a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 点击 \"Run in Cloud\" 按钮"}]}]},{"type":"listItem","attrs":{"id":"1f2165cf-69e4-470e-9dbe-a1477d571cee"},"content":[{"type":"paragraph","attrs":{"id":"937e1f2b-3459-4d83-890c-179584ecad80","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. 任务在后台云端执行"}]}]},{"type":"listItem","attrs":{"id":"72e2a41f-445f-4673-87ca-1da894a8a1da"},"content":[{"type":"paragraph","attrs":{"id":"ec1cbd2d-87e9-451f-96c3-bbaf2e7569b0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. IDE 内预览更改并应用 diff"}]}]},{"type":"listItem","attrs":{"id":"adfff9f9-99e8-475e-bf52-ec9d0398c721"},"content":[{"type":"paragraph","attrs":{"id":"43daa296-b9cd-4ee2-b29a-3dba4d0900f0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"4. 保留对话上下文"}]}]}]},{"type":"paragraph","attrs":{"id":"cbcba8c9-6028-4977-adc4-933a4b5cd7d1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"模型切换与推理强度"}]},{"type":"bulletList","attrs":{"id":"3a00bfdd-20f8-459c-83cd-3e387c8e0f05","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"61d54469-4394-4807-a944-48ef164f9e46"},"content":[{"type":"paragraph","attrs":{"id":"29a96768-ebde-4e20-94d1-5ad179c0414e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 聊天输入框下方切换模型"}]}]},{"type":"listItem","attrs":{"id":"ff5feb1f-7009-4671-916c-0ee181581a3c"},"content":[{"type":"paragraph","attrs":{"id":"ac2073b5-676c-43f4-8fd9-3e19dbfc0bab","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 调整推理强度:minimal/low/medium/high/xhigh"}]}]},{"type":"listItem","attrs":{"id":"220bd27f-bac3-4acb-be52-ea4ad26215ee"},"content":[{"type":"paragraph","attrs":{"id":"a7369bbf-1527-4007-8002-c694ff5cc072","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 高强度适合复杂任务,但消耗更多 token"}]}]}]},{"type":"paragraph","attrs":{"id":"c2e256f8-e9ee-4c41-8711-672f1bfbf960","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"快捷键"}]},{"type":"paragraph","attrs":{"id":"dec2d0ce-90e8-4ac6-8a0d-3fa690c5b5b7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"eda8b188-da75-4be1-8db3-3c01253cdd99","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"ce2a5f2a-ebc4-49d6-81df-551e52be00eb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"快捷键"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"c505be45-945f-454d-9c38-b69b09f9e8a3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"功能"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"ff79e3b8-4286-4db3-b666-ddb01660b390","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cmd+Shift+A"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"f9b3980d-7c14-49ae-8859-12d3cc2bbe90","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"打开 Codex 面板"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"cc91e2bd-0692-440f-aead-89ac02c5f2ff","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cmd+Enter"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"1148e296-d2d9-4505-a0d2-a0d96ffed786","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"发送消息"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b4878780-fae6-41c8-9d57-9049d8afc97f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Shift+Enter"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"81c09447-cf51-486b-b223-33c46cbdc5d9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"换行"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"0a4d3c43-f0b1-459b-b747-8f3aa4bdc36f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"@"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3ea3aa2b-ca3f-4241-81db-52a414ad24b5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"引用文件"}]}]}]}]},{"type":"paragraph","attrs":{"id":"a5d9c120-b425-48bf-b8f5-f4970202634c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"856ec678-11cf-4b91-9d80-1c257bc3cdc9","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.4.3 IDE 与 App 同步"}]},{"type":"paragraph","attrs":{"id":"b81e2558-f786-4e69-9ff6-aab2e269f047","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"当同时打开 Codex App 和 IDE 扩展:"}]},{"type":"bulletList","attrs":{"id":"958773c6-6925-48a0-b989-1633d36a6b88","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"cbc79ee6-72c0-48f4-a8c5-cf2febf7d4a2"},"content":[{"type":"paragraph","attrs":{"id":"d4fcd50c-ff80-4302-9f96-18ab1d133811","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Auto Context"},{"type":"text","text":" 同步:IDE 中查看的文件自动作为上下文"}]}]},{"type":"listItem","attrs":{"id":"b508b1db-219c-4871-9f72-9bab373c4061"},"content":[{"type":"paragraph","attrs":{"id":"df650031-016d-428a-a002-9cfc2884a4f4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"线程同步"},{"type":"text","text":":在 IDE 启动的线程在 App 中可见,反之亦然"}]}]},{"type":"listItem","attrs":{"id":"a68a9434-38df-4dac-ae18-4830cc5fa59a"},"content":[{"type":"paragraph","attrs":{"id":"b65672a2-91c3-4b23-9f12-729982a91476","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"状态同步"},{"type":"text","text":":文件更改双向实时反映"}]}]}]},{"type":"paragraph","attrs":{"id":"579a5ab4-bcdf-4383-8c96-3e70bbe68712","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"配置方法:"}]},{"type":"orderedList","attrs":{"id":"94d94e2f-8eb4-42d1-a105-94d790e03211","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"b44d1128-29e0-46c5-a61d-b39f6103bed9"},"content":[{"type":"paragraph","attrs":{"id":"d9a5bb6c-bb28-460a-9725-178730a5a374","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 在 Codex App 设置中开启 \"IDE Sync\""}]}]},{"type":"listItem","attrs":{"id":"a10a7534-cf38-4c58-bdf4-e2360e71aeb7"},"content":[{"type":"paragraph","attrs":{"id":"da17ee19-9682-49d1-bc77-7f64e9b4b399","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. IDE 扩展中登录同一账号"}]}]},{"type":"listItem","attrs":{"id":"b932002b-03f6-43c0-a833-bdf5938a7d2d"},"content":[{"type":"paragraph","attrs":{"id":"d504a4e7-cc67-4f80-9037-dcf9ad9ece38","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. 自动同步,无需额外配置"}]}]}]},{"type":"heading","attrs":{"id":"44e084de-ad9f-4102-b36b-40cc18343008","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.5 Cloud 模式—— 后台执行的形态"}]},{"type":"paragraph","attrs":{"id":"ab577b86-ef63-4ad3-a102-b79849390fc6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cloud 模式让 Codex 在 OpenAI 的云端环境中执行任务,不占用本地资源。"}]},{"type":"heading","attrs":{"id":"90f7eaeb-db05-49ec-95f7-faeb02097c27","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.5.1 使用场景"}]},{"type":"bulletList","attrs":{"id":"e580f0c4-6a09-418f-93b9-8fd9200e50b2","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"db593d21-95fa-4fa1-bc83-4bce24a1d029"},"content":[{"type":"paragraph","attrs":{"id":"1a858d9e-e692-4409-9ea1-f1bb2d1fb88f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"长时间任务"},{"type":"text","text":":几小时的代码分析、重构"}]}]},{"type":"listItem","attrs":{"id":"96a7431b-2fef-4793-9fa8-9e5447c98b75"},"content":[{"type":"paragraph","attrs":{"id":"53c0650a-3122-40d6-8e6d-97c41480c080","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"并行计算"},{"type":"text","text":":同时处理多个独立任务"}]}]},{"type":"listItem","attrs":{"id":"412edbf7-0865-4d74-b1bd-99bf2ff71a2e"},"content":[{"type":"paragraph","attrs":{"id":"610b198b-6277-473c-8972-713da6ce64da","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"后台执行"},{"type":"text","text":":关闭电脑,任务继续运行"}]}]},{"type":"listItem","attrs":{"id":"ee3052c0-60f2-415c-9abb-81dcf3b10f04"},"content":[{"type":"paragraph","attrs":{"id":"3bf78b01-ee56-4029-840a-504406b8ec1b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"GitHub 集成"},{"type":"text","text":":自动创建 Pull Request"}]}]}]},{"type":"heading","attrs":{"id":"74659c1a-c803-4461-9b19-3ce2d7740462","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.5.2 设置"}]},{"type":"orderedList","attrs":{"id":"328b7ae5-19fb-4441-adcc-ba9b14f8a99f","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"0c0ed923-f8c4-4f19-b52c-c35d1f1dcdb6"},"content":[{"type":"paragraph","attrs":{"id":"728f53ac-bac8-4444-bb4f-e1d4ba987c0b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. 访问 https://chatgpt.com/codex"}]}]},{"type":"listItem","attrs":{"id":"83adfd45-9210-4448-9889-1e8f6f4141f4"},"content":[{"type":"paragraph","attrs":{"id":"573fb6af-fd71-4580-84bc-b16ba510cdcd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. 连接 GitHub 账号"}]}]},{"type":"listItem","attrs":{"id":"5f27f6c5-0e39-46a0-be43-6ffe70d2bf4d"},"content":[{"type":"paragraph","attrs":{"id":"d893b83c-550b-4edc-a6c9-c1a93a67feba","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. 授权 Codex 访问你的仓库"}]}]}]},{"type":"heading","attrs":{"id":"aa7bed29-5c23-496e-9e51-4aeed9ca5f40","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.5.3 工作方式"}]},{"type":"paragraph","attrs":{"id":"6fe34235-6210-4152-b529-4173aa933459","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"从 App/IDE 启动"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"6870919c-6b7c-45a8-8259-87437ad3164a","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"1. 选择 \"Cloud\" 模式\n2. 选择环境(可自定义 setup 步骤和工具)\n3. 发送任务\n4. 关闭 App,任务继续运行\n5. 完成后通知,应用 diff 到本地"}]},{"type":"paragraph","attrs":{"id":"1bba584a-f243-41f3-9e8d-6ec63746792a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"从 GitHub 触发"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"98d206fc-4f67-43cd-9376-cbc9a8b6a3b3","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"在 Issue 或 PR 评论中 @codex\n例如:\"@codex 修复这个 bug\"\nCodex 自动创建 PR 解决问题"}]},{"type":"heading","attrs":{"id":"04e382f2-1286-43ac-9900-faa3fa3a58a8","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.5.4 环境配置"}]},{"type":"paragraph","attrs":{"id":"bc0beab1-6cc7-4176-9061-fd9af23e38e3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"自定义 Cloud 环境的 setup 步骤:"}]},{"type":"codeBlock","attrs":{"id":"f377530e-1d4e-447c-b3a6-7d51499c603b","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# Cloud 环境配置\ndependencies = [\"python\", \"nodejs\", \"docker\"]\nsetup_commands = [\n \"pip install -r requirements.txt\",\n \"npm install\"\n]"}]},{"type":"paragraph","attrs":{"id":"4179353c-e533-475a-92bb-47ee1f4e934c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"网络访问"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"fc116ab9-2d08-4ca9-a36e-b49de8f28e32","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"9d89774b-b32e-45d3-ae4c-43e5bdc9c536"},"content":[{"type":"paragraph","attrs":{"id":"949f44b4-8086-4b6c-b727-378bd9525248","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 可配置是否允许访问公共互联网"}]}]},{"type":"listItem","attrs":{"id":"e67109f1-f52a-42e8-9982-cdd64ef12f9d"},"content":[{"type":"paragraph","attrs":{"id":"8cff5c43-3f2a-465b-9cd8-cdba57e3d531","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 敏感操作需要额外确认"}]}]}]},{"type":"heading","attrs":{"id":"f12e7a88-0f54-4349-834d-f2cff044bdcf","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.5.5 Cloud vs Local 对比"}]},{"type":"paragraph","attrs":{"id":"9c25a709-441d-4ba0-9bf0-bf1fbfd2d728","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"14777843-2c6b-4acb-819f-2a44fef561d7","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"e27d35e4-ffbe-4554-8651-cf03d2fe43a2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"特性"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"cb08727e-ad3f-4241-874e-b93a6e4dde7e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cloud"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"a9cbfdfb-9154-4941-b85a-0613fb3080ae","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Local"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3df5be25-c346-4ba1-a15c-9dfed7dcaeed","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"执行位置"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"926e1a9e-9775-45aa-a75e-1ebf0d3a7eb1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"OpenAI 云端"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b0012287-b032-4547-af8c-0a33437c6699","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"你的机器"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"d98dc836-cc3f-42ad-b61d-49c164e5abd4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"后台运行"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"f6bfb049-46a0-4d04-8ea3-714b977b6ff3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"✅ 关闭电脑继续"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"eaac7b38-2b49-4851-a5d7-3cac991c5116","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"❌ 需要保持运行"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"ccf6f806-247c-4993-9f8c-0e31ac7c3295","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"并行任务"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"f0f91759-2bd6-40e9-b951-3778f40a06f1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"✅ 支持"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"b45c673c-9baa-40c3-9bfd-7ce17b7080db","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"受本地资源限制"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"54ac5493-91f4-4979-af47-0ef3b408ccd9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"GitHub PR"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"ac835d87-3711-4980-8a1c-95223257e0d7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"✅ 自动创建"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"94520027-5160-44d3-990d-c0282973a750","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"需手动推送"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"e3b0b1b9-199b-43c9-96b9-a7d673548ac1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"本地文件访问"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"22bba47c-99af-4a24-9ba9-ec34a837ceab","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"通过 GitHub"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"590fa8c1-bd95-4af4-8da1-8c3fbd830586","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"直接访问"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3dfe62e0-ba00-4f4b-94e5-ecc636110d48","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"适用场景"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"e296489c-3e66-4359-b54a-c8f9a6a15846","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"长时间/并行任务"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3b08a1b5-8b49-4569-93fc-12c2c5760a6a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"实时交互开发"}]}]}]}]},{"type":"paragraph","attrs":{"id":"9465690e-95ea-4a96-8e85-85b685685584","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"ece816dd-5c46-4806-b7ff-15ace219470a","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.6 配置系统详解"}]},{"type":"paragraph","attrs":{"id":"51f257c0-c6bb-453c-aea3-7a25d95bfe51","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex 使用 TOML 格式的配置文件,支持多层覆盖。"}]},{"type":"heading","attrs":{"id":"ae852333-18cb-4f0b-ad17-ef3e5ac591c3","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.6.1 配置文件位置与优先级"}]},{"type":"paragraph","attrs":{"id":"488ece7e-9dd7-4d25-a99a-fd13366f3baf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"优先级从高到低:"}]},{"type":"orderedList","attrs":{"id":"378870db-b6f8-4cca-bbc8-fdc6957ddd02","start":1,"isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"b33ddfba-bdfe-413e-8675-f5836990fd0d"},"content":[{"type":"paragraph","attrs":{"id":"f25e38e1-e288-479c-8883-50f50627c89b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"1. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"CLI 标志"},{"type":"text","text":"("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"--config key=value"},{"type":"text","text":")"}]}]},{"type":"listItem","attrs":{"id":"1531c2f2-424a-47ed-bd1a-ed07a24ecedd"},"content":[{"type":"paragraph","attrs":{"id":"b96dfbfc-3e7d-4511-8c15-9084cb0cc494","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"2. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Profile 配置"},{"type":"text","text":"("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"--profile <name>"},{"type":"text","text":")"}]}]},{"type":"listItem","attrs":{"id":"106891d9-1e45-4242-b6b5-7751e82f196e"},"content":[{"type":"paragraph","attrs":{"id":"9ce43317-2141-4faa-8e05-99d64f527fb9","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"3. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"项目配置"},{"type":"text","text":"("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":".codex/config.toml"},{"type":"text","text":")"}]}]},{"type":"listItem","attrs":{"id":"e8532f2d-0d17-4d14-8461-3e82295222bb"},"content":[{"type":"paragraph","attrs":{"id":"dd5b45d9-01ba-4658-b6bf-e3092dea4c71","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"4. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"用户配置"},{"type":"text","text":"("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"~/.codex/config.toml"},{"type":"text","text":")"}]}]},{"type":"listItem","attrs":{"id":"956ab18e-cbdb-4b4f-a9ab-683deba93f8a"},"content":[{"type":"paragraph","attrs":{"id":"fa5cac8b-83a7-4944-915e-48834f1eb4ba","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"5. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"系统配置"},{"type":"text","text":"("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"/etc/codex/config.toml"},{"type":"text","text":")"}]}]},{"type":"listItem","attrs":{"id":"7ead6e9f-9fb2-4747-8717-ee165a1a124a"},"content":[{"type":"paragraph","attrs":{"id":"86dc98a3-c483-45db-989c-0c12c76df63a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"6. "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"内置默认值"}]}]}]},{"type":"heading","attrs":{"id":"bfc67eac-5678-449b-bbc2-ce6011c30613","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.6.2 核心配置项"}]},{"type":"paragraph","attrs":{"id":"dd1c58bc-fc3d-4ced-a4ec-b2529b68b668","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"模型配置"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"c8b3ecdc-45ec-42de-b3da-46675e54eb84","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 默认模型\nmodel = \"gpt-5.3-codex\"\n\n# 推理强度:minimal | low | medium | high | xhigh\nmodel_reasoning_effort = \"high\"\n\n# 推理摘要详细程度:auto | concise | detailed | none\nmodel_reasoning_summary = \"detailed\"\n\n# 输出详细程度:low | medium | high\nmodel_verbosity = \"medium\"\n\n# 自动压缩上下文阈值(token 数)\nmodel_auto_compact_token_limit = 32000"}]},{"type":"paragraph","attrs":{"id":"898dc804-e5ad-4e7e-9f9e-4fbda9d8554a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"审批与沙盒"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"b177ec45-ebff-4a56-8749-d0bfda344646","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 审批策略:untrusted | on-request | never\n# untrusted: 需要确认所有操作\n# on-request: 需要确认外部/网络访问\n# never: 全自动(谨慎使用)\napproval_policy = \"on-request\"\n\n# 沙盒模式:read-only | workspace-write | danger-full-access\nsandbox_mode = \"workspace-write\"\n\n# workspace-write 的额外配置\n[sandbox_workspace_write]\nwritable_roots = [\"/tmp\", \"/var/log\"]\nnetwork_access = true"}]},{"type":"paragraph","attrs":{"id":"037a7b15-f752-4c27-8e1e-f5cd5b07d3a5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"网页搜索"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"8d2b7fd6-fc47-4ee0-8dfa-423dd0a30192","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 搜索模式:disabled | cached | live\nweb_search = \"cached\"\n\n# cached: 使用缓存结果(默认,速度快)\n# live: 实时搜索(需要更多权限)\n# disabled: 关闭搜索"}]},{"type":"paragraph","attrs":{"id":"ebe1a2f6-3be3-4df7-a711-4e9dcc9ead68","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"通知设置"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"3b78ef75-ea9b-4dde-9899-863da6e7293d","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 通知方式\nnotify = [\"osx\", \"slack\"]\n\n# TUI 通知配置\n[tui]\nnotifications = true\nnotification_method = \"osc9\" # osc9 | bel | auto"}]},{"type":"paragraph","attrs":{"id":"d5d40c70-79a0-483e-9a7a-2f88b179ae3e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"历史记录"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"96b52d11-ceda-46d3-b6ac-35a31c7447ec","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"[history]\npersistence = \"save-all\" # save-all | none\nmax_bytes = 104857600 # 100MB"}]},{"type":"paragraph","attrs":{"id":"aeceac47-6ec3-4ef8-8b40-81838fc1d972","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"MCP 服务器"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"3f8bc43b-a3d1-4550-bb8f-c588729c8411","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"[mcp_servers.context7]\ncommand = \"npx\"\nargs = [\"-y\", \"@upstash/context7-mcp\"]\n\n[mcp_servers.figma]\nurl = \"https://mcp.figma.com/mcp\"\nbearer_token_env_var = \"FIGMA_OAUTH_TOKEN\"\n\n# MCP 详细配置\n[mcp_servers.github]\ncommand = \"npx\"\nargs = [\"-y\", \"@github/mcp-server\"]\nenabled = true\nrequired = false # 启动失败不阻断\nstartup_timeout_sec = 30\ntool_timeout_sec = 120\nenv = { GITHUB_TOKEN = \"${GITHUB_TOKEN}\" }"}]},{"type":"paragraph","attrs":{"id":"54c0f7ec-7fa4-402c-b889-5b445b5ae3a0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"多智能体(实验性)"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"fdcd9570-3d1e-430d-95ff-6a564e4cff04","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"[features]\nmulti_agent = true\n\n[agents]\nmax_threads = 4\n\n[agents.architect]\ndescription = \"负责架构设计\"\nconfig_file = \"architect.toml\"\n\n[agents.implementer]\ndescription = \"负责代码实现\"\nconfig_file = \"implementer.toml\""}]},{"type":"paragraph","attrs":{"id":"4ddeed2c-5380-4190-a328-06d58c19e5de","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Skills"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"e557e4e1-6004-48ed-826e-d64f05388e5d","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"[skills.config]\npath = \"/path/to/custom-skill\"\nenabled = true"}]},{"type":"paragraph","attrs":{"id":"97983de6-c67d-4d97-b907-9b47a3245191","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Profile 配置"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"070a7d84-fdcf-469c-a75e-6e8309c83db0","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 默认使用的 profile\nprofile = \"work\"\n\n[profiles.work]\nmodel = \"gpt-5-codex\"\nmodel_reasoning_effort = \"high\"\nweb_search = \"live\"\n\n[profiles.personal]\nmodel = \"gpt-5.3-codex\"\nmodel_reasoning_effort = \"medium\"\napproval_policy = \"never\""}]},{"type":"heading","attrs":{"id":"fb79a1ce-1dbd-4ac3-9694-65216add9342","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.6.3 项目级配置"}]},{"type":"paragraph","attrs":{"id":"adf459eb-5a4b-44b5-be3f-a129663012ac","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"在项目根目录创建 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":".codex/config.toml"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"39a01e4a-d241-4104-8a77-7a6fd79faf3a","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 项目特定配置\nmodel = \"gpt-5.3-codex\"\napproval_policy = \"on-request\"\n\n# 项目特定说明(注入到每次会话)\ndeveloper_instructions = \"\"\"\n这是一个 Python 项目,使用 FastAPI 框架。\n请始终使用 async/await 模式。\n测试使用 pytest。\n\"\"\""}]},{"type":"paragraph","attrs":{"id":"9975074f-729e-4922-82e1-8b5611cd88b4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"AGENTS.md 支持"},{"type":"text","text":": 在项目根目录创建 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"AGENTS.md"},{"type":"text","text":",Codex 会自动读取作为项目说明:"}]},{"type":"codeBlock","attrs":{"id":"2f56d385-1fa9-4fe8-ac41-7f44c680e13d","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 项目说明\n\n## 架构\n- 使用 Clean Architecture\n- 领域层在 src/domain/\n- 应用层在 src/application/\n\n## 编码规范\n- 所有函数必须有类型注解\n- 使用 black 格式化\n- 提交前运行 pre-commit\n\n## 测试\n- 单元测试:pytest tests/unit/\n- 集成测试:pytest tests/integration/"}]},{"type":"heading","attrs":{"id":"9779fafa-1728-4ba7-a994-28bbbaf32c21","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.6.4 管理员配置(requirements.toml)"}]},{"type":"paragraph","attrs":{"id":"2ab61d4f-9727-42fa-ad81-1e7eac8ee707","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"企业环境可创建 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"requirements.toml"},{"type":"text","text":" 强制执行安全策略:"}]},{"type":"codeBlock","attrs":{"id":"3d4a9def-6d0e-489f-9d49-aa7efce16186","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 允许的审批策略\nallowed_approval_policies = [\"on-request\", \"never\"]\n\n# 允许的最大沙盒权限\nallowed_sandbox_modes = [\"read-only\", \"workspace-write\"]\n\n# 允许的网页搜索模式\nallowed_web_search_modes = [\"disabled\", \"cached\"]\n\n# 允许的 MCP 服务器白名单\n[mcp_servers.allowed]\ncontext7 = { identity = { command = \"npx -y @upstash/context7-mcp\" } }\n\n# 命令规则\n[rules]\nprefix_rules = [\n {\n pattern = [{ token = \"rm\" }, { token = \"-rf\" }],\n decision = \"forbidden\",\n justification = \"禁止强制删除文件\"\n }\n]"}]},{"type":"heading","attrs":{"id":"82722207-c855-43f5-8408-05a3190249aa","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.6.5 完整配置示例"}]},{"type":"codeBlock","attrs":{"id":"0c26b0d5-795b-4094-87be-1dd693841b94","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"#:schema https://developers.openai.com/codex/config-schema.json\n\n# === 基础配置 ===\nmodel = \"gpt-5.3-codex\"\nmodel_reasoning_effort = \"high\"\nmodel_verbosity = \"medium\"\n\n# === 安全设置 ===\napproval_policy = \"on-request\"\nsandbox_mode = \"workspace-write\"\n\n# === 功能配置 ===\nweb_search = \"cached\"\n\n[features]\nmulti_agent = false\nshell_tool = true\n\n# === MCP 服务器 ===\n[mcp_servers.context7]\ncommand = \"npx\"\nargs = [\"-y\", \"@upstash/context7-mcp\"]\n\n[mcp_servers.playwright]\ncommand = \"npx\"\nargs = [\"-y\", \"@executeautomation/playwright-mcp-server\"]\n\n# === 通知 ===\n[tui]\nnotifications = true\nanimations = true\n\n# === 历史记录 ===\n[history]\npersistence = \"save-all\"\nmax_bytes = 104857600\n\n# === Profile ===\n[profiles.fast]\nmodel = \"gpt-5-codex\"\nmodel_reasoning_effort = \"low\"\n\n[profiles.deep]\nmodel = \"gpt-5.3-codex\"\nmodel_reasoning_effort = \"xhigh\"\napproval_policy = \"on-request\""}]},{"type":"heading","attrs":{"id":"3c592e2e-632c-45c0-9f0f-2bf9b1a417b3","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"2.7 如何选择合适的形态"}]},{"type":"paragraph","attrs":{"id":"a6e84f85-8113-4484-930e-21001baead06","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"决策树"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"b88b460c-c8e0-44a1-9629-e2805391bc60","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"你是 macOS (Apple Silicon) 用户?\n├── 是 → 需要并行处理多个任务?\n│ ├── 是 → 使用 Codex App\n│ └── 否 → 喜欢终端操作?\n│ ├── 是 → 使用 CLI\n│ └── 否 → 使用 Codex App\n└── 否 → 使用 VS Code/Cursor?\n ├── 是 → 使用 IDE 扩展\n └── 否 → 需要脚本化/CI 集成?\n ├── 是 → 使用 CLI\n └── 否 → 使用 Web 版或 CLI"}]},{"type":"paragraph","attrs":{"id":"007c3378-f31f-4c60-8812-66dd8f34fa72","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"组合使用建议"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"id":"1f51ae35-26be-468b-ac92-edb2a4103df0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"d7752a1b-28ff-4434-9500-1ede828e0fb1","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"40166145-464e-45ea-a1a6-f3b3c58f1993","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"场景"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"cd87ac4c-183c-41a3-88a7-e68affa48083","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"推荐组合"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"ca969d6a-264a-40a7-9de3-51e38864a610","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"主力开发"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"a5d4b85f-8115-42fd-bfb8-144b01e8d979","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"App(主力)+ IDE 扩展(快速编辑)"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"90ae0811-b12a-4e1b-a12f-2a7ab5bc4105","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"团队协作"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"6fc71be9-7adc-4e6f-b293-d6355eed6708","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cloud(后台任务)+ App(代码审查)"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"bd73e606-10f9-41f3-b812-b54fac43c78c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"CI/CD 集成"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"9e5823a2-18fd-4d9e-8394-c819b8afeaa1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"CLI(自动化脚本)+ Cloud(并行测试)"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"7c325623-b162-4cdc-9b14-077379c571b7","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"快速原型"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"48ec25df-c47a-4ae4-8208-b4c5a187da9c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"IDE 扩展(实时迭代)"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"288bf18e-6678-45e5-93c9-9771d7e905e5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"大型重构"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"14aaccdd-634d-4b93-9f9c-2f5837bf90f4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"App(Worktree 隔离)+ Cloud(长时间运行)"}]}]}]}]},{"type":"paragraph","attrs":{"id":"c2b5e921-f2be-4660-a695-b758eb1412de","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"horizontalRule","attrs":{"id":"6d4b60f0-5130-4bc4-909f-ac0543f3e653","isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"32f84a07-9e1e-454f-8703-42c17a06afa4","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第三章:提示词工程——如何让 Codex 听懂你的需求"}]},{"type":"heading","attrs":{"id":"caff8562-845d-4983-b2d5-99b3d58c7c23","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"3.1 好提示词 vs 烂提示词"}]},{"type":"paragraph","attrs":{"id":"69507325-5446-4428-b706-ebcc4101db68","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"烂提示词"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"f8375ea4-a2ed-47ec-9747-299aef69e633","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"帮我写个程序"}]},{"type":"paragraph","attrs":{"id":"6809bc6e-1305-4dd6-acf2-4c3aad4014c2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"好提示词"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"b5c9b754-4837-4161-8ea6-6d21b98335fd","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"用 Python 写一个异步 HTTP 客户端,支持:\n1. GET/POST/PUT/DELETE 方法\n2. 超时控制(默认 30 秒)\n3. 自动重试(最多 3 次,指数退避)\n4. 请求/响应日志\n5. 使用 aiohttp 库,不要用 requests"}]},{"type":"heading","attrs":{"id":"ff0f22e2-6b7f-479f-b87d-c1bb5b28040c","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"3.2 提示词公式"}]},{"type":"blockquote","attrs":{"id":"9d65c6c3-b185-430e-98d6-2a9a2886dca1","textAlign":"inherit","isHoverDragHandle":false},"content":[{"type":"paragraph","attrs":{"id":"1a06517e-0da6-4bc3-a777-28be950ebfd8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"},{"type":"italic"}],"text":"目标 + 技术栈 + 输入输出 + 约束条件 + 质量要求 = 完美提示词"}]}]},{"type":"paragraph","attrs":{"id":"4932f66a-f254-4ecd-9d82-0dac572cf536","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"拆解示例"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"673fea24-2656-4f96-9ec7-835275d9d7e3","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"【目标】写一个批量处理 Excel 文件的工具\n【技术栈】Python + pandas + openpyxl\n【输入】./input 目录下的所有 .xlsx 文件\n【输出】汇总到 summary.xlsx,生成 report.txt\n【约束】\n - 只读取每个文件的 B 列\n - 跳过空文件并记录日志\n - 处理大文件时分块读取\n【质量要求】\n - 添加类型注解\n - 每个函数有文档字符串\n - 异常处理要具体\n\n"}]},{"type":"heading","attrs":{"id":"2557fa43-62ed-479f-b2ce-3f7a41dbfdb3","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"3.3 迭代式提问"}]},{"type":"paragraph","attrs":{"id":"3a79b03e-7ec5-423c-a9d4-4252571608f5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex 支持多轮对话,善用追问:"}]},{"type":"paragraph","attrs":{"id":"27a3f081-22cd-4f8a-9005-df98683ef3cf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第一轮"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"7738c867-b82f-4a26-a50a-538fd509fd6a","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"写一个 FastAPI 用户认证接口"}]},{"type":"paragraph","attrs":{"id":"b55dc3dc-d62a-4149-ad74-63a449955e4b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第二轮"},{"type":"text","text":"(发现缺少 JWT):"}]},{"type":"codeBlock","attrs":{"id":"ef3374e4-457c-427d-a2ef-8c01f587811e","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"加上 JWT token 生成和验证,用 HS256 算法"}]},{"type":"paragraph","attrs":{"id":"4fba30f2-afd2-4a4c-a0be-455fd273ad41","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第三轮"},{"type":"text","text":"(添加刷新机制):"}]},{"type":"codeBlock","attrs":{"id":"2d1d390c-b53c-4a94-a23b-63cf05b7fcae","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"再添加 refresh token 机制,access token 15 分钟过期,refresh token 7 天"}]},{"type":"paragraph","attrs":{"id":"9eda4159-8640-40ff-ad6a-f8f72b56644d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第四轮"},{"type":"text","text":"(添加速率限制):"}]},{"type":"codeBlock","attrs":{"id":"806f880f-2265-45d1-9530-a2fd1bf9d84c","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"登录接口需要速率限制,每分钟最多 10 次请求"}]},{"type":"heading","attrs":{"id":"0325d727-7af1-4e6b-9676-b9b2098ed5b7","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"3.4 让 Codex 解释代码"}]},{"type":"paragraph","attrs":{"id":"dab54d19-8066-4a2e-8430-387bbada8ff2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"遇到看不懂的代码,直接问:"}]},{"type":"codeBlock","attrs":{"id":"83d55ea0-0009-4f51-a4b5-0175eed49a8a","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"请逐行解释这段代码的逻辑,特别是:\n1. 这个装饰器的作用是什么\n2. 为什么这里要用异步\n3. 异常处理的覆盖范围"}]},{"type":"heading","attrs":{"id":"f5129582-2d34-40ce-b31d-fd16ec2bdb02","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"3.5 调试技巧"}]},{"type":"paragraph","attrs":{"id":"f0e6a349-a97d-48f3-8233-c88aaca9d62e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"代码报错了?直接复制错误信息:"}]},{"type":"codeBlock","attrs":{"id":"625b5fe5-bfb3-4c1d-b9d2-0d5f3157568a","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"代码运行报错:\n\n```\nTraceback (most recent call last):\n File \"main.py\", line 42, in <module>\n result = process_data(data)\n File \"main.py\", line 28, in process_data\n return data.groupby('category').sum()\n File \"/venv/lib/python3.10/site-packages/pandas/core/groupby/groupby.py\", line 1234, in sum\n return self._agg_general()\nValueError: No numeric types to aggregate\n```\n\n数据文件格式:\n```csv\nid,category,value\n1,A,100\n2,B,200\n```\n\n帮我分析问题原因并修复"}]},{"type":"horizontalRule","attrs":{"id":"d0f9f253-2099-410e-b18a-fb7aa5f47c79","isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"45dc5eb3-d861-4c2c-9187-a938ca6cf88d","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第四章:实战——用 Codex 构建生产级工具"}]},{"type":"heading","attrs":{"id":"131a2664-eb77-426c-a383-a2b1b8ea70b5","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"4.1 项目一:API 监控服务"}]},{"type":"paragraph","attrs":{"id":"94ee2205-6818-4608-bdba-e30699a1ad3d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"需求"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"85e0f638-a6d1-4ea7-82b1-d0859cb98f76","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"43235cf0-aefb-4a99-aad1-958561b13b5f"},"content":[{"type":"paragraph","attrs":{"id":"347bcdfc-e544-4591-986e-db1045b9c11f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 监控 50+ API 端点的可用性"}]}]},{"type":"listItem","attrs":{"id":"7a7cf720-2dba-4b9b-8ab6-e068c31d7229"},"content":[{"type":"paragraph","attrs":{"id":"7e238ca3-8e7e-4983-a3c0-bf19016bc986","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 每 5 分钟检查一次"}]}]},{"type":"listItem","attrs":{"id":"4dbdd3a5-2555-4529-bc13-32288a05fb81"},"content":[{"type":"paragraph","attrs":{"id":"de7dc713-08e4-43c4-a0c0-19f265c2ad64","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 异常时发送 Slack 通知"}]}]},{"type":"listItem","attrs":{"id":"e4f18539-b0fd-4454-ae27-2fed161c8f87"},"content":[{"type":"paragraph","attrs":{"id":"665f0c64-f953-41f4-8528-a9be17327969","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 历史数据存入 PostgreSQL"}]}]},{"type":"listItem","attrs":{"id":"64ea7278-1357-4603-bddf-f2b316f34989"},"content":[{"type":"paragraph","attrs":{"id":"116a513b-0d64-4dec-87c9-ac51e44f88c6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 提供 Web 仪表板查看状态"}]}]}]},{"type":"paragraph","attrs":{"id":"094f1846-86bb-4c9e-86d7-c1ef631a5839","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"提示词"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"5c33cd8f-c95b-4c69-94e2-2f528264bfe9","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"设计一个 API 监控系统,技术栈:\n- Python + FastAPI(后端)\n- PostgreSQL(数据存储)\n- React + Recharts(前端仪表板)\n- APScheduler(定时任务)\n- Slack SDK(通知)\n\n功能需求:\n1. API 端点管理(CRUD)\n2. 定时健康检查(HTTP GET,记录响应时间和状态码)\n3. 异常告警(连续 3 次失败发送 Slack)\n4. 历史数据查询接口\n5. Web 仪表板(显示当前状态、响应时间图表、告警历史)\n\n请先给出:\n1. 项目结构设计\n2. 数据库 schema\n3. 核心模块代码框架"}]},{"type":"paragraph","attrs":{"id":"d9bf66d6-71df-4f9a-84d4-0ff1f50f4d6e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"Codex 会输出"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"de0d8b97-f1de-4aba-8a92-09981ea1f581","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"project/\n├── app/\n│ ├── main.py # FastAPI 入口\n│ ├── models.py # SQLAlchemy 模型\n│ ├── schemas.py # Pydantic 模型\n│ ├── api/ # API 路由\n│ │ ├── endpoints.py\n│ │ └── deps.py\n│ ├── services/ # 业务逻辑\n│ │ ├── monitor.py # 监控服务\n│ │ └── notifier.py # 通知服务\n│ └── db/ # 数据库配置\n├── frontend/ # React 前端\n├── scheduler.py # 定时任务\n├── config.py # 配置管理\n└── requirements.txt"}]},{"type":"paragraph","attrs":{"id":"3fe1ab25-df78-4302-b6b3-4b93f28e65c2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"然后逐步实现每个模块。"}]},{"type":"heading","attrs":{"id":"9289f49f-f49a-4c8e-95fe-4dfb54843fe0","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"4.2 项目二:数据管道自动化"}]},{"type":"paragraph","attrs":{"id":"caf30fd4-ddcb-4e07-81c6-766bca76eb15","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"需求"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"146ad45f-59ea-4dd5-8a46-3a550fc3409d","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"f00501d8-9b12-4156-9e67-c184952c0cbc"},"content":[{"type":"paragraph","attrs":{"id":"c8a2f98e-03e8-4416-af2e-cc33e8fc7331","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 每天从 S3 拉取原始数据"}]}]},{"type":"listItem","attrs":{"id":"94310bf8-a297-4591-b4e1-e41fc6c65a0c"},"content":[{"type":"paragraph","attrs":{"id":"d8b70c42-6680-40a5-861e-0efbaf69cc4e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 执行数据清洗和转换"}]}]},{"type":"listItem","attrs":{"id":"e4c08785-a2ae-4bdf-8701-e0f4907145ee"},"content":[{"type":"paragraph","attrs":{"id":"c486d2df-b19a-49a8-bbac-d47c772e0527","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 加载到数据仓库"}]}]},{"type":"listItem","attrs":{"id":"48af27fa-63e7-49ba-8421-d5379885d1a4"},"content":[{"type":"paragraph","attrs":{"id":"26def93a-dca3-40e1-810a-005c3ef1563e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 生成质量报告"}]}]},{"type":"listItem","attrs":{"id":"944ebd0f-33d9-434d-a96c-448a53154788"},"content":[{"type":"paragraph","attrs":{"id":"e6dc5c74-5019-4d3a-9f05-4c406db99283","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 失败时重试并通知"}]}]}]},{"type":"paragraph","attrs":{"id":"0afd2f86-2a27-43ef-aa81-797459bbd0b0","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"提示词框架"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"32d5464e-e0c7-4a34-a387-311f092c8e82","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"构建一个 ETL 数据管道,使用:\n- Python + Apache Airflow(编排)\n- boto3(S3 访问)\n- pandas(数据处理)\n- SQLAlchemy(数据加载)\n\n数据流:\nS3 (raw) → 清洗 → 转换 → PostgreSQL (analytics)\n\n请实现:\n1. Airflow DAG 定义\n2. 数据处理任务\n3. 错误处理和重试机制\n4. 数据质量检查"}]},{"type":"heading","attrs":{"id":"600ff062-412c-4a4e-aef0-3f7fef53b6ef","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"4.3 项目三:CLI 工具开发"}]},{"type":"paragraph","attrs":{"id":"345a4066-f26a-4970-98f4-f06af72c11b3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"需求"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"cc661518-80c0-4a05-a4ef-b300ca51c49f","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"e90cf4aa-342d-43cc-bd90-12e10d9be697"},"content":[{"type":"paragraph","attrs":{"id":"3278b0ec-7953-411f-8dea-0b6365130625","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 内部使用的命令行工具"}]}]},{"type":"listItem","attrs":{"id":"869a06da-da45-47a6-95b0-3f8002735dc1"},"content":[{"type":"paragraph","attrs":{"id":"9b4b3b89-979f-4e61-8556-af36ed69cd7f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 支持多个子命令"}]}]},{"type":"listItem","attrs":{"id":"e08c769b-b0d4-46de-94d2-357663641c8c"},"content":[{"type":"paragraph","attrs":{"id":"3318285f-2a6b-4003-9c45-c8b48b7d4592","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 配置文件管理"}]}]},{"type":"listItem","attrs":{"id":"d1a99859-91b8-4a8c-8e5f-57527f10f1b7"},"content":[{"type":"paragraph","attrs":{"id":"9aba3105-3560-4406-8e64-2e94cdc5eb23","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 进度条和日志"}]}]}]},{"type":"paragraph","attrs":{"id":"692b16dd-ebf1-4c9b-8c68-ed8ff8d64296","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"提示词示例"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"e39a8e9a-f6cf-4b4f-b8eb-9a322ac4d9a4","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"用 Python 的 Click 库写一个 CLI 工具,包含以下命令:\n\ndeploy:\n - 从配置读取部署目标\n - 打包项目\n - SCP 上传到服务器\n - 执行远程部署脚本\n\nconfig:\n - 初始化配置文件\n - 编辑配置\n - 验证配置\n\nlogs:\n - 拉取远程日志\n - 支持 grep 过滤\n - 实时 tail 模式\n\n要求:\n- 使用 rich 库美化输出\n- 添加 --dry-run 选项\n- 支持 verbose 模式\n\n"}]},{"type":"horizontalRule","attrs":{"id":"9b9df970-f622-486c-9b54-dd311bd0e39f","isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"9a9d18e8-0ee5-4865-b8ad-d7e72b82f566","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第五章:进阶技巧"}]},{"type":"heading","attrs":{"id":"49eb103b-53e8-41d8-94d1-62300b7e8f46","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"5.1 自定义 Rules"}]},{"type":"paragraph","attrs":{"id":"b2f6eddf-d9d2-4689-a72f-79abdec651e5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex 支持自定义规则,让它遵循特定的编码规范。"}]},{"type":"paragraph","attrs":{"id":"18bc79e9-1d85-47cc-b64e-ae50bfc98da3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"创建规则文件"},{"type":"text","text":":"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"~/.codex/rules/default.rules"}]},{"type":"codeBlock","attrs":{"id":"01c29b90-a9f7-4768-92bb-d60632e7ec59","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# 规则示例:始终使用 async/await\n\nrule async_first:\n when: \"用户请求编写 I/O 相关代码\"\n then: \"优先使用异步实现\"\n priority: high\n\n# 规则示例:添加类型注解\n\nrule type_annotations:\n when: \"生成 Python 代码\"\n then: \"所有函数必须有类型注解\"\n priority: medium\n\n# 规则示例:添加错误处理\n\nrule error_handling:\n when: \"生成可能失败的代码\"\n then: \"必须包含 try-except 和具体错误处理\"\n priority: high"}]},{"type":"heading","attrs":{"id":"77430e0f-c37d-43be-869a-343a80a9411a","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"5.2 使用 Skills 扩展能力"}]},{"type":"paragraph","attrs":{"id":"ac935384-1620-4315-b917-3698e10b3f0e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Skills 是 Codex 的插件系统,可以封装特定的工作流程。"}]},{"type":"paragraph","attrs":{"id":"9f6d5fe4-934e-42ed-8c4a-f42211bdb41a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"内置 Skills"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"c464922c-e021-4b4b-b05e-014eff9dc97c","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"e156f46d-9eda-4e08-bb36-6df44eb72f2f"},"content":[{"type":"paragraph","attrs":{"id":"ee78a758-f33a-46d6-8e53-ae9d79956486","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"skill-creator"},{"type":"text","text":" - 帮助创建新 skill"}]}]},{"type":"listItem","attrs":{"id":"dc9fcbd8-6e6f-4735-942f-b9d84027a5fb"},"content":[{"type":"paragraph","attrs":{"id":"50df29af-46e5-4079-9314-70af5c548352","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"plan"},{"type":"text","text":" - 项目规划"}]}]}]},{"type":"paragraph","attrs":{"id":"1e6785ba-5fb5-4b14-a58d-277be6de6a4d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"安装更多 Skills"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"844c9849-fdb2-45de-8d52-74a57c708dbb","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"$skill-installer install <skill-name>"}]},{"type":"paragraph","attrs":{"id":"9442e98a-3cb5-496a-9f03-6f33be283ecd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"调用方式"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"25b7e252-beac-4a8e-95a9-76ed5539b1b4","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"c46f1127-7e30-4fa7-91c2-b6a4d577dc41"},"content":[{"type":"paragraph","attrs":{"id":"3ccb97af-15bc-43dd-a30c-3fff6e3828d2","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 显式:"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"/skills <skill-name>"},{"type":"text","text":" 或 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"$<skill-name>"}]}]},{"type":"listItem","attrs":{"id":"38616ba8-ef61-4436-87b5-49cdd131aff6"},"content":[{"type":"paragraph","attrs":{"id":"9f913118-6dcb-4ee3-9b25-f7ed63221b9b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 隐式:Codex 根据任务自动匹配"}]}]}]},{"type":"heading","attrs":{"id":"c7dfa769-3bd1-428c-82c8-866e3f2c14f1","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"5.3 Codex App 进阶技巧"}]},{"type":"paragraph","attrs":{"id":"04917876-3d0a-43b4-bb26-498001d9ed6c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Codex App 的详细配置方法请参考"},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"第二章"},{"type":"text","text":"(2.2.4 - 2.2.6 节)。这里补充一些实用技巧:"}]},{"type":"paragraph","attrs":{"id":"46cb7aaf-867f-4870-9de3-e5e79f295502","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"语音输入加速"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"8e3bc9b6-6536-46bf-802a-8e8536a7422a","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"c86cdac4-2bf8-4831-ad66-1f0a9ca0b071"},"content":[{"type":"paragraph","attrs":{"id":"094e81e9-2f8c-47ba-9593-f2be32ea4678","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 按住 "},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"Ctrl+M"},{"type":"text","text":" 口述需求,特别适合快速记录想法"}]}]}]},{"type":"paragraph","attrs":{"id":"a38a25a5-279e-49a0-9b2e-1940a0ece176","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"悬浮窗口工作流"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"dfcd47c1-909b-4354-928f-944727ae1488","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"b2bdac7d-2307-46d6-9ed4-99b59a527692"},"content":[{"type":"paragraph","attrs":{"id":"6526a552-0c69-4ca8-b3eb-cd271ea4787b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 将线程弹出为独立窗口,开启\"置顶\"模式"}]}]},{"type":"listItem","attrs":{"id":"5487ccea-335d-4bb0-98ad-f6e890f55d70"},"content":[{"type":"paragraph","attrs":{"id":"05c86702-ad86-4f5f-b6bd-89a508af8f42","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 适合边参考文档边与 Codex 交互"}]}]}]},{"type":"paragraph","attrs":{"id":"dcee8192-9cf4-4057-869a-0656ee1deb3e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"快捷键速查"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"id":"755f7428-183b-4920-aecb-36511cde70ea","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"2fb6b117-09ef-4e53-8d3a-6c32eb33c74c","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"5eca4e55-8370-4940-9847-602c1744f715","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"快捷键"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"75b6cc9d-99f7-42a3-ae03-04799189898d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"功能"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"5a33ac19-025a-4e0d-a208-0555852c7b2a","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cmd+J"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"44922763-8a44-4a14-b8ba-99cf3198a5d6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"切换终端"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"2f47f82d-141c-4a77-9a09-3ef04a83f55b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cmd+数字"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"11fe7b76-b34c-4f19-9b8a-73afe0354813","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"切换项目"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"63b68aed-2bb7-4c61-803e-0b974290a823","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Ctrl+M"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"2d6f55ca-af86-4ed1-8df5-36a3d5aa8dad","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"语音输入"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"3517196e-1fef-4d16-9878-f1b69fb99f80","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Cmd+Shift+N"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"dc04afdc-ce8d-4958-94c1-1a38f7d6c27e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"新建线程"}]}]}]}]},{"type":"paragraph","attrs":{"id":"b042b004-a4f6-4d72-a751-003f10096c74","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"5aea54e6-9eaa-44b6-8791-20d074040b48","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"5.4 MCP 集成"}]},{"type":"paragraph","attrs":{"id":"1e36e0cf-c1e5-4ca0-84ba-e86272aed377","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"MCP(Model Context Protocol)让 Codex 能访问第三方服务。"}]},{"type":"paragraph","attrs":{"id":"35ac25e1-2650-4aa0-98bf-cfe7f6bcd23c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"配置示例"},{"type":"text","text":"("},{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}}],"text":"~/.codex/config.toml"},{"type":"text","text":"):"}]},{"type":"codeBlock","attrs":{"id":"81637f2b-6c3e-4506-8f85-0460fa64f038","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# Context7 - 开发者文档搜索\n[mcp_servers.context7]\ncommand = \"npx\"\nargs = [\"-y\", \"@upstash/context7-mcp\"]\n\n# Figma - 设计稿访问\n[mcp_servers.figma]\nurl = \"https://mcp.figma.com/mcp\"\nbearer_token_env_var = \"FIGMA_OAUTH_TOKEN\""}]},{"type":"paragraph","attrs":{"id":"75a156be-15b6-4f42-b828-bf5a14d66863","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"常用 MCP 服务器"},{"type":"text","text":":"}]},{"type":"paragraph","attrs":{"id":"90d76fa5-9868-49a9-b051-3600bb09410c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"table","attrs":{"id":"c44fb743-8302-4ee1-a4a5-f7ab4a14be6e","isHoverDragHandle":false},"content":[{"type":"tableRow","content":[{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"e2785b89-2799-4dac-8ca9-67741e6bd6a5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"服务器"}]}]},{"type":"tableHeader","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px; background: var(--GBK09A); color: var(--GBK02A);"},"content":[{"type":"paragraph","attrs":{"id":"05268ebb-54b9-4d33-8366-7c49f0d36ecf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"用途"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"e58ce31e-4fa5-4dbe-9257-ebed86914016","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Context7"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"df3fe389-3992-4327-8eb2-bc79e6666af8","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"开发者文档搜索"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"cb4449ed-892a-4da6-ac2d-d1ab9524d66b","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Figma"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"94094983-d324-4120-ad44-65cf5da8bd11","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"访问设计稿"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"35c91753-2175-4e49-a8ef-6b3cdd5f47c4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Playwright"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"f26e719c-8c98-44e0-97fb-c02e07073527","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"浏览器自动化"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"7d57ee26-8e1b-41dd-aee9-7dbdbf9900fe","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"GitHub"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"7faab450-397a-4a11-91ca-0d1474a42ffd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"GitHub API 访问"}]}]}]},{"type":"tableRow","content":[{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"ab42743e-b6da-4668-996c-8c235a20f95c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"Sentry"}]}]},{"type":"tableCell","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"background":null,"color":null,"textAlign":null,"style":"border: 1px solid var(--GBK08A); height: 24px; padding: 0px;"},"content":[{"type":"paragraph","attrs":{"id":"8080ca26-23b1-4061-ab21-fd72abba7417","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"错误日志查询"}]}]}]}]},{"type":"paragraph","attrs":{"id":"ef3b938c-9a0c-4899-b7a2-5568dbadcfa4","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"d6085dd9-3338-4eae-8a26-3e1b8c3b9b21","textAlign":"inherit","indent":0,"level":3,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"5.5 多 Agent 协作(实验性)"}]},{"type":"paragraph","attrs":{"id":"d53badf2-4723-4589-bdb7-eafe7a203439","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"对于复杂任务,可以让多个 Codex agent 协作完成。"}]},{"type":"paragraph","attrs":{"id":"63a5d1a6-5830-405d-b0af-7076aecc0512","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"启用方式"},{"type":"text","text":":"}]},{"type":"codeBlock","attrs":{"id":"a10e08ae-f629-47c2-be99-2dad6bb4c53c","language":"javascript","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"","languageByAi":"javascript"},"content":[{"type":"text","text":"# ~/.codex/config.toml\n[features]\nmulti_agent = true"}]},{"type":"paragraph","attrs":{"id":"03b2d95b-88aa-44a2-9cc1-7158b928152e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"使用场景"},{"type":"text","text":":"}]},{"type":"bulletList","attrs":{"id":"eb2bce5e-a506-4b49-a8bc-971566d80907","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"99401fa4-a168-4d7d-b587-2af0b25d6bb0"},"content":[{"type":"paragraph","attrs":{"id":"195f7b66-8ccc-49f9-8244-61ac78cc2185","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 大型项目规划(一个 agent 负责架构,一个负责实现)"}]}]},{"type":"listItem","attrs":{"id":"b332da1e-3e1a-4dde-9d24-741a97a8df93"},"content":[{"type":"paragraph","attrs":{"id":"434e50b9-8c89-4766-af22-e730c57d89ba","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 代码审查(一个 agent 写代码,一个 agent 审查)"}]}]},{"type":"listItem","attrs":{"id":"0ed76404-29bd-411a-8878-9a46ac351e6e"},"content":[{"type":"paragraph","attrs":{"id":"7055f8e1-6796-4ba2-9001-19efd3e111d1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"• 数据探索(多个 agent 并行分析不同数据源)"}]}]}]},{"type":"horizontalRule","attrs":{"id":"f8db2250-6d01-4bd8-a5a4-58abff1d33db","isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"e06ece99-a19f-4737-a43d-bc7a57cb5dea","textAlign":"inherit","indent":0,"level":2,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"bold"}],"text":"写在最后"}]},{"type":"blockquote","attrs":{"id":"0e627a65-1c6f-4ef5-adbd-7c8e05cc49e8","textAlign":"inherit","isHoverDragHandle":false},"content":[{"type":"paragraph","attrs":{"id":"52437c2a-ab92-4924-a647-b3b631ae665f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"italic"}],"text":"当你渐渐习惯了 gpt-5.3-codex 的稳准狠一击必杀,你就再也回不去了..."},{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"id":"8582b5de-5073-4a58-baa2-5c8f400321c6","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"textStyle","attrs":{"color":"","background":""}},{"type":"italic"}],"text":"codex中文站:https://codexcli-china.com"}]},{"type":"paragraph","attrs":{"id":"8919bfba-e9b0-4d23-a59b-ab554237fbee","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}}]},{"type":"paragraph","attrs":{"id":"ad1293f5-2cb0-4551-ad90-1a70e9136393","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}}]}

下一篇
举报
领券