别再硬链接了:Codex 桌面端正式支持一个项目挂多个文件夹
[{“UploadId”:”v03a62g10003d9j8i9i7dld0kbdt8ot0″,”Duration”:359.147,”SourceProvider”:”readtt”,”ContentType”:1,”Extra”:{“audio_text”:”今天我们要聊的呢是,这个 Codex 项目的多文件夹支持。嗯,就是说目前你可以更方便的去管理,不同的代码方案素材,和知识库,而不需要频繁的去切换项目或者说使用硬链接。没错没错,这个功能实则对于工作区比较分散的人来说特别有用,那我们就直接开始吧。咱们先来说一说这个多文件夹支持带来的背景和痛点吧,由于之前呢,Codex 它是只能绑定一个文件夹的嘛。那这个带来的实际使用上的麻烦是什么?以前就是你只能给一个项目绑定一个文件夹,那如果说你的代码,方案,素材,还有知识库分别在不同的地方嗯,那你要么就是开四五个项目然后不停的切。那这样的话你这个上下文就会断掉嘛。要么就是说你用一些硬链接把这些文件都凑到一个地方哦,然后你每次文件有变动的时候你都要手动去维护这些链接,超级的麻烦。说的太对了,那我们再来说说这个多文件夹支持它到底是怎么使用的,以及它的一些技术细节。嗯,那在二零二三年七月二十三号的这个更新之后啊,在 Codex 的桌面端。添加和管理多个文件夹的步骤是什么?实则很简单,就是你打开项目菜单然后点 Edit project,就可以添加文件夹了哦,你可以选择其中一个作为主文件夹,就是这么直观。那这个主文件夹和辅助文件夹在功能上面会有什么区别吗?主文件夹的话就是新的对话它会默认基于这个主文件夹来进行回答嗯。然后 git 的操作啊包括一些配置文件的自动发现都是以这个主文件夹为准的。那辅助文件夹的话就是它可以被搜索被读取被编辑哦,但是它的配置不会被自动发现,就是它只是一个补充的,让 Codex 可以去翻看和改写的一个地方。哎这个就有意思了,那多文件夹支持和项目级记忆到底是怎么结合的,嗯,对吧。就是说这个多文件夹的功能,具体是怎么把作者所推崇的这种项目级记忆的方法工程化的落地了呢?实则多文件夹它就是把项目级记忆这个思想真正的实现了,就是以前的话你可能要给每个项目去单独的建 Readme.md 和 Agents.md 哦,然后你要靠这个东西来给 Codex 规定好它的一些规范和背景信息嘛,那目前的话就是主文件夹它实则就相当于是一个锚点嗯。你可以把你的 AGENTS.md ,skills 还有 config.toml 都放在这里,然后每次新的对话它都会自动的去加载这些规范。听起来的确 是方便了不少啊,那辅助文件夹在这个里面是扮演一个什么样的角色呢?辅助文件夹就相当于你的一个参考库,你可以把你的 Obsidian 的知识库,以前的一些项目的目录啊,素材库啊都扔进去嗯,然后 Codex 它可以跨文件夹的去读取这些东西,但是它又不会去扰乱你主项目的规则哦,就是以前的话你可能要在不同的项目里面切来切去,目前的话就是你所有的这些参考资料和你的主锚点都是在同一个项目下面,然后你新的对话它就会自动的去带上这些规范,同时你又可以很方便的去引用以前的一些内容。真是太实用了,那我们目前就来举一个实际的例子,嗯,列如说你是一个内容创作者,那你在使用这个多文件夹的结构的时候,具体会怎么来设置主文件夹和辅助文件夹?然后 Codex 又是怎么来利用这些不同的文件夹里面的内容的?列如说我是做内容创业的,那我的主文件夹可能就是叫做 content studio,然后里面会放我的代码,脚本,以及 AGENTS.md,那在这个 AGENTS.md 里面我可能就会写上去,要去 AI 腔,要先验证后创作这样的一个写作规范嗯。然后我的第一个辅助文件夹我可能会放我的 obsidian vault,就是我的选题库和我踩坑的一些笔记。第二个辅助文件夹我就放我已经发表过的文章和我可以复用的一些模板哦,那我在写一个新的稿件的时候,Codex 它就会自动的去读取我主文件夹里面的这个规范。同时它也可以在我写的过程当中去参考我以前的这些文章,这些笔记,然后它甚至可以提示我说,哎,这里可以用你之前的 X 模板嗯,但是它又不会把我主项目里面的这些规则给搞乱。这样啊,那我还有个问题,就是多文件夹使用的时候有哪些限制或者说有哪些要注意的地方?嗯,在实际使用当中,多仓库和多文件夹的这种配置,会有哪些技术上面的限制或者说操作上面大家可能会踩坑的点?第一个就是你别看有 272K 的窗口大小嗯,但是你如果挂了太多的仓库,太多的文件夹一下子读进去的话,上下文的 token 可能一下就爆掉了,就是你还没有开始写代码可能就已经没有窗口了哦,所以就是文件夹不要一股脑全挂上。好的,那除了这个 token 爆掉的问题,还有没有什么其他的比较容易被忽视的一些细节?有啊,列如说你的 diff 它只会显示主文件夹的变化嗯,那辅助文件夹的修改你是看不到的在这个面板里面,你得手动的去每个仓库里面去看 git diff。然后还有就是.git 它是只读的,就是你没有办法直接跨仓库去提交哦,你得一个一个仓库的去单独 commit,对,然后主文件夹你只能有一个,你没有办法说我有多层主文件夹或者说我有多个 AGENTS.md 它会自动发现,没有这种哦,然后还有就是在桌面端的话所有的文件夹它的权限都是一样的嗯,你没有办法说我单独给某一个设成只读或者怎么样,你要去命令行里面通过 writable roots 去设置。清楚了,那最后我们来说说这个多文件夹的使用提议和总结啊,嗯,就是作者对于多文件夹的使用场景,或者说重构工作流有什么具体的提议吗?实则作者是提议大家把那些你本来是用硬链接或者说你要频繁的切换项目的这样的一些工作场景嗯。重构一下,变成一个主文件夹加上几个辅助文件夹这样的一个结构,然后把你那些分散的文件都统一的管起来哦,这样的话你的项目的锚点会很清晰,然后你相关的一些参考文件也都超级容易找到。好的,今天我们主要聊了 Codex 的多文件夹支持,它是怎么协助我们更高效的去组织和访问我们项目的各种资源和参考资料的。行,那本期节目就到这里了,感谢大家的收听,然后咱们下次再见,拜拜拜拜。”,”tts_meta_addr”:”https://tosv.byted.org/obj/tos-tingtoutiao/ai_podcast_meta/7666456982127149568_0.json”,”voice_type”:”sami_ai_podcast”}}]