笔记
0工具
0此页用于记录用户反馈问题后的每一次改进
关于
“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
不想公开、只想临时给人看:点“分享”生成一条带密码和有效期的链接,到期自动失效,你也能随时撤销。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
趋势
Codex with ChatGPT:让ChatGPT做大脑,Codex当双手的AI结对编程神器
一个将ChatGPT的规划能力与Codex的执行能力结合的AI编程工具,实现真正的思考-编码分离协作。
项目定位:为什么需要这个项目?
在AI辅助编程的浪潮中,我们面临一个尴尬的现状:
- ChatGPT(尤其是GPT-4系列)拥有极强的代码理解、架构设计和问题拆解能力,但它无法直接在你的终端里执行命令、修改文件、运行测试。你只能复制粘贴,来回切换上下文,效率大打折扣。
- OpenAI Codex CLI(或Codex harness)是一个终端原生的编码代理,它能读写文件、执行shell命令、运行测试,但它的“思考”能力相对较弱——它更像一个勤奋但缺乏战略眼光的执行者,容易在复杂任务中迷失方向,或者做出短视的决策。
Codex with ChatGPT 正是为了解决这个割裂而生。它创建了一个双智能体协作架构:
- ChatGPT 作为“规划大脑”(Planner),负责理解用户需求、拆解任务、设计技术方案、生成步骤清单。
- Codex 作为“执行双手”(Worker),严格按照ChatGPT给出的计划,在本地环境中逐步执行:创建文件、修改代码、运行命令、验证结果。
这就像让一位资深架构师(ChatGPT)和一位高效的工程师(Codex)结对编程。架构师不碰键盘,但给出精确的蓝图;工程师不思考大局,但保证每一次落笔都精准无误。
核心痛点:现有AI编程工具的短板
1. 纯ChatGPT的痛点
- 上下文断裂:每次复制代码到ChatGPT,再复制回来,上下文丢失严重。
- 无法执行:ChatGPT不知道你的环境变量、依赖版本、编译错误,它只能“猜”。
- 缺乏反馈循环:代码出错后,你需要手动把错误信息贴回去,再等它修正,循环极慢。
2. 纯Codex的痛点
- 规划能力弱:面对“重构整个模块”或“实现一个新功能”这类复杂任务,Codex容易陷入局部优化,忽略全局架构。
- 缺乏高层抽象:它倾向于直接写代码,而不是先想清楚数据结构、接口设计、边界条件。
- 难以处理模糊需求:如果用户说“让这个应用更快”,Codex可能只会改几个循环,而不会想到缓存策略、数据库索引或异步化改造。
3. 现有“双模型”方案的痛点
有些方案尝试在同一进程中交替调用GPT和Codex,但存在两个问题:
- 上下文共享混乱:两个模型共享同一对话历史,导致ChatGPT的“思考”和Codex的“行动”混杂在一起,容易产生幻觉。
- 缺乏结构化交接:没有明确的“计划-执行-反馈”协议,往往ChatGPT说一套,Codex做另一套。
项目架构与工作原理
整体流程
用户输入需求
↓
[ChatGPT Planner] —— 生成结构化任务清单(JSON格式)
↓
[Codex Worker] —— 逐条执行任务,调用本地工具(文件读写、shell命令)
↓
[执行结果反馈] —— 错误信息、测试输出、git diff 回传给ChatGPT
↓
[ChatGPT 再规划] —— 根据反馈调整计划,进入下一轮迭代
关键技术点
任务清单协议:ChatGPT输出的是严格的JSON数组,每个元素包含
action(如write_file、run_command、edit_file)、path、content或command等字段。这种结构化设计避免了自然语言带来的歧义。双向上下文管理:ChatGPT只看到“计划”和“反馈”,不直接接触Codex的原始输出;Codex只收到“具体指令”,不接触用户的高层意图。这种隔离防止了模型间的相互干扰。
错误回传机制:当Codex执行失败时,项目会将完整的错误堆栈、退出码、当前工作目录信息打包,作为新的上下文发送给ChatGPT,让它能基于实际环境重新规划。
增量执行:Codex每完成一个任务项,就会暂停并等待下一项指令,而不是一次性执行完所有计划。这允许ChatGPT在中间介入调整方向。
安装与快速上手
环境要求
- Node.js 18+(项目使用TypeScript编写)
- 已安装并配置好OpenAI CLI(
codex命令可用) - 有效的OpenAI API Key(同时支持ChatGPT API和Codex API)
安装步骤
bash
1. 克隆仓库
git clone https://github.com/XiaoDuoYa/codex-with-chatgpt.git
cd codex-with-chatgpt
2. 安装依赖
npm install
3. 配置环境变量
cp .env.example .env
编辑 .env,填入:
OPENAI_API_KEY=你的API密钥
OPENAI_MODEL=gpt-4-turbo-preview (或你使用的模型)
4. 构建项目
npm run build
5. 运行(以交互模式为例)
npm start
代码示例:一个实际任务
假设你想让AI帮你重构一个Python脚本,使其支持并发下载。
bash
$ npm start
请输入你的需求:
重构 download.py,将原来的串行下载改为使用 asyncio 并发下载,并添加重试机制。
[ChatGPT Planner] 正在分析需求...
计划生成:
- 读取当前 download.py 的内容
- 分析现有代码结构,识别串行下载部分
- 设计新的并发架构(asyncio + aiohttp)
- 重写文件,保留原有函数签名
- 添加重试逻辑(指数退避)
- 运行测试验证
[Codex Worker] 正在执行任务 1/6:读取文件...
✓ 已读取 download.py(120行)
[Codex Worker] 正在执行任务 2/6:分析代码...
✓ 识别出 3 处串行下载点
[Codex Worker] 正在执行任务 3/6:设计新架构...
[ChatGPT Planner] 收到架构建议,确认方案...
[Codex Worker] 正在执行任务 4/6:重写文件...
✓ 已生成新版本(145行)
[Codex Worker] 正在执行任务 5/6:添加重试逻辑...
✓ 已添加 retry 装饰器
[Codex Worker] 正在执行任务 6/6:运行测试...
✗ 测试失败:async 函数中使用了同步 requests 库
[ChatGPT Planner] 分析错误,调整计划...
新计划:
- 将 requests 替换为 aiohttp
- 修改所有 await 调用点
[Codex Worker] 执行修正...
✓ 测试通过(2个用例)
任务完成!最终代码已保存。
核心亮点深度解析
1. 真正的“思考-执行”分离
这不是简单的“两个模型串联”,而是通过严格的协议层实现了角色隔离。ChatGPT永远不会直接操作文件系统,Codex永远不会收到模糊的自然语言需求。这种设计带来了三个直接好处:
- 减少幻觉:ChatGPT不会因为“猜测”文件内容而编造代码,它只能基于Codex回传的真实内容做规划。
- 提高可解释性:每一步都有明确的“计划-执行-验证”记录,你可以随时介入,查看当前AI在做什么,为什么这么做。
- 方便调试:如果AI走偏了,你可以只修改ChatGPT的计划,而不需要重新生成整个执行过程。
2. 自适应错误处理
传统的AI编程工具遇到错误时,要么直接失败,要么尝试“硬改”。本项目实现了闭环反馈:
- 当Codex执行失败,错误信息会作为新的输入发送给ChatGPT。
- ChatGPT会重新审视计划,可能改变策略、调整参数、甚至推翻之前的方案。
- 这种“从失败中学习”的能力,使得它能够处理多轮迭代的复杂任务,而不是一次性的代码生成。
3. 轻量级且可定制
项目本身只有约2000行TypeScript代码,没有复杂的框架依赖。这意味着:
- 你可以轻松阅读源码,理解其工作原理。
- 你可以修改协议(比如增加新的action类型),扩展其能力。
- 你可以替换底层的“Planner”或“Worker”,比如用Claude替代ChatGPT,或者用其他编码代理替代Codex。
4. 透明的成本控制
由于每次调用都明确区分了“规划”和“执行”,你可以精确控制API调用次数。例如:
- 对于简单任务,可以跳过ChatGPT规划,直接让Codex执行。
- 对于复杂任务,可以限制ChatGPT的迭代轮数,防止无限循环。
适用场景
最合适的场景
- 大型代码库重构:需要理解全局架构,同时进行大量机械性修改。ChatGPT负责设计重构方案,Codex负责逐文件修改。
- 跨文件功能实现:比如“添加一个用户认证模块”,涉及后端路由、前端页面、数据库迁移、测试用例。ChatGPT规划模块间接口,Codex逐层实现。
- 技术债务清理:面对遗留系统,ChatGPT分析依赖关系,Codex执行替换和删除。
- 教学与学习:你可以观察ChatGPT如何拆解问题,Codex如何执行,学习AI的编程思维。
不太适合的场景
- 单文件小修改:直接用Codex或Copilot更快,引入这个项目反而增加开销。
- 需要强交互的调试:如果问题需要频繁人工确认(比如“这个API返回什么?”),目前的自动化流程可能不够灵活。
- 离线环境:必须依赖OpenAI API,无法完全本地化。
与同类项目对比
| 项目 | 架构 | 核心优势 | 局限性 |
|---|---|---|---|
| Codex with ChatGPT | 双模型,严格协议分离 | 规划能力强,错误反馈闭环 | 需要两个API,延迟较高 |
| OpenAI Codex CLI | 单模型 | 简单直接,执行速度快 | 复杂任务规划弱 |
| Cursor | IDE集成,多模型 | 交互体验好,上下文丰富 | 封闭生态,不易定制 |
| Aider | 单模型+Git管理 | 版本控制集成好 | 规划能力取决于底层模型 |
| AutoGPT | 多代理,自主循环 | 全自动,目标驱动 | 容易失控,成本不可控 |
关键差异:大多数工具试图让一个模型“既思考又行动”,而本项目刻意分离了这两个角色。这种设计哲学在工程上更接近“主从架构”——主控负责决策,从机负责执行,通过明确定义的接口通信。
实际使用体验与注意事项
优点体验
- 任务拆解清晰:你能看到ChatGPT是如何把“重构下载脚本”分解为6个具体步骤的,这种透明度有助于建立信任。
- 错误恢复能力强:在测试中,当Codex遇到Python版本不兼容问题,ChatGPT能快速识别并调整方案,而不是盲目重试。
需要注意的坑
- API成本:每次任务可能消耗2-5次ChatGPT调用和5-10次Codex调用,复杂任务成本更高。建议设置预算上限。
- 上下文窗口限制:ChatGPT的上下文窗口(如8K或16K token)可能不足以处理超长代码文件。项目目前没有自动截断或摘要机制,需要手动分块。
- Codex的权限控制:Codex可以执行任意shell命令,这意味着如果提示词注入恶意指令,可能有安全风险。建议在隔离的容器或虚拟机中运行。
- 版本兼容性:项目目前依赖OpenAI的特定API版本,如果API更新,可能需要手动调整。
未来展望与改进方向
从项目代码中可以看出,作者留了一些扩展点:
- 支持更多Planner:目前硬编码了ChatGPT,但接口设计可以轻松接入其他LLM。
- 支持自定义工具:Codex的action类型是开放的,可以添加
git_commit、docker_build等新动作。 - 持久化会话:目前每个任务是一次性的,未来可以保存对话状态,支持断点续跑。
总结:值得一试吗?
如果你已经熟悉Codex CLI,并且觉得它在复杂任务上“力不从心”,那么这个项目值得你花一小时尝试。它提供了一种优雅的工程化思路——不是让AI更强大,而是让多个AI各司其职,通过协议协作。这种“组合式AI”的哲学,可能是未来AI编程工具的重要方向。
当然,它目前还处于早期阶段(GitHub Stars 514),文档和社区支持有限。但作为一个技术原型,它展示的架构思想远比其当前功能更有价值。
适合人群:
- 对AI Agent架构感兴趣的开发者
- 需要处理复杂重构任务的专业程序员
- 愿意折腾开源工具的技术爱好者
不适合人群:
- 追求开箱即用的普通用户
- 对API成本敏感的个人开发者
- 需要GUI界面的非技术用户