文章目录
- [Spec Kit 在 Codex 中简单使用教程](#Spec Kit 在 Codex 中简单使用教程)
-
- [1. 准备工作(建议先检查)](#1. 准备工作(建议先检查))
- [2. 全局安装 Spec Kit CLI(`specify`)](#2. 全局安装 Spec Kit CLI(
specify)) - [3. 在项目中初始化 Spec Kit(生成模板/配置)](#3. 在项目中初始化 Spec Kit(生成模板/配置))
-
- [3.1 进入你的项目目录](#3.1 进入你的项目目录)
- [3.2 初始化 Spec Kit(面向 Codex)](#3.2 初始化 Spec Kit(面向 Codex))
- [3.3 可能需要代理(网络问题)](#3.3 可能需要代理(网络问题))
- [4. (可选)配置 `CODEX_HOME`(让 Codex 读取正确的配置/技能)](#4. (可选)配置
CODEX_HOME(让 Codex 读取正确的配置/技能)) -
- [4.1 `CODEX_HOME` 是什么?](#4.1
CODEX_HOME是什么?) - [4.2 推荐:只在当前终端会话临时设置(更安全)](#4.2 推荐:只在当前终端会话临时设置(更安全))
- [4.3 持久化:写入用户环境变量(慎用)](#4.3 持久化:写入用户环境变量(慎用))
- [4.1 `CODEX_HOME` 是什么?](#4.1
- [5. 在 VS Code / Codex 中触发 Spec Kit 命令](#5. 在 VS Code / Codex 中触发 Spec Kit 命令)
-
- [5.1 用 `/` 调出可用命令](#5.1 用
/调出可用命令) - [5.2 示例:`/speckit.constitution`](#5.2 示例:
/speckit.constitution) - [5.3 关于 `constitution.md` 被覆盖的风险(重点)](#5.3 关于
constitution.md被覆盖的风险(重点))
- [5.1 用 `/` 调出可用命令](#5.1 用
- [6. 常见问题与解决方案](#6. 常见问题与解决方案)
-
- [6.1 设置 `CODEX_HOME` 后,`codex` 又要求登录了](#6.1 设置
CODEX_HOME后,codex又要求登录了) - [6.2 Git 提交时不要把 `.codex` 带进仓库](#6.2 Git 提交时不要把
.codex带进仓库)
- [6.1 设置 `CODEX_HOME` 后,`codex` 又要求登录了](#6.1 设置
- [7. 术语解释](#7. 术语解释)
Spec Kit 在 Codex 中简单使用教程
目标:用 Spec Kit(
specifyCLI) 在 Codex 里快速初始化项目规范(例如constitution.md),并在 VS Code / Codex 里通过/命令高效生成与维护规范内容。
GitHub 项目地址:
https://github.com/github/spec-kit/tree/main
1. 准备工作(建议先检查)
开始前,建议确认你已经具备以下工具(至少前两个):
git:用于从 GitHub 安装uv:用于安装/管理 CLI 工具(本文用它来安装specify-cli)codex(或 VS Code 的 Codex):用于在编辑器/终端里调用 Spec Kit 相关命令(例如/speckit.constitution)
可直接执行的检查命令:
powershell
git --version
uv --version
codex --version
说明:
- 如果你的环境里还没有
codex命令,也不影响先完成 Spec Kit 的安装与初始化;只是后续的/...命令演示需要在 VS Code / Codex 中操作。
2. 全局安装 Spec Kit CLI(specify)
一次安装,随处使用:
powershell
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
安装完成后,建议验证 specify 已可用:
powershell
specify --help
3. 在项目中初始化 Spec Kit(生成模板/配置)
3.1 进入你的项目目录
powershell
cd D:\path\to\your-project
3.2 初始化 Spec Kit(面向 Codex)
在项目根目录执行:
powershell
specify init . --ai codex
初始化后会生成/更新一些文件(包含 constitution.md 等)。
注意:
- 重复执行
specify init可能覆盖已有模板文件。如果你已经手工改过这些文件,建议先提交到 Git 或备份再执行。
对应截图:


3.3 可能需要代理(网络问题)
如果安装或初始化过程中出现无法访问 GitHub、下载失败等情况,通常与网络/代理有关。你可以先确保:
- 你的 Git/终端可以访问
github.com - 如果公司网络需要代理,先在系统/终端配置好代理再重试
4. (可选)配置 CODEX_HOME(让 Codex 读取正确的配置/技能)
这一节的核心结论是:
- 默认情况下你不一定需要设置
CODEX_HOME。 - 只有当你想"切换到另一套 Codex 配置目录"(例如多套账号/多套 Skills/不同环境)时,才建议设置它。
4.1 CODEX_HOME 是什么?
CODEX_HOME 是 Codex 用来定位配置目录的环境变量。设置后,Codex 会从该目录读取/写入配置(例如 config.toml、auth.json 等)。
这也意味着:一旦你把 CODEX_HOME 指向了新的目录,Codex 就不再使用默认目录下的登录与供应商配置,可能会出现"重新登录"的现象(见第 5.1 节)。
4.2 推荐:只在当前终端会话临时设置(更安全)
临时设置只对当前 PowerShell 窗口生效,关闭窗口后自动失效,最不容易影响其它工具(比如你提到的 CC-Switch)。
把路径替换成你想使用的 Codex 配置目录(示例路径仅用于演示):
powershell
$env:CODEX_HOME = "D:\path\to\.codex"
验证:
powershell
echo $env:CODEX_HOME
4.3 持久化:写入用户环境变量(慎用)
如果你希望所有新开的终端都生效,可以用 setx 写入用户环境变量(注意:只对新开终端生效)。
powershell
setx CODEX_HOME "D:\path\to\.codex"
5. 在 VS Code / Codex 中触发 Spec Kit 命令
5.1 用 / 调出可用命令
在 VS Code 的 Codex 面板中输入 /,通常可以调出可用命令列表(以你的插件版本/配置为准)。

5.2 示例:/speckit.constitution
运行 /speckit.constitution 后,会根据你在对话里的输入生成/更新一份新的 constitution.md(或对应的规范文件)。
截图示例:



5.3 关于 constitution.md 被覆盖的风险(重点)
constitution.md初始通常是一份模板- 再次执行
specify init可能会重新生成并覆盖它 /speckit.constitution会根据你输入的需求生成新的规范内容
建议工作流:
- 先运行一次
specify init . --ai codex生成模板 - 再通过
/speckit.constitution逐步完善规范 - 不要频繁重复
specify init(除非你明确知道会覆盖哪些文件)
6. 常见问题与解决方案
6.1 设置 CODEX_HOME 后,codex 又要求登录了
现象:

原因(简单说):
- 你的登录信息/供应商配置通常保存在默认目录(例如
C:\Users\<你的用户名>\.codex)下的config.toml、auth.json等文件里。 - 当你把
CODEX_HOME指到新目录时,新目录里没有这些文件,Codex 会认为是"新环境",因此提示重新登录。
解决方式(两种选一种):
方式 A:把旧配置复制到新的 CODEX_HOME
- 找到默认配置目录(把
admin换成你自己的 Windows 用户名):C:\Users\<你的用户名>\.codex
- 将
auth.json、config.toml复制到你设置的CODEX_HOME目录下

注意:
- 如果你之前是通过 CC-Switch 来管理供应商配置,复制配置文件到新目录可能会让 CC-Switch 的修改"看起来不生效"(因为它可能仍在改默认目录下的配置)。
- 这时你需要二选一:
- 让 CC-Switch 也指向同一个
CODEX_HOME(如果它支持) - 或者不要持久化设置
CODEX_HOME,改用临时$env:CODEX_HOME用完就关
- 让 CC-Switch 也指向同一个
方式 B:用完 Spec Kit 后取消 CODEX_HOME
只取消当前会话(PowerShell):
powershell
Remove-Item Env:CODEX_HOME -ErrorAction SilentlyContinue
如果你之前用 setx 做了持久化,需要到系统环境变量里删除,或者把它改成你希望的路径。
6.2 Git 提交时不要把 .codex 带进仓库
如果你把 CODEX_HOME 放在项目目录内(例如项目根下的 .codex),建议在仓库的 .gitignore 中加入:
gitignore
.codex/
这样不会把个人的登录信息、配置文件提交到远程仓库。
7. 术语解释
- Spec Kit:GitHub 的一个规范化工具/模板体系,用来帮助项目生成并维护工程规范、需求文档等。
specify-cli/specify:Spec Kit 的 CLI 工具包名与命令名(本文用uv tool install安装)。- Codex:用于与模型交互并执行工具/命令的客户端(可在终端或 VS Code 中使用)。
CODEX_HOME:Codex 的配置目录环境变量;设置后会改变 Codex 读取配置(如登录、供应商、命令)的路径。config.toml/auth.json:Codex 常见的配置/认证文件(具体内容因版本/安装方式不同而异)。- CC-Switch:用于管理"供应商/配置切换"的工具或机制(文中按原文称呼保留)。
- 中转版 Codex:常见指通过第三方或中转服务接入不同模型供应商的用法/配置方式统称。
constitution.md:项目规范/章程类文档(模板 + 生成内容),用于约束模型在项目里的行为与输出风格。- 代理(Proxy):用于解决网络无法直连 GitHub 时的访问问题(公司网络/特殊网络环境常见)。