Linux云端文档读写必看:Codex插件实战教程
想象一下,你正在Linux服务器上跑着一个自动化脚本,需要读取Google Drive里的一份实验报告。传统做法是什么?先下载到本地,处理完,再上传回去——繁琐不说,还容易搞乱版本。今天要聊的Codex CLI+Google Drive插件方案,就是用来干掉这个冗余步骤的。它能让Codex直接读写云端文档,尤其适合批量处理科研报告、自动归档会议纪要,或者实时同步项目文档——省下来的可不止是那几分钟手动的功夫。
前提:确认Codex CLI已安装并可运行
那么,先确认你的环境是否就绪?直接敲一句codex --version,如果看到一个版本号(比如v0.12.3),恭喜,基础环境OK。如果报错"command not found",那就得先完成Codex终端CLI的安装——根据你的Linux发行版,执行对应的Node.js安装命令,再跑npm install -g codex-cli全局安装。
这一步千万别跳过,也别想着偷懒。Codex的插件机制依赖CLI底层通信——CLI没装好,后面所有插件配置都无法注册到运行时上下文。说白点,就是连门都进不去。
安装Google Drive插件(仅限Codex v0.11.0+)
两种安装方式,随你选。
方法一:通过Codex内置插件市场安装
直接在终端里执行:codex plugin install google-drive。这条命令会自动拉取最新兼容版本的插件包,并注入到Codex的插件注册表里。简单、省心。
方法二:手动安装指定版本
更适合内网环境,或者需要锁定版本的场景。步骤:下载插件压缩包(比如codex-google-drive-v0.4.2.tgz)→ 解压到~/.codex/plugins/目录 → 确认manifest.json存在且entrypoint字段指向index.js → 执行codex plugin reload触发重新扫描。
需要特别强调一点:插件ID必须为"google-drive"。这不是随便起的名字——Codex识别驱动器能力依赖硬编码ID,你改了名或者用了别名,权限申请会失败,认证流程也会在中途断掉。这是踩过坑的人的血泪教训。
配置Google OAuth 2.0凭据
接下来是配置环节,分为三步:
第一步:访问Google Cloud Console → 新建项目(或选择已有项目)→ 启用Google Drive API。
第二步:创建OAuth凭据 → 应用类型选"桌面应用" → 设置重定向URI为http://localhost:8080/callback → 下载生成的credentials.json文件。
第三步:把credentials.json保存到~/.codex/plugins/google-drive/目录,重命名为client_secret.json。Codex插件启动时,会严格查找这个路径和文件名——差一个字都不行。
这里有个容易踩的坑:如果重定向URI填错了(比如用了https,或者端口不是8080),授权页面会显示"Error 400: redirect_uri_mismatch"。解决办法只能是回控制台修改,然后重新下载凭据文件。
首次授权并绑定账户
执行codex drive auth命令。
终端会打印一个本地监听地址(比如http://localhost:8080),并自动打开浏览器。如果没自动打开,手动粘贴这个地址就行。
页面加载后,点击"允许",Google会返回一个授权码。Codex CLI捕获这个码后,自动向Google请求access_token和refresh_token,并安全存入~/.codex/plugins/google-drive/token.json。
这一步完成后,token.json就是你的长期凭证了。只要不主动执行codex drive revoke,后续所有读写操作都无需再次扫码或登录——一劳永逸。
读取云端文档内容
执行codex drive read "实验报告Q2.md",Codex就会按名称精确匹配Google Drive根目录下的同名文件。注意:匹配是区分大小写的,"Demo.md"和"demo.md"是两回事。
如果文件藏在子文件夹里,路径格式要写成"项目/周报/6月15日.md"。斜杠必须用英文半角,整个路径用双引号包裹。这是标准写法,别搞成反斜杠。
读取成功后,内容会直接输出到终端stdout。配合管道操作可以继续处理:codex drive read "README.md" | grep "version"——直接在终端里完成文本过滤,流畅得一批。
写入或更新文档到Drive
两种写入方式,看你场景选:
方法一:覆盖写入 — 推荐用于脚本自动化
执行codex drive write "notes.txt" --content "今日会议结论:1. 接口协议升级;2. 文档模板更新。"。如果文件已存在,内容会被完全替换;如果不存在,则会新建一个。
方法二:追加写入 — 适用于日志类场景
执行codex drive append "log.md" --content "$(date +%Y-%m-%d):任务执行完成"。这个操作只在文件末尾添加新行,不会改动原有内容。对于持续记录日志或累积数据来说,非常实用。
最后提醒一句:写入目标必须是纯文本文件。Codex当前插件不支持直接写入.docx、.xlsx等二进制格式。尝试写入会返回HTTP 400错误,响应体是空的。如果想处理这类文件,还是得走传统的下载-处理-上传流程,但话说回来,那已经不是你本文关注的重点了。
