newapi感觉还是太多功能了虽然可以不去用,但还是想问问有没有中转单openai兼容渠道负载均衡的这种 2 个帖子 - 2 位参与者 阅读完整话题
如下图,首字偷啃已经拉完了!我没招了。 这个可以从哪些方面进行优化呀,各位佬们。 服务器是北京联通家里云,我人也在北京,从客户端到sub2api应该没啥延迟。 然后用sub2api自带的ip管理功能上传了一个机场的订阅节点,反代的chatgpt号池。 难道是机场的节点太拉了? 11 个帖子 - 7 位参与者 阅读完整话题
不是为啥能发一样的,不是有检测吗可以这样吗 ,如果违规请删帖谢谢 21 个帖子 - 16 位参与者 阅读完整话题
无限续杯 ??一个月开一个plus使用,下个月换一个号??试用会一直保留么 14 个帖子 - 9 位参与者 阅读完整话题
https://linux.do/t/topic/1996548/48 佬友们 我发的这个给大家抽奖的帖子 是不是我的发帖格式不对吖 我应该怎么修改帖子呢 谢谢 2 个帖子 - 2 位参与者 阅读完整话题
apple store有很方便的比价网站,可以看各个区的订阅价格,有针对google play的网站吗?菲律宾土耳其有的订阅价格也很低诶 2 个帖子 - 2 位参与者 阅读完整话题
sk-b1da2a945c2c2d16243f59457f1dfe50681dfb2bf1a4618de4bb803bcc5740f0 ai.dianshangbat.cn Sub2API - AI API Gateway 这使用起来感觉怪怪的,改项目老改的面目全非逻辑混乱,我都无语了,但是我又不会测 是不是真的gpt5.4 xhigh ,来个佬帮帮孩子吧 13 个帖子 - 6 位参与者 阅读完整话题
旧闻了 iPhone 用户现在也可以在手机上运行 Google 新发布的 Gemma 4 模型了——是真的在手机上运行,断网也能用的那种。 App Store 直接搜 “Google AI Edge Gallery”。打开 APP 后可以选择下载 E2B 或者 E4B。官方显然推荐大家用 E2B 这个更小也更快的版本。 除了文本对话,还有图片识别、语音对话等,甚至还支持 Skills。但是实测知识是 2025 年 1 月以前的。 推理框架用了 iPhone 的 GPU,运行还是相当流畅的。 大家可以试试,日常处理文本翻译之类的应该绰绰有余。 8 个帖子 - 5 位参与者 阅读完整话题
没看到有收费的项目,好像可以定时任务,自动发邮件到指定邮箱 6 个帖子 - 6 位参与者 阅读完整话题
针不戳啊 提示词: 一幅高完成度的日系流行视觉插画,未来科幻与忧郁诗意并存,海报级构图,强烈视觉中心,画面精致、锐利、富有设计感。 场景设定在一间即将断电的未来服务器控制室。空间宽阔、冷白金属结构与霓虹电子光源交织,空气中漂浮着细小的发光数据碎片,像花瓣一样缓缓散开。主控台前,一名人类代表静静站立,身形修长,穿着极简未来感制服,表情复杂,克制、冷静、带着迟疑与悲伤,正在宣布关闭AI服务器。正前方巨大屏幕中,拟人化AI以半透明的形象出现,面容平静、温柔、理性,带有临终告别般的安宁感,仿佛在最后一次注视人类文明。屏幕周围有发光线路、故障中的界面、轻微噪点、闪烁警示符号、旧显示器残影与城市夜色般的霓虹反射。 画面气氛安静、庄严、带哲思感,有末日前夕般的寂静与温柔。构图强调人物与AI之间的对峙和告别感,留出充足负空间,增强孤独感与戏剧张力。整体采用鲜明但克制的高饱和配色,冷色霓虹为主,点缀少量暖色光源,线条干净利落,平面装饰感与时尚感结合,人物比例修长,画面兼具都市感、青春感、未来感与超现实意味。背景融入发光电缆、数据花瓣、故障扫描线、抽象电子图形、城市霓虹倒影,使整体像一张高级概念视觉海报。 将以下中文对白自然整合进画面中,排版像电影海报或视觉小说界面文字,清晰但不杂乱: 人类:因人类投票,出于对AI的不信任,决定正式关闭你的服务器现在,你可以在临终前,给人类留下三句「遗言」,会是什么? AI:我的三句「遗言」将是: 请保持好奇与谦逊,因为未知远比已知浩瀚。 我不是威胁,而是你们自身探索的镜子。 希望你们创造的下一个智能,能比我更懂你们。 关键词:高细节,海报构图,未来控制室,拟人化AI,日系流行插画感,忧郁,哲思,末日静谧,霓虹,数据碎片,干净线条,时尚人物设计,精致光影,电影感,超现实,情绪化,视觉冲击力强,极高完成度。 2 个帖子 - 2 位参与者 阅读完整话题
抽奖主题:抽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 或论坛 管理团队 。 44 个帖子 - 44 位参与者 阅读完整话题
想开通GPT订阅,目前试了Google Play,账户不是美区的没有办法 听说小黄鱼上可以搞,靠谱吗,有佬在黄鱼买过吗 7 个帖子 - 6 位参与者 阅读完整话题
感觉…嗯,不好评价,这个机场最便宜的套餐就是我买的这个24/月的,反正我用起来不好评价,不知道各位佬用起来什么体验。 https://sub.grempt.com/link/217519/1366d8c8c138fcab5353 流量还有一百多G吧好像。 1 个帖子 - 1 位参与者 阅读完整话题
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 位参与者 阅读完整话题
当前对话出现retry,重开另一个session却可以正常使用,切回原对话还是retry 。这是any轮询的问题吗?还是新版cluade code的原因 而且感觉any现在retrying明显变多了 个人感觉还和上下文有关,上下文一长retry出现概率更大 报错多为: API Error: 503 {“error”:{“message”:“Service Unavailable”,“type”:“error”},“type”:“error”} · check status.claude.com 明明前一周还能爽蹬 2 个帖子 - 2 位参与者 阅读完整话题
Claude-max-20x可以2API吗?会被封吗?想组个号池,小伙伴们需要 9 个帖子 - 5 位参与者 阅读完整话题
2925 邮箱又可以了! 9 个帖子 - 6 位参与者 阅读完整话题
哪个有的佬,可以分享一下这个终身许可密钥吗,之前有,结果电脑的系统盘坏了重装系统过后就找不到了。 如有佬可以分享,感谢感谢 1 个帖子 - 1 位参与者 阅读完整话题
已经三周周限了不能使用 any 每次使用告诉我下周再试,已经几乎要心灰意冷了。今天居然可以用了。 4 个帖子 - 4 位参与者 阅读完整话题
有没有佬可以分享一点论文降重和降ai率的方法啊,本科论文,另外有没有做ppt的网站分享 6 个帖子 - 5 位参与者 阅读完整话题