本文主要探讨linux上使用vscode调用codex编码,或者使用codex cli编码,本文使用的模型是deepseek-v4-flash。
环境
虚拟环境:vmware16 pro
系统:ubuntu24.04桌面版
安装步骤
#安装codex
sudo apt-get update && sudo apt install npm nodejs git -y
npm config set registry https://registry.npmmirror.com
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
npm install -g @openai/codex
codex --version
验证codex安装成功

#配置deepseek模型
#浏览器打开platform.deepseek.com,创建api key并复制key,充值额度
#key名称:sk-********************************
#查询模型id
curl -s https://api.deepseek.com/v1/models \
-H "Authorization: Bearer key名称" | jq -r '.data[].id'
#model修改为查询的模型id
#普通用户和root用户都需配置codex/config.toml
vim ~/.codex/config.toml
model = "deepseek-v4-pro"
model_provider = "deepseek"
preferred_auth_method = "apikey"
[model_providers.deepseek]
name = "DeepSeek"
base_url = "https://api.deepseek.com/v1"
experimental_bearer_token = "key名称"
wire_api = "responses"
#验证连接成功(dir为你的workspace目录)
codex dir
#输入 /status 查看模型调用成功
#普通用户使用codex cli(dir为你的workspace目录)
vim ~/.bashrc
alias codex_no_sandbox='codex --sandbox danger-full-access --ask-for-approval never'
source ~/.bashrc
codex_no_sandbox dir
#root用户使用codex cli(dir为你的workspace目录)
codex dir
模型id查询(配置其中一个)

查看普通用户配置

查看root用户配置

普通用户连接

root用户连接

验证连接成功

验证普通用户codex cli编码



验证root用户codex cli编码



#安装vscode
#snap安装的vscode有严格权限,root不能使用。卸载不影响之前插件和配置
sudo snap remove code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/packages.microsoft.gpg
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt update && sudo apt install -y code
#安装vscode中的codex插件(openai)
验证code安装和codex插件安装

#vscode调用codex
#普通用户用vscode调用codex(dir为你的workspace目录)
code dir
#打开后,等右边codex打开后,选择当前模型,根据引导设置api key,可对话coding
#root用户用vscode调用codex(dir为你的workspace目录)
验证普通用户用vscode调用codex进行coding



#root用户用vscode调用codex(dir为你的workspace目录)
#配置root登录
vim /etc/pam.d/gdm-autologin
vim /etc/pam.d/gdm-password
#注释带掉 #auth required pam_succeed_if.so user != root quiet_success
vim /etc/ssh/sshd_config
#添加PremitRootLogin yes
systemctl restart sshd
#添加root的vscode配置(将原来普通用户下的配置拷贝到root用户)
sudo mkdir -p /root/.vscode /root/.config
sudo cp -r ~/.vscode/extensions /root/.vscode/
sudo cp -r ~/.config/Code /root/.config/
sudo chown -R root:root /root/.vscode /root/.config/Code
#root直接登录ubuntu,不能通过普通用户跳转。切用户时环境会被重置------DISPLAY和XDG_SESSION_TYPE 环境变量,导致图形程序找不到显示器
vim code_root.sh
#添加启动指令,root运行code必须在沙箱中 code --no-sandbox --user-data-dir=/root/.vscode-data $*
chmod +x code_root.sh
./code_root.sh dir
#打开后,等右边codex打开后,选择当前模型,根据引导设置api key,可对话coding
验证root登录

验证root运行code以及配置和插件

验证root用户用vscode调用codex进行coding


