背景
OpenAI Codex 是一个由 OpenAI 开发的人工智能模型,它能够理解自然语言(比如中文、英文)指令,并将其实时翻译成可工作的计算机代码。简单来说,你用日常语言告诉它你想要实现什么功能,它就能为你写出代码。
技术基础: Codex 是基于 OpenAI 的 GPT-3(生成式预训练变换模型)系列模型进行微调的。它在海量的公开代码库(尤其是 GitHub 上的代码)和自然语言文本上进行了专门训练,因此它不仅掌握了语言规律,还深刻理解了编程语言的语法、结构和常用模式。
主要功能与应用:
- 代码生成:最核心的功能。例如,你可以告诉它“创建一个Python函数,计算两个日期之间的天数”,它会直接生成相应的代码。
- 代码补全与建议:在你编写代码时,它可以像一个经验丰富的“结对程序员”一样,为你提供下一行或下一段代码的建议。
- 代码解释:你可以给它一段复杂的代码,让它用自然语言解释这段代码的功能和逻辑。
- 代码重构与优化:帮助你改进现有代码,比如提高效率或修改bug。
- 语言翻译:可以在不同编程语言之间进行转换,例如将一段 Python 代码转换为 JavaScript 代码。
与 GitHub Copilot 的关系: Codex 是驱动 GitHub Copilot(GitHub 与 OpenAI 合作推出的AI编程辅助工具)的核心技术。GitHub Copilot 作为插件集成在 VS Code 等主流代码编辑器中,为开发者提供实时的代码建议,极大地提高了编程效率。
GLM-4.6 是由中国 AI 公司智谱 AI(Zhipu AI,现品牌为 Z.ai)于2025年9月下旬发布的最新一代开源大语言模型(LLM)。该模型在性能上显著超越了其前代 GLM-4.5,并特别专注于提升真实场景的代码能力、长文本处理、工具调用以及作为 AI 智能体(Agent)的应用潜力。
集成步骤
如何开始
- 安装
npm install -g @openai/codex
或用 Homebrew:
brew install codex
- 配置
Codex 把配置保存在 ~/.codex/config.toml。
配置 z.ai 模型提供商
先新建一个 z.ai 提供商。z.ai 提供与 OpenAI 兼容的 API,这是使用自定义模型的前提。
在配置文件里添加:
[model_providers.z_ai]
# 在 Codex 界面里显示的名称
name = "z.ai - GLM Coding Plan"
# 实际请求时会在该 URL 后追加 /chat/completions
base_url = "https://api.z.ai/api/coding/paas/v4"
env_key = "Z_AI_API_KEY"
记得在 shell 里导出 Z_AI_API_KEY 环境变量。
创建 GLM 4.6 模型配置
接着给要用的模型建一个 profile:
[profiles.glm_4_6]
model = "glm-4.6"
model_provider = "z_ai"
其实就是把模型名和刚才的提供商对应起来。 Windows上配置类似
config.toml
- 测试
配置完成后,可直接指定 profile 启动:
codex --profile glm_4_6
这样 Codex 就会用 z.ai 提供的 GLM 4.6 模型开始工作。
测试
初始化
/init
/status
选择完全授权Full Access
我们初始化后,他创建了 AGENTS.md, 内容如下
# Repository Guidelines
## Project Structure & Module Organization
- Source code: `src/main/java/org/jkee/gtree/`
- Test code: `src/test/java/org/jkee/gtree/`
- Examples: `src/test/java/org/jkee/gtree/examples/`
- Core classes: `Tree.java`, `Forest.java`, `TreeLike.java`
- Builders: `src/main/java/org/jkee/gtree/builder/`
- Iterators: `src/main/java/org/jkee/gtree/iterator/`
## Build, Test, and Development Commands
- `mvn compile`: Compile Java source code to target/classes
- `mvn test`: Run JUnit tests
- `mvn package`: Build JAR with dependencies
- `mvn source:jar`: Generate source JAR for distribution
- `mvn install`: Install to local Maven repository
## Coding Style & Naming Conventions
- Java 8 compatibility with standard Maven compiler plugin
- Package structure: `org.jkee.gtree.*` for core classes
- Class names: PascalCase (e.g., `Tree`, `Forest`, `TreeLike`)
- Method names: camelCase with descriptive names (e.g., `buildTree`, `addChild`)
- Use Google Guava for collections and functional programming utilities
- Follow functional programming approach with immutable operations where possible
## Testing Guidelines
- Framework: JUnit 4.12
- Test classes: Named after target class with Test suffix (e.g., TreeTest)
- Test methods: camelCase prefixed with 'test' (e.g., testFilter, testMap)
- Use @Before for setup and @Test for test methods
- Provide example usage in src/test/java/org/jkee/gtree/examples/
- Test both tree traversal methods: depth-first and breadth-first
## Commit & Pull Request Guidelines
- Commit messages: Use present tense and be descriptive
- Maven deployment configured for releases to internal repository
- Version format: Semantic versioning with SNAPSHOT suffix for development
- License: Apache Software License Version 2.0
Reference