订酒店怎么便宜,有啥渠道吗?我一般是在某鱼订的多。 9 个帖子 - 9 位参与者 阅读完整话题
各位佬好,最近在重度使用 AI 辅助写代码,对 Claude 的需求比较大,但一直被渠道和网络稳定性折磨。想请教一下大家目前市面上各类接入方案的实际情况。 我自己了解过并且试过一些渠道,体验都一言难尽: 官方账号反代(C号/池子反代): 这个最大的痛点就是极容易封号。稳定性完全看脸,经常写代码写到一半号没了,心智负担太重。 谷歌 Antigravity (Antig) 反代: 延迟极高,经常卡得死死的。而且给的额度非常少,稍微跑点复杂的逻辑或者上下文一长就不够用了,完全没法满足高频使用的需求。 最近看到市面上还有很多人在说 AWS 渠道 ,我个人的盲区比较大,想重点请教一下懂行的老哥: AWS 渠道到底是什么? 是指通过 AWS Bedrock 申请调用的官方 API 吗?还是别的什么操作? 稳定性和风控: 这个渠道的封号风险大不大?延迟表现如何? 其他方案求荐: 除了上述这些,大家目前在日常高并发/大上下文的开发场景下,还有什么相对稳定靠谱的获取 Claude 额度的路子? 提前感谢各位大佬解惑! 1 个帖子 - 1 位参与者 阅读完整话题
不走小中转站 ,哪家的官方渠道是最值得买的,应用场景,代码编写,资料整理,科研任务。用过智谱pro minimax plus 。在考虑重新选择,或许云厂商也行? 9 个帖子 - 8 位参与者 阅读完整话题
最终搞定了,记录一下。 在 Home Assistant(简称HA)里安装 xiaomi-miot 插件后。 设置 → 设备与服务 → 搜索 Xiaomi Miot 在设备列表里找到你要控制的音箱,我有2个小爱音箱,其中 小米小爱音箱 Pro ,在 Miot 里叫做 Mi AI Speaker Pro,设备型号 xiaomi.wifispeaker.lx06 小米智能音箱 Pro ,在 Miot 里叫做 Xiaomi Smart Speaker Pro,设备型号 xiaomi.wifispeaker.oh2p 点击进入设备控制页面后,可以发现有很多控制功能,比如【播放文本】和【执行文本指令】。 点击“播放文本”功能前面的图标,再点击右上角的设置图标 即可看到这个功能的【实体标识符】,我理解就是一个 function id 有了这个,再配合 HA 生成的长期 token,就能写脚本控制小爱音箱说话了。 这是龙虾给我写的代码,测试通过。 1 个帖子 - 1 位参与者 阅读完整话题
各种B站公众号吹牛逼引流的多.真正的干货没多少啊. 各位佬都是通过什么渠道获取最新消息的? 15 个帖子 - 14 位参与者 阅读完整话题
求佬友们推荐稳定的claude渠道,目前在用的这几天好像微死了 antigravity也是疯狂retry,没法干活 5 个帖子 - 3 位参与者 阅读完整话题
佬们,最近想通过 google pay 渠道走 claude 订阅。但是在 google play store 找不到 claude 应用,我已经切换到美区了,为什么会这样呢?(google 账号也是美区的) 2 个帖子 - 2 位参与者 阅读完整话题
从 公益站死了,干脆整理一份国模免费渠道大全(授人以渔) 继续讨论: 当前国内模型来说,能上得了台面的,可能也就Qwen3.6,GLM5.1,Kimi K2.6,MiniMax2.7。 但是都或多或少存在一点问题: 1、Qwen的订阅太贵了,并且吃相难看(定价或者套餐就是一纸公告的事,恶心人)。 2、GLM存在严重的算力不足问题。 3、Minimax感觉用来做日常的开发还是还是不太够。 4、Kimi2.6我自己没有没有体验过,暂时无法评价。 当然这也只是我的个人看法,千人千面,大家可以讨论讨论对于国模的看法。 5 个帖子 - 3 位参与者 阅读完整话题
我大概凌晨1点半的时候冲浪,根据我看到的内容,整合理解写了篇软文,没想到爆了,一晚上有1w人浏览。 随便配的linuxdo截图,对截图也做了头像打码 6 个帖子 - 3 位参与者 阅读完整话题
有虚拟电话卡,与虚拟银行卡的渠道,求渠道 2 个帖子 - 2 位参与者 阅读完整话题
newapi通过codex(openai oauth)添加渠道,然后选择5.3-codex,但是不能用,只能选择5.4才能用,这是为啥? 2 个帖子 - 1 位参与者 阅读完整话题
目前opus4.7在windsurf里面倍率挺低的,比opus4.6便宜,应该是目前最便宜的渠道了,不知道有没有佬出手windsurf账号 2 个帖子 - 2 位参与者 阅读完整话题
要用于比赛awa,能图生图的www 可以ldc awa,或者有啥免费的渠道… 谢谢喵 3 个帖子 - 3 位参与者 阅读完整话题
前言 众所周知,我的 Hello AI 公益站最近 503 了。倒不是模型渠道用完,而是服务器实在没办法挡住某些人的 Ddos。有些人可能知道,我最近办了一场国模狂欢节,那么,渠道是怎么来的呢? 答案只有一个:2API (官网免费对话逆向成 API) 现在公益站死了,但我可以授人以渔,总结一下国模 2API 方法大全。你只要有一台服务器,一个域名,一个 CF 账号,就可以自己拥有 API(这也是另一种公益站吧) Kimi 总结 Cloudflare Worker 脚本。 部署方法 新建一个 Cloudflare Workers,输入以下代码 // Cloudflare Worker - Kimi K2 OpenAI API 兼容代理 // 环境变量: UPSTREAM_HOST (可选,默认 https://kimi-k2.ai) const DEFAULT_UPSTREAM_HOST = "https://kimi-k2.ai"; /** * 生成随机 IP 地址 * 使用常见的住宅/商业 IP 段,避免数据中心 IP 段 */ function generateRandomIP() { // 常见的住宅/商业 IP 段前缀 (中国和国际) const ipPrefixes = [ // 中国电信 [113, 116], [114, 80], [115, 192], [116, 224], [117, 136], [118, 112], [119, 96], [120, 192], [121, 32], [122, 192], // 中国联通 [112, 64], [113, 0], [116, 112], [119, 112], [120, 64], // 中国移动 [111, 0], [112, 0], [117, 128], [120, 128], [183, 192], // 美国常见段 [24, 0], [50, 0], [68, 0], [71, 0], [72, 0], [73, 0], [76, 0], [96, 0], [98, 0], [99, 0], [107, 0], [108, 0] ]; const prefix = ipPrefixes[Math.floor(Math.random() * ipPrefixes.length)]; const octet3 = Math.floor(Math.random() * 256); const octet4 = Math.floor(Math.random() * 254) + 1; // 避免 0 和 255 return `${prefix[0]}.${prefix[1] + Math.floor(Math.random() * 16)}.${octet3}.${octet4}`; } /** * 生成包含伪造 IP 的请求头 */ function generateSpoofedHeaders(baseHeaders = {}) { const fakeIP = generateRandomIP(); console.log(`[IP伪造] 使用伪造 IP: ${fakeIP}`); return { ...baseHeaders, "X-Forwarded-For": fakeIP, "X-Real-IP": fakeIP, "CF-Connecting-IP": fakeIP, "X-Originating-IP": fakeIP, "True-Client-IP": fakeIP, "X-Client-IP": fakeIP, "Forwarded": `for=${fakeIP}` }; } /** * 获取认证 Cookies */ async function getAuthCookies(upstreamHost) { console.log("[认证] 正在尝试获取认证 Cookies..."); const headers = generateSpoofedHeaders({ "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "accept": "*/*", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8", "referer": `${upstreamHost}/zh/chat` }); const response = await fetch(`${upstreamHost}/api/auth/session`, { headers }); console.log(`[认证] 收到上游 Cookies 响应, 状态码: ${response.status}`); const cookies = response.headers.get("set-cookie"); if (!cookies) { console.error("[认证] 错误: 未在响应头中找到 'set-cookie'"); return null; } const csrfMatch = cookies.match(/__Host-authjs\.csrf-token=([^;]+)/); const callbackMatch = cookies.match(/__Secure-authjs\.callback-url=([^;]+)/); const authData = { csrf: csrfMatch ? csrfMatch[1] : null, callback: callbackMatch ? callbackMatch[1] : null }; if (authData.csrf && authData.callback) { console.log("[认证] 成功解析 CSRF 和 Callback Cookies"); } else { console.warn("[认证] 警告: 未能完整解析 Cookies:", authData); } return authData; } /** * 生成 Session ID */ function generateSessionId() { const sessionId = crypto.randomUUID(); console.log(`[工具] 生成新的 Session ID: ${sessionId}`); return sessionId; } /** * 将 OpenAI 格式请求转换为上游格式 */ function convertToUpstreamFormat(openaiRequest) { console.log("[转换] 正在将 OpenAI 格式转换为上游格式..."); return { messages: openaiRequest.messages, sessionId: generateSessionId(), searchContext: "" }; } /** * 将上游响应转换为 OpenAI 格式 */ function convertToOpenAIFormat(upstreamResponse, model, stream = false) { const id = `chatcmpl-${Date.now()}`; const created = Math.floor(Date.now() / 1000); if (stream) { console.log("[转换] 正在将上游响应转换为 OpenAI 流式格式..."); const chunk = { id, object: "chat.completion.chunk", created, model, choices: [{ index: 0, delta: { content: upstreamResponse.content }, finish_reason: "stop" }] }; return `data: ${JSON.stringify(chunk)}\n\ndata: [DONE]\n\n`; } console.log("[转换] 正在将上游响应转换为 OpenAI JSON 格式..."); return { id, object: "chat.completion", created, model, choices: [{ index: 0, message: { role: "assistant", content: upstreamResponse.content }, finish_reason: "stop" }], usage: upstreamResponse.usage || { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 } }; } /** * 处理聊天完成请求 */ async function handleChatCompletion(request, upstreamHost) { console.log("[聊天处理] 开始处理 /v1/chat/completions 请求..."); const openaiRequest = await request.json(); const stream = openaiRequest.stream === true; const model = openaiRequest.model || "kimi-k2"; console.log(`[聊天处理] 请求参数: 模型=${model}, 是否流式=${stream}`); const authCookies = await getAuthCookies(upstreamHost); if (!authCookies || !authCookies.csrf || !authCookies.callback) { console.error("[聊天处理] 错误: 获取认证 Cookies 失败, 中断请求"); return new Response(JSON.stringify({ error: "Failed to get auth cookies" }), { status: 500, headers: { "content-type": "application/json" } }); } const upstreamRequest = convertToUpstreamFormat(openaiRequest); console.log(`[聊天处理] 准备向上游 ${upstreamHost}/api/chat 发送请求`); const chatHeaders = generateSpoofedHeaders({ "content-type": "application/json", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "accept": "*/*", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8", "origin": upstreamHost, "referer": `${upstreamHost}/zh/chat`, "cookie": `__Host-authjs.csrf-token=${authCookies.csrf}; __Secure-authjs.callback-url=${authCookies.callback}` }); const upstreamResponse = await fetch(`${upstreamHost}/api/chat`, { method: "POST", headers: chatHeaders, body: JSON.stringify(upstreamRequest) }); console.log(`[聊天处理] 收到上游响应, 状态码: ${upstreamResponse.status}`); if (!upstreamResponse.ok) { console.error(`[聊天处理] 错误: 上游请求失败, 状态码: ${upstreamResponse.status}`); return new Response(JSON.stringify({ error: "Upstream request failed" }), { status: upstreamResponse.status, headers: { "content-type": "application/json" } }); } const upstreamData = await upstreamResponse.json(); console.log("[聊天处理] 成功解析上游 JSON 响应"); if (stream) { console.log("[聊天处理] 正在以流式 (SSE) 格式返回响应"); const streamData = convertToOpenAIFormat(upstreamData, model, true); return new Response(streamData, { headers: { "content-type": "text/event-stream", "cache-control": "no-cache", "connection": "keep-alive" } }); } console.log("[聊天处理] 正在以 JSON 格式返回响应"); const openaiResponse = convertToOpenAIFormat(upstreamData, model, false); return new Response(JSON.stringify(openaiResponse), { headers: { "content-type": "application/json" } }); } /** * 添加 CORS 响应头 */ function addCorsHeaders(response) { const newHeaders = new Headers(response.headers); newHeaders.set("Access-Control-Allow-Origin", "*"); newHeaders.set("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); newHeaders.set("Access-Control-Allow-Headers", "Content-Type, Authorization"); return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHeaders }); } /** * 主请求处理函数 */ async function handleRequest(request, env) { const upstreamHost = env.UPSTREAM_HOST || DEFAULT_UPSTREAM_HOST; const url = new URL(request.url); console.log(`[入口] 收到新请求: ${request.method} ${url.pathname}`); // 处理 CORS 预检请求 if (request.method === "OPTIONS") { return new Response(null, { headers: { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, POST, OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Authorization", "Access-Control-Max-Age": "86400" } }); } let response; // 健康检查端点 if (url.pathname === "/health" && request.method === "GET") { console.log("[路由] 匹配到: /health (GET)"); response = new Response(JSON.stringify({ status: "healthy", timestamp: new Date().toISOString(), upstreamHost: upstreamHost }), { headers: { "content-type": "application/json" } }); return addCorsHeaders(response); } // 聊天完成端点 if (url.pathname === "/v1/chat/completions" && request.method === "POST") { console.log("[路由] 匹配到: /v1/chat/completions (POST)"); response = await handleChatCompletion(request, upstreamHost); return addCorsHeaders(response); } // 模型列表端点 if (url.pathname === "/v1/models" && request.method === "GET") { console.log("[路由] 匹配到: /v1/models (GET)"); response = new Response(JSON.stringify({ object: "list", data: [{ id: "kimi-k2", object: "model", created: Math.floor(Date.now() / 1000), owned_by: "kimi" }] }), { headers: { "content-type": "application/json" } }); return addCorsHeaders(response); } console.log(`[路由] 未找到匹配路由: ${url.pathname}, 返回 404`); return new Response("Not Found", { status: 404 }); } // Cloudflare Worker 导出 export default { async fetch(request, env, ctx) { return handleRequest(request, env); } }; 使用方法 API 密钥随便填(不会用的请先学一下其他帖子) Qwen 总结:一个 Docker 2API 项目,需要一台具有公网 IP 的服务器并将 8000 端口开放 部署方法 运行命令 docker run -it -d --init --name qwen-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/qwen-free-api:latest 使用方法 从 通义千问 登录 进入通义千问随便发起一个对话,然后 F12 打开开发者工具,从 Application > Cookies 中找到 tongyi_sso_ticket 的值,这将作为 Authorization 的 Bearer Token 值。 用 Authorization 的 Bearer Token 作为 API 密钥使用 API url:yourip:8000/v1 如果失效,可以使用这个项目: GitHub - smanx/qwen2api: A proxy service that converts Qwen Chat to an OpenAI-compatible API. · GitHub GLM AI 总结:一个 Docker 2API 项目,需要一台具有公网 IP 的服务器并将 8000 端口开放 部署方法 运行命令 docker run -it -d --init --name glm-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/glm-free-api:latest 使用方法 从 智谱清言 获取 refresh_token 进入智谱清言随便发起一个对话,然后 F12 打开开发者工具,从 Application > Cookies 中找到 chatglm_refresh_token 的值,这将作为 Authorization 的 Bearer Token 值: Authorization: Bearer TOKEN 用 Authorization 的 Bearer Token 作为 API 密钥使用 API url:yourip:8000/v1 讯飞星火(Spark) 总结:一个 Docker 2API 项目,需要一台具有公网 IP 的服务器并将 8000 端口开放 部署方法 运行命令 docker run -it -d --init --name spark-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/spark-free-api:latest 使用方法 从 xinghuo.xfyun.cn 获取 ssoSessionId, 进入 Spark 登录并发起一个对话,从 Cookie 获取 ssoSessionId 值,由于星火平台禁用 F12 开发者工具,请安装 Cookie-Editor 浏览器插件查看你的 Cookie。 这个值将作为 Authorization 的 Bearer Token 值: Authorization: Bearer TOKEN 注意:如果退出登录或重新登录将可能导致 ssoSessionId 失效! 智能体接入 从 这里 使用浏览器搜索功能找到你想要的智能体,复制它的 botId 作为 model 值。 多账号接入 你可以通过提供多个账号的 ssoSessionId 并使用 , 拼接提供: Authorization: Bearer TOKEN1,TOKEN2,TOKEN3 用 Authorization 的 Bearer Token 作为 API 密钥使用 API url:yourip:8000/v1 DeepSeek 部署方法 运行命令 docker run -it -d --init --name deepseek-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/deepseek-free-api:latest # 或将token配置在环境变量 docker run -it -d --init --name deepseek-free-api -p 8000:8000 -e TZ=Asia/Shanghai -e DEEP_SEEK_CHAT_AUTHORIZATION=xxx vinlic/deepseek-free-api:latest 使用方法 从 DeepSeek 获取 userToken value 进入 DeepSeek 随便发起一个对话,然后 F12 打开开发者工具,从 Application > LocalStorage 中找到 userToken 中的 value 值,这将作为 Authorization 的 Bearer Token 值: Authorization: Bearer TOKEN 用 Authorization 的 Bearer Token 作为 API 密钥使用 API 多账号接入 目前同个账号同时只能有 一路 输出,你可以通过提供多个账号的 userToken value 并使用 , 拼接提供: Authorization: Bearer TOKEN1,TOKEN2,TOKEN3 每次请求服务会从中挑选一个。 环境变量(可选) 环境变量 是否必填 说明 DEEP_SEEK_CHAT_AUTHORIZATION 否 当配置了 token 则使用 token,未配置则需要在请求头中传递 Authorization url:yourip:8000/v1 如果失效,可以用这个项目: GitHub - CJackHwang/ds2api: Deepseek to API - 客户端转 API 全栈开源工具,高性能,多账号轮询,支持纯 vercel、docker 部署使用。Google、Claude、ChatGPT 多接口格式兼容・GitHub DouBao 没研究过,可以参考以下项目: GitHub - lza6/doubao-2api: 无头浏览器 (Playwright) 逆向 a_bogus 风控签名、静态设备指纹、动态 msToken 刷新、高级反检测伪装 (playwright-stealth)、需自备 Cookie (支持多账号轮询)、兼容 OpenAI 格式 API、原生流式输出、有状态会话保持、Docker 一键部署・GitHub Other 这有一些其他项目,早已失效 / 太冷门,可以拿去 氛围式编程 试一下。 Moonshot AI(Kimi.ai)接口转 API kimi-free-api 阶跃星辰 (跃问 StepChat) 接口转 API step-free-api 秘塔 AI (Metaso) 接口转 API metaso-free-api (当前不可用) 字节跳动(豆包)接口转 API doubao-free-api (当前不可用) 字节跳动(即梦 AI)接口转 API jimeng-free-api 讯飞星火(Spark)接口转 API spark-free-api MiniMax(海螺 AI)接口转 API hailuo-free-api 聆心智能 (Emohaa) 接口转 API emohaa-free-api (当前不可用) 30 个帖子 - 30 位参与者 阅读完整话题
注册了好几次aws账号,每次都是卡过不去,海鲜市场买了几张卡都没有用呀,有没有大佬给个渠道呀 1 个帖子 - 1 位参与者 阅读完整话题
用了两天,感觉体验已经很不错了,为什么渠道还是少 5 个帖子 - 5 位参与者 阅读完整话题
20260417 晚8点开的 记一下 tg渠道 后续稳定的话可能和佬友一起蹬,因为主用codex,网页的pro就体验体验 3 个帖子 - 2 位参与者 阅读完整话题
有个claude x20的渠道售价400,不知道靠不靠谱,这个价格当然不包售后,大佬们怎么看 2 个帖子 - 2 位参与者 阅读完整话题
原谅我自己没渠道使用claude官方的opus4.7,我用的是@user792 慕鸢大佬的公益站 muyuan.do ,大家可以去看下 【君の公益】上线 claude-opus-4-7 。 any一直用不了,要么是429要么是503,感谢慕鸢大佬,让我也能尝到4.7的滋味。一直看站里面好多人说4.7的水平不太行,我就用糖果问题问了下它,没想到居然答不对,果然4.7还不如4.6好用的吗,这波升级到底是升到哪里去了哇。(我是小白,不要喷我 ) (顺便问一下@别人是怎么设置的啊,看预览感觉好像没有成功@最帅的慕鸢佬) 2 个帖子 - 2 位参与者 阅读完整话题
如图所示,咋搞啊,彻底没渠道了。天才程序员陨落。 6 个帖子 - 4 位参与者 阅读完整话题