OpenAI Codex整合Z.ai GLM-4.6编程

530 阅读3分钟

背景

     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

GLM-4.6 是由中国 AI 公司智谱 AI(Zhipu AI,现品牌为 Z.ai)于2025年9月下旬发布的最新一代开源大语言模型(LLM)。该模型在性能上显著超越了其前代 GLM-4.5,并特别专注于提升真实场景的代码能力、长文本处理、工具调用以及作为 AI 智能体(Agent)的应用潜力

image.png

集成步骤

如何开始

  1. 安装

npm install -g @openai/codex

或用 Homebrew:


brew install codex

  1. 配置

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上配置类似

image.png

config.toml

image.png

  1. 测试

配置完成后,可直接指定 profile 启动:


codex --profile glm_4_6

这样 Codex 就会用 z.ai 提供的 GLM 4.6 模型开始工作。

测试

初始化

/init

image.png

/status

image.png

选择完全授权Full Access

image.png

我们初始化后,他创建了 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

github.com/openai/code…