前天开gpt5.4pro的进阶思考,每次大约要7-10分钟,昨天6分钟左右,今天4-5分钟。codex上使用也是一样,前几天死慢,但是思考确实很有深度,并且检查的异常细致,把可能出现的风险点都加上了,最令我惊讶的他还能通过网络找对标案例来进行分析。今天思考异常短,并且经常做一些低级的错误。现在AI是个循环了,新模型——买——降智——换——新模型。我这几天也在思考,之前开个影音会员又是拼车又是尼区,现在买个token真舍得花钱,一个max说买就买,一个pro说买就买 1 个帖子 - 1 位参与者 阅读完整话题
抽奖主题:抽10个codex free json 账号,导入就可以使用 奖品详情: [奖品1]:[5个codex] [奖品2]:[5个codex] 活动时间: 开始时间: Sat, Apr 18, 2026 9:00 PM CST 截止时间: Sun, Apr 19, 2026 9:00 PM CST 参与方式: 在本贴下回复任意内容即可参与。 抽奖规则: 每位用户仅允许参与一次。 将使用 LINUX DO 抽奖工具 在所有回复中随机抽取中奖者。 注意事项: 本活动将在活动截止时间后关闭回帖,以确保公正性。 中奖者将在活动结束后在本帖公布,并通过论坛站内信由发起人通知领奖方式。 所有规则及抽奖结果由 @kexincolar 及论坛 管理团队 最终解释。 发起人承诺: 作为本次抽奖的发起人 @kexincolar ,我承诺本话题的抽奖活动严格遵守 LINUX DO 社区抽奖规则 。因违反上述规定引发的公平性争议或其他问题,均由我独立承担相应的道德与法律责任。 期待您的积极参与,祝您好运!如有任何疑问,欢迎随时联系 @kexincolar 或论坛 管理团队 。 42 个帖子 - 40 位参与者 阅读完整话题
本地部署了deepseek-coder-v2:16b-lite-base-q4_K_M,我问了几个简单问题,这家伙给我一顿胡乱输出,这模型很坑啊。 1 个帖子 - 1 位参与者 阅读完整话题
每次都会显示这个,但我之前好像都是这么配的,ccs上也没变什么,求助佬友 6 个帖子 - 3 位参与者 阅读完整话题
any路由器因为跟claude code有一些参数适配的问题,所以我们可以在本地架设一个简单的网关,将参数在本地拦截,然后修改一下,再传给any大善人,就可以绕过这些参数适配的小问题了。 claudecode最新版本适用,不需要回退版本 这个本地网关做了什么 在本地监听 127.0.0.1:1998。 把 Claude Code 的请求转发到上游any的端口。 自动补认证头(Authorization / x-api-key)。 对 haiku 请求额外修正:补 context-1m-2025-08-07,并加 thinking.budget_tokens=1024。 把请求和响应写到 gateway_requests.jsonl 方便排错。 极简启动步骤 先开网关 export ANTHROPIC_BASE_URL=“any大善人地址” export ANTHROPIC_AUTH_TOKEN=“你的真实token” python3 /Users/Apple/Desktop/code/claude_gateway.py 新开一个终端再开 Claude Code ANTHROPIC_BASE_URL=“ http://127.0.0.1:1998 ” claude --enable-auto-mode 截图为证: 网关代码如下(vibe写的,很多冗余,大佬可以自行修改): #!/usr/bin/env python3 import base64 import json import os import threading from datetime import datetime, timezone from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer from urllib.error import HTTPError, URLError from urllib.parse import urlsplit, urlunsplit from urllib.request import Request, urlopen LISTEN_HOST = os.getenv("CLAUDE_GATEWAY_HOST", "127.0.0.1") LISTEN_PORT = int(os.getenv("CLAUDE_GATEWAY_PORT", "1998")) UPSTREAM_BASE_URL = os.getenv( "ANTHROPIC_BASE_URL", "https://a-ocnfniawgw.cn-shanghai.fcapp.run" ) UPSTREAM_AUTH_TOKEN = os.getenv("ANTHROPIC_AUTH_TOKEN", "") UPSTREAM_TIMEOUT = float(os.getenv("CLAUDE_GATEWAY_TIMEOUT", "120")) LOG_PATH = os.getenv( "CLAUDE_GATEWAY_LOG", os.path.join(os.path.dirname(__file__), "gateway_requests.jsonl") ) LOG_LOCK = threading.Lock() def utc_now_iso() -> str: return datetime.now(timezone.utc).isoformat() def ensure_log_parent_exists() -> None: parent = os.path.dirname(LOG_PATH) if parent: os.makedirs(parent, exist_ok=True) def decode_body_for_log(body: bytes) -> dict: if not body: return {"encoding": "utf-8", "text": ""} try: return {"encoding": "utf-8", "text": body.decode("utf-8")} except UnicodeDecodeError: return {"encoding": "base64", "text": base64.b64encode(body).decode("ascii")} def append_log(record: dict) -> None: ensure_log_parent_exists() line = json.dumps(record, ensure_ascii=False) with LOG_LOCK: with open(LOG_PATH, "a", encoding="utf-8") as f: f.write(line + "\n") def build_upstream_url(base_url: str, incoming_path: str) -> str: base = urlsplit(base_url) incoming = urlsplit(incoming_path) incoming_path_only = incoming.path or "/" base_path = base.path.rstrip("/") if base_path: merged_path = f"{base_path}{incoming_path_only}" else: merged_path = incoming_path_only return urlunsplit((base.scheme, base.netloc, merged_path, incoming.query, "")) def rewrite_request_headers(headers: dict, path: str) -> dict: rewritten = dict(headers) if UPSTREAM_AUTH_TOKEN: has_x_api_key = any(k.lower() == "x-api-key" for k in rewritten) has_authorization = any(k.lower() == "authorization" for k in rewritten) if not has_x_api_key: rewritten["x-api-key"] = UPSTREAM_AUTH_TOKEN if not has_authorization: rewritten["Authorization"] = f"Bearer {UPSTREAM_AUTH_TOKEN}" # 先做骨架,后续按 any 规则逐步覆写。 return rewritten def rewrite_request_body(body: bytes, headers: dict, path: str) -> bytes: if not body: return body content_type = "" for k, v in headers.items(): if k.lower() == "content-type": content_type = v break if "application/json" not in content_type.lower(): return body try: payload = json.loads(body.decode("utf-8")) except (UnicodeDecodeError, json.JSONDecodeError): return body model = str(payload.get("model", "")).lower() if not model.startswith("claude-haiku"): return body beta_key = None for k in headers.keys(): if k.lower() == "anthropic-beta": beta_key = k break raw_beta = headers.get(beta_key, "") if beta_key else "" beta_features = [item.strip() for item in raw_beta.split(",") if item.strip()] if "context-1m-2025-08-07" not in beta_features: beta_features.append("context-1m-2025-08-07") merged_beta = ",".join(beta_features) if beta_key: headers[beta_key] = merged_beta else: headers["anthropic-beta"] = merged_beta payload["thinking"] = {"type": "enabled", "budget_tokens": 1024} return json.dumps(payload, ensure_ascii=False, separators=(",", ":")).encode("utf-8") class ClaudeGatewayHandler(BaseHTTPRequestHandler): protocol_version = "HTTP/1.1" def do_GET(self): self._handle_proxy() def do_POST(self): self._handle_proxy() def do_PUT(self): self._handle_proxy() def do_PATCH(self): self._handle_proxy() def do_DELETE(self): self._handle_proxy() def do_OPTIONS(self): self._handle_proxy() def do_HEAD(self): self._handle_proxy() def log_message(self, fmt, *args): return def _read_request_body(self) -> bytes: content_length = int(self.headers.get("Content-Length", "0") or "0") if content_length <= 0: return b"" return self.rfile.read(content_length) def _copy_request_headers(self) -> dict: headers = {} for key, value in self.headers.items(): key_l = key.lower() if key_l in {"host", "content-length", "connection", "accept-encoding"}: continue headers[key] = value return headers def _send_response(self, status: int, headers: dict, body: bytes) -> None: self.send_response(status) ignored = {"transfer-encoding", "content-length", "connection"} for k, v in headers.items(): if k.lower() in ignored: continue self.send_header(k, v) self.send_header("Content-Length", str(len(body))) self.send_header("Connection", "close") self.end_headers() if self.command != "HEAD" and body: self.wfile.write(body) def _handle_proxy(self): req_body = self._read_request_body() req_headers = self._copy_request_headers() req_headers = rewrite_request_headers(req_headers, self.path) req_body = rewrite_request_body(req_body, req_headers, self.path) upstream_url = build_upstream_url(UPSTREAM_BASE_URL, self.path) request_log = { "timestamp": utc_now_iso(), "client_ip": self.client_address[0] if self.client_address else "", "method": self.command, "path": self.path, "upstream_url": upstream_url, "headers": dict(self.headers.items()), "body": decode_body_for_log(req_body), "body_length": len(req_body), } try: upstream_req = Request( url=upstream_url, data=req_body if req_body else None, headers=req_headers, method=self.command, ) with urlopen(upstream_req, timeout=UPSTREAM_TIMEOUT) as resp: resp_status = resp.getcode() resp_headers = dict(resp.headers.items()) resp_body = resp.read() request_log["response"] = { "status": resp_status, "headers": resp_headers, "body": decode_body_for_log(resp_body), "body_length": len(resp_body), } append_log(request_log) self._send_response(resp_status, resp_headers, resp_body) return except HTTPError as e: err_body = e.read() if hasattr(e, "read") else b"" err_headers = dict(e.headers.items()) if getattr(e, "headers", None) else {} request_log["response"] = { "status": e.code, "headers": err_headers, "body": decode_body_for_log(err_body), "body_length": len(err_body), } append_log(request_log) self._send_response(e.code, err_headers, err_body) return except (URLError, TimeoutError, Exception) as e: error_payload = { "error": "gateway_upstream_error", "message": str(e), } error_body = json.dumps(error_payload, ensure_ascii=False).encode("utf-8") request_log["response"] = { "status": 502, "headers": {"Content-Type": "application/json; charset=utf-8"}, "body": {"encoding": "utf-8", "text": error_body.decode("utf-8")}, "body_length": len(error_body), } append_log(request_log) self._send_response( 502, {"Content-Type": "application/json; charset=utf-8"}, error_body, ) def main(): server = ThreadingHTTPServer((LISTEN_HOST, LISTEN_PORT), ClaudeGatewayHandler) print(f"[gateway] listening on http://{LISTEN_HOST}:{LISTEN_PORT}") print(f"[gateway] upstream: {UPSTREAM_BASE_URL}") print(f"[gateway] auth token configured: {bool(UPSTREAM_AUTH_TOKEN)}") print(f"[gateway] log file: {LOG_PATH}") server.serve_forever() if __name__ == "__main__": main() 3 个帖子 - 2 位参与者 阅读完整话题
我的问题:我无法在我的vps上用我的claudecode与codex 昨天我的claude与codex都能用,今天又崩了 我尝试把本地的能用的关键配置文件上传到里面,还是失败不能动,我怀疑是网络问题 vps是无界面的linux 我目前有2个GPT 一个team一个plus(官方) 两个中转站 any与jobema (分别调用claude与glm5.1模型) 我的科学工具 1.clash for linux 2.shellcrash 我能不能ping通youtube? export http_proxy="127.0.0.1:7890" 后,依旧不能,但是之前不能,可是codex还是能动 我的尝试方法 1.npx zcf 2.ccr 3.cc-switch 我想要什么? 我想要有个通用万能简单上手的,直接配置ai的 baseurl key model 就能用的,cli下的一个工具 opencode? 目前打算:卸载目前npx zcf,重新安装,重新配置 1 个帖子 - 1 位参与者 阅读完整话题
如题,我3个账号用cpa(不然聊天记录不共享)的api接入codex,但是发现用api没法开始codex的/fast,这应该怎么办?难道用ccs再加一个解析本地会话记录的东西吗 2 个帖子 - 2 位参与者 阅读完整话题
除cursor外,还有哪些好用的IDE AI编程工具? 1、列3-5个,排个序? 2、这里不含cc和codex的cli。 11 个帖子 - 9 位参与者 阅读完整话题
RT,目前搜索到的大部分都是ClaudeCode 第三方插件 Obsidian,但是习惯用codex之后,实在懒得折腾了…佬们有木有办法? 求指教 3 个帖子 - 2 位参与者 阅读完整话题
model_provider = "cliproxyapi" model = "gpt-5.4" model_reasoning_effort = "xhigh" service_tier = "fast" 上面是我codex 模型配置,我看cpa日志,是不会用gmini和claude的供应商,有啥办法在codex会话里面切换或者让cpa自动切换吗 随便再问一下,cpa里面ai供应商的那个前缀配置怎么用啊 2 个帖子 - 2 位参与者 阅读完整话题
发现有什么不同没? s没了 换成codex的s没了… 3 个帖子 - 2 位参与者 阅读完整话题
Article URL: https://github.com/eph5xx/tweakidea Comments URL: https://news.ycombinator.com/item?id=47815028 Points: 1 # Comments: 0
不懂就问,刚刚开始使用阿里的Qcoder,我发现它的auto模式竟然比其他任何一个高级模型的倍率都高,为什么?一般不都是auto模式的倍率比高级模型倍率都要低吗? 3 个帖子 - 3 位参与者 阅读完整话题
用的api的,所以不支持claude原生的,有没有好的开源项目能解决这个问题呢? 5 个帖子 - 5 位参与者 阅读完整话题
因为我的是老 Lite 套餐,额度在下午的时候容易超出, 让 GLM 自己写了个,还不错。 1 个帖子 - 1 位参与者 阅读完整话题
大家有没有推荐的子ai代理,用来探索代码库的,我最近在用opencode,omo,的那个子代理,搜索东西太烧token了,有没有推荐的探索ai呢?大家用的是啥呢?有木有推荐?或者大家能不能说说自己是用的啥呢?有没有啥比较平价一点的模型? 5 个帖子 - 2 位参与者 阅读完整话题
最近刚玩上newapi,手上一个kimi code plan套餐。想着用它来接new api发现接不上。 看来得买其他的api了,请教下大家都用的什么。 可以包月付费,既可以满足平时编码需要,也可以跑跑openClaw,harmes这些的 4 个帖子 - 2 位参与者 阅读完整话题
我默认名称是惠普,现在用codex apply patch有问题,我已急哭 15 个帖子 - 15 位参与者 阅读完整话题
起因 今天在使用WSL上的Centos时, 发现Vscode远程连接上不上了, 然后想起来vscode之前下载claude插件自动更新了一次, 导致它的版本变成了v1.106.0, 然后就连不上了. 从 VS Code 1.99(2025年3月发布) 开始,官方预编译的 VS Code Server 对 Linux 发行版的系统依赖做了升级,要求远端服务器必须满足: glibc >= 2.28 libstdc++ >= 3.4.25 以及对应的动态链接环境 ssh远程连接时错误信息如下: [2026-04-18 03:33:45.663] Starting server: /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/bin/code-server --host=127.0.0.1 --port=0 --connection-token=1869292326-2464295744-3154885190-4149685785 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --telemetry-level=all [2026-04-18 03:33:45.664] /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node) [2026-04-18 03:33:45.664] /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node) [2026-04-18 03:33:45.664] /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node) [2026-04-18 03:33:45.664] /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /home/user/.vscode-server/bin/ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57/node) 解决方法一: 官方推荐的自定义运行库法 code.visualstudio.com Can I run VS Code Server on older Linux distributions? - Remote Development FAQ This article covers frequently asked questions for each of the Visual Studio Code Remote Development extensions. See the SSH, Containers, and WSL articles for more details on setting up and working with each of their respective capabilities. Or try... 以下是AI关于这个文档的解释: VS Code 1.99 之后,官方发的 VS Code Server 二进制 默认要求远端系统有较新的: glibc >= 2.28 libstdc++ >= 3.4.25 以及相应动态链接环境 如果你的老服务器系统本身太旧,比如 CentOS 7,没有这些库,Server 本体会启动失败 这时候可以额外准备一套“较新的运行库目录”,让 VS Code Server 不要使用系统自带旧 glibc,而是改为加载你提供的那一套新库. 这个“较新的运行库目录”,官方建议你用 Crosstool-ng 去构建,这就是文档里说的 sysroot 准备工具: v0.18.x 以上的 patchelf. Release 0.18.0 · NixOS/patchelf · GitHub 在 rpmfind.net 中找到所需要的 glibc 2.28 地址: RPM resource glibc 选择AlmaLinux 8.10 BaseOS for aarch64 glibc-2.28-251.el8_10.31.aarch64.rpm 在 rpmfind.net 中找到所需要的 libstdc++ 地址: https://www.rpmfind.net/linux/almalinux/8.10/BaseOS/x86_64/os/Packages/libstdc++-8.5.0-28.el8_10.alma.1.i686.rpm 选择AlmaLinux 8.10 BaseOS for aarch64 libstdc++-8.5.0-28.el8_10.alma.1.i686.rpm 不要直接安装 rpm!!! mkdir -p /home/user/lib/vscode_server_linux_root mv glibc-2.28-251.el8.x86_64.rpm /home/user/lib/vscode_server_linux_root/ mv libstdc++-8.5.0-21.el8.x86_64.rpm /home/user/lib/vscode_server_linux_root/ cd /home/user/lib/vscode_server_linux_root # 将rpm文件解压到当前目录 rpm2cpio glibc-2.28-251.el8.x86_64.rpm | cpio -idmv rpm2cpio libstdc++-8.5.0-21.el8.x86_64.rpm | cpio -idmv # 检查下 so 文件中的 ABI 兼容版本是否符合 VSCode 或者 Node.js 的要求 strings ./usr/lib/libc.so.6 | grep -E '^GLIBC_[0-9.]+' | sort strings ./usr/lib/libstdc++.so.6 | grep -E '^GLIBCXX_[0-9.]+' | sort # 设置环境变量, 两个环境变量都试一下 export VSCODE_SERVER_CUSTOM_GLIBC_LINKER=/home/user/my_lib/vscode_server_linux_root/usr/lib # export VSCODE_SERVER_CUSTOM_GLIBC_LINKER=/home/flipped/my_lib/vscode_server_linux_root/usr/lib/ld-linux.so.2 export VSCODE_SERVER_CUSTOM_GLIBC_PATH=/home/user/my_lib/vscode_server_linux_root/usr/lib export VSCODE_SERVER_PATCHELF_PATH=/home/user/my_lib/vscode_server_linux_root/bin 理论上这样之后, node 应该可以正常启动了, 但是我在wsl上的centos7.9进行测试时, 即使设置了环境变量, 服务器上的node也没有到我指定的目录下去找2.28的glibc. 然后我也尝试了手动patch node. 但发现patch后, node --version 都运行不了. [!NOTE] 不一定起作用 若环境变量不生效,可尝试直接修改 VS Code Server 内嵌 Node.js 的动态链接路径: patchelf --set-interpreter ${CUSTOM_LIB_DIR}/usr/lib64/ld-linux-x86-64.so.2 \ --set-rpath ${CUSTOM_LIB_DIR}/usr/lib64 \ ~/.vscode-server/bin/<VSCode版本号>/node 解决方法2: 第三方补丁工具 从社区仓库下载与本地 VS Code 版本匹配的包: 仓库地址: MikeWang000000/vscode-server-centos7 查看本地 VS Code 版本:点击左下角齿轮 → 关于 → 复制版本哈希(如 ac4cbdf48759c7d8c3eb91ffe6bb04316e263c57 ) # 1. 创建VS Code Server目录(若已存在则跳过) mkdir -p ~/.vscode-server # 2. 解压下载的预补丁包 tar xzf vscode-server_*.tar.gz -C ~/.vscode-server --strip-components 1 # 3. 执行补丁脚本 ~/.vscode-server/code-latest --patch-now # 4. 替换官方内嵌的Node.js(替换为预编译的兼容版本) cp -f ~/.vscode-server/cli/servers/Stable-<版本哈希>/server/node \ ~/.vscode-server/bin/<版本哈希>/node 使用这个方案, 我电脑上能够连接到centos了, 但是远程连接后, 无法在vscode的集成终端中使用 code a.log 打开服务器上的文件, 报错如下: user@user:test$ code . Unable to connect to VS Code server: Error in request. Error: connect ENOENT /run/user/1000/vscode-ipc-d2af735a-73ee-499c-9f8c-48fa19a6199e.sock at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1637:16) { errno: -2, code: 'ENOENT', syscall: 'connect', address: '/run/user/1000/vscode-ipc-d2af735a-73ee-499c-9f8c-48fa19a6199e.sock' } 除了上面给出的预编译后的node文件, 在下面这个issue里面针对centos上运行v18以后的nodejs的问题, 也提供了一个预编译好的版本 github.com/nodejs/node Node.js is showing error "node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)" 已打开 05:40AM - 28 Mar 24 UTC 已关闭 08:38PM - 17 May 25 UTC yogeshlc ### Version node-v20.11.0-linux-x64.tar.xz ### Platform Linux yogVM 5.4.17-21 … 36.325.5.1.el7uek.x86_64 ### Subsystem _No response_ ### What steps will reproduce the bug? - Extract node.js tar at location /usr/local - check node --version cmd which is failing with error Error: node --version node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node) node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node) node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node) node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node) ### How often does it reproduce? Is there a required condition? _No response_ ### What is the expected behavior? Why is that the expected behavior? node --version v20.11.0 ### What do you see instead? node --version node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node) node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node) node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node) node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node) node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node) ### Additional information _No response_ 但我用这个, 虽然也能正常连接, 但无法打开vscode中的集成终端. 报错如下. 结尾 佬友们帮忙看看, 为什么我使用官方文档里面的方法, 设置环境变量之后还是没有办法让服务器上的node到我指定的目录下去找glibc. 2 个帖子 - 2 位参与者 阅读完整话题
这样是不是没问题 cpa就只用来看使用量 然后在vscode登录使用 2 个帖子 - 2 位参与者 阅读完整话题