佛系程序员
首页
栏目
标签
归档
关于
友链
佛系程序员
首页
栏目
标签
归档
友链
关于
opencode serve 和 opencode desktop 版本不一致错误解决
学习笔记
网站开发
发布日期: 2026-05-30 06:46:26
喜欢量: 6 个
阅读次数:
35
相关官方文档:https://opencode.ai/docs/server/ 下面yourdomain.com是指你的opencode web版本。 问题描述: opencode --version版本是1.15.12, opencode serve后,我将yourdomain.com指向127.0.0.1:4096, 当我查看yourdomain.com的opencode desktop 版本时显示1.15.11. 页面总是报错: Request is not supported by this version of OpenCode Server (Server responded with text/html) 经过AI一番调试:花掉1元 已完成的服务端修复 修复 文件 说明 ✅ map $http_upgrade $connection_upgrade /www/server/nginx/conf/nginx.conf WebSocket 连接不再报错 ✅ proxy_no_cache 1 + proxy_cache_bypass 1 yourdomain.conf 禁用全局缓存,JS 模块实时加载 ✅ nginx reload — 配置已生效 正确的一行命令: ```OPENCODE_SERVER_PASSWORD="***" nohup opencode serve --port 4096 --cors "http://yourdomain.com" > /www/server/opencode/server.log 2>&1 &``` 关键区别:OPENCODE_SERVER_PASSWORD=*** 必须和 nohup opencode serve` 在同一行,不能分两次 export。分两次的话 nohup 子进程拿不到这个环境变量,server 启动后立刻 crash。 启动后验证: 确认进程在跑 ```ss -tlnp | grep 4096``` 预期输出: LISTEN ... 127.0.0.1:4096 ... opencode 确认 API 正常 ```curl -s -u "opencode:password" http://127.0.0.1:4096/global/health``` 预期输出: ```{"healthy":true,"version":"1.15.12"}``` 如果不行: ```bash /www/server/opencode/run.sh``` ``` #!/bin/bash export PATH="/www/server/nodejs/v18.20.8/bin:$PATH" export OPENCODE_SERVER_PASSWORD="password" exec opencode serve --port 4096 --cors "http://yourdomain.com" ``` 浏览器,清缓存,禁用缓存,强制刷新。 最后,用 systemd 服务,关终端也不影响,开机自启,崩溃自动重启。 ``` [Unit] Description=OpenCode Server After=network.target [Service] Type=simple User=root Environment=OPENCODE_SERVER_PASSWORD=password Environment=PATH=/www/server/nodejs/v18.20.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ExecStart=/www/server/nodejs/v18.20.8/bin/opencode serve --port 4096 --cors "http://yourdomain.com" Restart=always RestartSec=5 [Install] WantedBy=multi-user.target ``` 用 **systemd 服务**,关终端也不影响,开机自启,崩溃自动重启。 --- ## 已安装 systemd 服务 ```bash ● opencode.service - OpenCode Server Active: active (running) Main PID: 97427 (opencode) ``` **验证通过:** ``` curl -u "opencode:password" http://yourdomain.com/global/health → {"healthy":true,"version":"1.15.12"} ``` 浏览器访问 `http://yourdomain.com`,用户名 `opencode`,密码 `password`。如果还弹登录框,就是正常 Basic Auth。 --- ### 后续管理命令 ```bash systemctl status opencode # 查看状态 systemctl restart opencode # 重启 systemctl stop opencode # 停止 journalctl -u opencode -f # 实时看日志 ``` 想改密码的话: ```bash systemctl stop opencode 编辑 /etc/systemd/system/opencode.service,修改 OPENCODE_SERVER_PASSWORD systemctl daemon-reload && systemctl start opencode ``` 推荐注册:siliconflow,领取16元 代金券,获得免费tokens https://cloud.siliconflow.cn/i/7qQzHGZs
文章作者:
admin
文章链接:
https://www.amtb.info/show/NDEy
版权声明:
本博客所有文章除特別声明外,转载请注明来源
佛系程序员
!
分享:
搜索