AI部署笔记

# AI工具 ## 文本对话框 这是最早的AI工具, 通过网页对话来排查问题等 ## IDE插件 通过IDE里面的插件, 来框选代码, 修改问题, 分析问题等 ## 助手 直接在电脑本地跑软件, 直接给指令, 他就会完成你给的任务 ## 使用思路 截至20260713, 目前主流的助手叫agent, 有codex, claude之类的 还有一种叫CLI的终端操作的助手, 跟agent差不多, 只是把操作界面变成了终端, 适合在服务器上部署 ## 分类 agent和CLI属于驱壳, qwen-max这种属于大脑 ## 选型1 之前同事推荐claude, 断档第一, 但是目前claude对国区封锁很严重, 折腾很麻烦 ## 选型2 后来想用openai的codex原生模型GPT系列的, 对国内支持也不错 但是在付款的时候失败了, 不知道为什么, 没有给原因, 可能是付款方式等导致的, 后面弄一些苹果账户的礼品卡试试 ## 选型3 目前当务之急是选一个临时凑合用的, 我就选了codex+qwen # 安装过程 ## codex+原生 首先安装codex, 一条指令搞定 ``` npm install -g @openai/codex@latest ``` 确保node是22+, 但是好像20也没事 在~/.env的地方添加了一些代理信息, 使其有魔法 ``` HTTP_PROXY="socks5://127.0.0.1:1080" HTTPS_PROXY="socks5://127.0.0.1:1080" ALL_PROXY="socks5://127.0.0.1:1080" NO_PROXY="localhost,127.0.0.1,::1" ``` 我试了codex+原生, 他提示我没有额度, 应该是访问成功了, 只是没有额度, 后面卡在了付款上面, 就不折腾了 ## codex+qwen 后来尝试用qwen模型, 把相关配置设置一下 ``` model = "qwen3.7-max" model_provider = "dashscope" sandbox_mode = "workspace-write" approval_policy = "on-request" web_search = "disabled" DASHSCOPE_API_KEY="XXX" [model_providers.dashscope] name = "阿里云百炼" base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1" env_key = "DASHSCOPE_API_KEY" wire_api = "responses" [tui.model_availability_nux] "gpt-5.5" = 4 "gpt-5.6-sol" = 4 ``` 后来一直弄, 都弄不好, 一直报这个错误: ``` ⚠ Model metadata for `qwen3.7-max` not found. Defaulting to fallback metadata; this can degrade performance and cause issues. ■ stream disconnected before completion: error sending request for url (https://dashscope.aliyuncs.com/compatible-mode/v1/responses) ``` 排查了很多方向, 例如: ### node版本 怀疑是版本太老, 结果老版本也没问题 ### 怀疑qwen不支持responses 在对话框问千问, 他说目前模型不支持responses, 需要改为chat 但是codex早就不支持chat模式了, 肯定不能这样改, 但是千问模型一直让我往这个方向改, 甚至还让我装一个环境让chat转化为responses, 一直鬼打墙, 很蠢 我去浏览器问chatgpt, 他不说结论, 而是让我提供各种信息, 他会自己分析是什么情况, 他让我试一下以下这个指令, 如果成功的话, 就代表是支持的 ``` curl https://dashscope.aliyuncs.com/compatible-mode/v1/responses -H "Authorization: Bearer $DASHSCOPE_API_KEY" -H "Content-Type:application/json" -d '{"model":"qwen3.7-max","input":"你好"}' ``` 结果成功了, 代表不是模式的原因 (顺便由此可见, 国内外的模型差的不是一点半点, 国内的模型总是鬼打墙, 搜索的资料都是国内的垃圾信息) ### 关于not found报错 后来我上网搜到一个链接, [codex+qwen的教程](https://www.cnblogs.com/youring2/p/20143850), 根据这个链接, 帮我们排除了一些问题: 1. not found报错只是警告, 无所谓 2. codex+qwen是行得通的 ### 回退codex版本 根据上面的链接, chatgpt让我回退codex版本试一下 ``` npm install -g @openai/codex@0.133.0 ``` 结果还是不行 ### 代理 因为我依稀记得自己设置了一些代理, 但是时隔太久没什么印象, 让chatgpt往这方面排查一下, 他让我在运行codex报错的时候监控网络状态 ``` strace -f -e trace=execve,connect codex exec "hello" ``` 打印内容我看到了关键的127.0.0.1:1080的信息, 确实是走了代理 ``` [pid 32253] +++ exited with 0 +++ [pid 32252] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=32253, si_uid=1000, si_status=0, si_utime=0, si_stime=0} --- [pid 32232] connect(5, {sa_family=AF_INET, sin_port=htons(1080), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress) ``` 其实我早就想到这个问题, 只是当时echo了$PROXY的相关信息, 都是空的, 不知道为什么, chatgpt让我排查是哪里指定了这些代理信息, 排查了很大一圈, 后面给出了一条指令, 看看是哪里有相关记录 ``` grep -R "127.0.0.1:1080" ~ 2>/dev/null ``` 后面果然找到了我一周前配置的~/.codex/.env(在"codex+原生"章节里), 把它删了就好了 chatgpt还是比较有条理, 有推理能力的, 比qwen这种搜索型模型还是好很多

评论