WWW.YOUINFO.SITE
标签聚合 RA

/tag/RA

LinuxDo 最新话题 · 2026-06-12 01:05:19+08:00 · tech

edsource.org California State University renews controversial systemwide contract with... The move has sparked debate about the cost of the agreement and the quality of ChatGPT Edu, a version of ChatGPT designed for higher education. 母校签了3年,校友快来,可惜不能用codex 登录网址 https://www.csun.edu/it/software-services/chatgpt 开始登录不了,后面发现是密码过期了,重置一下密码就行了。 12 个帖子 - 9 位参与者 阅读完整话题

v2ex · 2026-06-12 00:55:29+08:00 · tech

我们是在硅谷的公司,最近业务扩展,希望找到稳定的东八区工程师。需要你擅长与人沟通,能够快速学习,构建系统降低自己负担等,同时理解擅长企业级的高可用系统构建,维护。 需要你同时回复大客户消息和日常开发。 必须擅长使用 codex 或者 claudecode 等,快速定位,重构等解决问题。 我们提供有力的底薪+客户维护奖金。维护的客户越多奖金越多。可以看作 opc 。 有兴趣发简历到 [email protected]

LinuxDo 最新话题 · 2026-06-12 00:42:13+08:00 · tech

如题,学校这个专业不强,目前大二,暑假后大三,rank是在1/140,有一篇AWPL的独立一作,未来可能也继续走通信/计算电磁方向。 目前的想法是去港大直博,但是港大的bar很高,同时香港我觉得太拥挤了~但是美国难申也不稳定。国内的话清北的组应该是可以去的,想问问各位佬,未来我可能学术界/业界是8:2的愿景,有没有佬在香港读书或者在国内高校的,可以给迷茫的小登一点建议 3 个帖子 - 3 位参与者 阅读完整话题

v2ex · 2026-06-11 22:51:15+08:00 · tech

我们是在硅谷的公司,最近业务扩展,希望找到稳定的东八区工程师。需要你擅长与人沟通,能够快速学习,构建系统降低自己负担等,同时理解擅长企业级的高可用系统构建,维护。 需要你同时回复大客户消息和日常开发。 必须擅长使用 codex 或者 claudecode 等,快速定位,重构等解决问题。 我们提供有力的底薪+客户维护奖金。维护的客户越多奖金越多。可以看作 opc 。 有兴趣发简历到 [email protected]

LinuxDo 最新话题 · 2026-06-11 22:42:04+08:00 · tech

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社区和佬友监督: 是 以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出 前言 本教程的环境基于 jdk8 + langchain4j 0.35 教程源码放在这里了: github.com GitHub - worenbudaoni/rag-study-helper: 一个学习检索增强生成的全流程助手 一个学习检索增强生成的全流程助手 文章内容 因为内容比较多,我会从下面三个文章进行讲解,后续发布后会贴出来,这节讲: 接入飞书WIKI文档 RAG实现全流程 : 【开源、教程】RAG全流程实现(java+完整代码):第一弹 接入飞书WIKI文档 : 【开源、教程】RAG全流程实现(java+完整代码):第二弹 接口限流:令牌桶 + AOP 强烈建议先看完第一弹,不然后面代码有可能看不懂 实现逻辑 后面会有图文讲解的,这里就相当于大概介绍一下,看个大概就好,有不了解的不要先去搜,我后文都会讲,如果讲漏了麻烦评论一下,我改正 飞书开发者平台 : 1、去飞书开发者平台创建一个应用 2、给应用赋予权限(权限管理 菜单) 3、给应用赋予机器人能力(添加应用能力 菜单) 4、发布(版本管理与发布 菜单) 5、获取应用的app-id、app-secret(凭证和基础信息 菜单) 飞书app : 1、创建一个群聊 2、把机器人给拉进去 3、点击左边菜单的更多找到知识库,新建知识库(下面统一称为 WIKI) 4、添加群聊(机器人)为管理员:点 WIKI 进去会打开一个网站,左下角有个设置点进去,在成员设置->角色与权限->管理员,添加管理员,搜索我们刚才创建的有机器人的群聊并添加 5、在页面的连接处找到space-id,如: https://kcnvw23rzo5r.feishu.cn/wiki/settings/666666(666666就是我们要的space-id) 项目 : 1、创建一个job,用来定时获取文档(下面为job启动后的流程) 2、通过app-id、app-secret获取tenant_access_token和expire 3、通过tenant_access_token和space-id获取文档信息(名字、更新时间、documentToken 等等) 4、通过documentToken去获取文档的内容(字符串) 5、走 【开源、教程】RAG全流程实现(java+完整代码):第一弹 的入库流程 一、飞书开发者平台 app-id、app-secret 是啥 app-id :应用的唯一标识 app-secret :应用的密钥,在创建应用时由平台生成,可用于获取app_access_token 1、飞书开放平台创建企业应用 开发者后台 - 飞书开放平台 这里注意的是创建好应用后需要审核、启用,所以企业级的应用权限在领导手上,我们可以创建一个个人版的飞书账号来做实验 2、给应用赋予权限 (权限管理菜单) 直接复制我的也行 { "scopes": { "tenant": [ "bitable:app:readonly", "docx:document:readonly", "drive:drive:readonly", "drive:file:readonly", "wiki:wiki:readonly" ], "user": [] } } 3、给应用赋予机器人能力 (添加应用能力菜单) 4、发布 (版本管理与发布菜单) 创建好后发布就行 5、获取应用的app-id、app-secret(凭证和基础信息菜单) 二、飞书app space-id是啥 就是飞书知识库(WIKI)所对应的空间ID,我们找到这个空间就可以找到下面的文档 打个比方就是图书馆的书架,书架有个唯一标识(小说),我们根据这个书架ID(小说)去找下面所有的书 1、创建一个群聊 2、把机器人给拉进去 3、点击左边菜单的更多找到知识库,新建知识库(下面统一称为 WIKI) 4、添加群聊(机器人)为管理员 点 WIKI 进去会打开一个网站,左下角有个设置点进去,在成员设置->角色与权限->管理员,添加管理员,搜索我们刚才创建的有机器人的群聊并添加 5、在页面的连接处找到space-id 如: https://kcnvw23rzo5r.feishu.cn/wiki/settings/666666(666666就是我们要的space-id) 三、项目 这里就不按照上面实现逻辑写的走了,我就按照代码里的讲解 1、job总览(步骤拆解在后面) FeishuSyncService.java // 没想加重框架,如果用xxl-job什么的,自己搬一下就行了 @Scheduled(cron = "${app.feishu.cron}") public void syncWiki() { log.info("Starting Feishu wiki sync for space: {}", spaceId); try { // 获取全部文档信息(通过app-id、app-secret、space-id) // 这里逻辑后面会讲 List<WikiNode> nodes = feishuClient.getWikiNodeTree(spaceId); log.info("Found {} nodes in wiki", nodes.size()); // 成功数量,跳过数量(如果数据存在了关系型数据库且没有更新就跳过),失败数量 int synced = 0, skipped = 0, failed = 0; for (WikiNode node : nodes) { // 后缀 String objType = node.getObjType(); // 文档令牌 用来获取 文档内容 String nodeToken = node.getNodeToken(); // 更新时间判断是否需要跳过 long updateTime = node.getUpdateTime(); // 是否入库 Documents doc = documentsMapper.selectOne( Wrappers.<Documents>lambdaQuery() .eq(Documents::getFeishuNodeToken, nodeToken) ); // 文档是否更新是否需要跳过,这个更新时间不在where条件里面是因为后续要继续用到这个数据 if (doc != null && doc.getFeishuUpdateTime() != null && doc.getFeishuUpdateTime() == updateTime) { skipped++; continue; } try { // 文档内容 String content; // 获取文件名 String fileName; switch (objType) { case "doc": case "docx": // 获取文档内容 // 这里逻辑就不讲了,我后面扔给飞书的文档,照着对接或者看我源码就好 content = feishuClient.getDocumentContent(node.getObjToken()); fileName = node.getNodeTitle() + "_文档"; break; case "sheet": content = feishuClient.getSheetContent(node.getObjToken()); fileName = node.getNodeTitle() + "_表格"; break; case "bitable": content = feishuClient.getBitableContent(node.getObjToken()); fileName = node.getNodeTitle() + "_多维表格"; break; default: skipped++; continue; } // 如果是更新,先删旧向量和映射记录 if (doc != null) { // 查询旧文档相关的向量映射 List<DocumentChunks> oldChunks = documentChunksMapper.selectList( Wrappers.<DocumentChunks>lambdaQuery() .eq(DocumentChunks::getDocumentId, doc.getId()) ); // 有两张表 // 第一张为文档库:记录文档标题、更新时间、创建人等信息 // 第二张为分片库:记录向量数据库插入后的向量ID // 向量ID List<String> vectorIds = oldChunks.stream() .map(DocumentChunks::getVectorId) .collect(Collectors.toList()); // 删除向量 embeddingStore.removeAll(vectorIds); // 删除映射记录 documentChunksMapper.delete( Wrappers.<DocumentChunks>lambdaQuery() .eq(DocumentChunks::getDocumentId, doc.getId()) ); // 删除文档 documentsMapper.deleteById(doc.getId()); } // RAG 入库流程 (第一篇文章中亦有记载(跟第一章代码有些许出入,看完第一章后,直接看源码更佳)) ingestionService.ingestFeishuDocument(fileName, content, nodeToken, updateTime, objType); synced++; log.info(" Synced: {} ({})", node.getNodeTitle(), nodeToken); } catch (Exception e) { log.error(" Failed to sync node: {} ({})", node.getNodeTitle(), nodeToken, e); failed++; } } // 清理远程已删除的文档 // 这里的逻辑是 // 第一次job执行:查询飞书wiki给了 A、B、C 三个文档入库 // 后面有人在wiki中删了 C 文档 // 第二次job执行:只有查询出 A、B 两个文档 // 这时就要去数据库中和向量库中删除多余的 C 文档 List<String> remoteTokens = nodes.stream() .map(WikiNode::getNodeToken) .collect(Collectors.toList()); if (!remoteTokens.isEmpty()) { // MySQL 查出本地多出的记录,只遍历需要删除的 List<Documents> toRemove = documentsMapper.selectList( Wrappers.<Documents>lambdaQuery() .isNotNull(Documents::getFeishuNodeToken) .notIn(Documents::getFeishuNodeToken, remoteTokens) ); for (Documents removed : toRemove) { log.info("Document removed remotely, cleaning up: {} ({})", removed.getDocumentName(), removed.getFeishuNodeToken()); List<DocumentChunks> chunks = documentChunksMapper.selectList( Wrappers.<DocumentChunks>lambdaQuery() .eq(DocumentChunks::getDocumentId, removed.getId()) ); List<String> vectorIds = chunks.stream() .map(DocumentChunks::getVectorId) .collect(Collectors.toList()); // 向量数据库 删 embeddingStore.removeAll(vectorIds); // 关系型数据库 分片库 删 documentChunksMapper.delete( Wrappers.<DocumentChunks>lambdaQuery() .eq(DocumentChunks::getDocumentId, removed.getId()) ); // 关系型数据库 文档库 删 documentsMapper.deleteById(removed.getId()); } } log.info("Feishu wiki sync complete: synced={}, skipped={}, failed={}", synced, skipped, failed); } catch (Exception e) { log.error("Feishu wiki sync failed", e); } } 2、递归获取知识库所有文档节点 FeishuClient.java 这里其实没什么特别好讲的点,就是参考飞书文档,然后请求并解析 我在源码里也标记了文档的地址,所以这里放一个总体的查询地址 开发文档 - 飞书开放平台 /** * 获取 tenant_access_token(内部自动缓存和刷新) */ public synchronized String getAccessToken() throws IOException { if (cachedToken != null && System.currentTimeMillis() < tokenExpireAt) { return cachedToken; } String json = "{\"app_id\":\"" + appId + "\",\"app_secret\":\"" + appSecret + "\"}"; // https://open.feishu.cn/document/server-docs/authentication-management/access-token/tenant_access_token_internal Request request = new Request.Builder() .url(baseUrl + "/open-apis/auth/v3/tenant_access_token/internal") .post(RequestBody.create(JSON, json)) .build(); try (Response resp = httpClient.newCall(request).execute()) { JsonNode body = objectMapper.readTree(resp.body().string()); if (body.get("code").asInt() != 0) { throw new IOException("Failed to get access token: " + body); } cachedToken = body.get("tenant_access_token").asText(); // tenant_access_token 的最大有效期是 2 小时 // 7200 是秒 int expire = body.get("expire").asInt(7200); // 防御性编程 免得刚好过期 由于网络延时 造成接口调用失败 tokenExpireAt = System.currentTimeMillis() + (expire - 60) * 1000L; return cachedToken; } } /** * 递归获取知识库所有文档节点。 */ public List<WikiNode> getWikiNodeTree(String spaceId) throws IOException { List<WikiNode> allNodes = new ArrayList<>(); collectNodes(spaceId, null, allNodes); return allNodes; } private void collectNodes(String spaceId, String parentNodeToken, List<WikiNode> result) throws IOException { List<WikiNode> currentLevelNodes = new ArrayList<>(); String pageToken = null; do { // https://open.feishu.cn/document/server-docs/docs/wiki-v2/space-node/create StringBuilder url = new StringBuilder(baseUrl + "/open-apis/wiki/v2/spaces/" + spaceId + "/nodes"); if (parentNodeToken != null) { url.append("/").append(parentNodeToken).append("/children"); } url.append("?page_size=50"); if (pageToken != null) { url.append("&page_token=").append(pageToken); } Request request = new Request.Builder() .url(url.toString()) .header("Authorization", "Bearer " + getAccessToken()) .get() .build(); try (Response resp = httpClient.newCall(request).execute()) { JsonNode body = objectMapper.readTree(resp.body().string()); if (body.get("code").asInt() != 0) { log.error("Wiki API error for URL [{}]: {}", url, body); break; } JsonNode items = body.path("data").path("items"); for (JsonNode item : items) { WikiNode node = new WikiNode(); // 节点token node.setNodeToken(item.path("node_token").asText()); // 对应文档类型的token,可根据 obj_type 判断属于哪种文档类型。 node.setObjToken(item.path("obj_token").asText()); // 文档类型,对于快捷方式,该字段是对应的实体的obj_type。 // 可选值有: // doc:旧版文档 sheet:表格 mindnote:思维导图 bitable:多维表格 file:文件 docx:新版文档 slides:幻灯片 node.setObjType(item.path("obj_type").asText()); // 文档标题 node.setNodeTitle(item.path("title").asText()); node.setParentNodeToken(parentNodeToken); // 是否有子节点 node.setHasChild(item.path("has_child").asBoolean(false)); // 文档最近编辑时间 String editTime = item.path("obj_edit_time").asText(); node.setUpdateTime(Long.parseLong(editTime.isEmpty() ? "0" : editTime)); currentLevelNodes.add(node); } pageToken = body.path("data").path("page_token").asText(null); } } while (pageToken != null && !pageToken.isEmpty()); // Add all nodes from this level, then recurse into children result.addAll(currentLevelNodes); for (WikiNode node : currentLevelNodes) { if (node.isHasChild()) { collectNodes(spaceId, node.getNodeToken(), result); } } } 四、测试 1、导入文档 还是拿这个 补鸡稻 作为测试案例 2、配置 app-id、app-secret、space-id和sync-enable 我这里通过 jvm 运行参数注入,免得又把 apikey 给上传到 github 了 sync-enable 记得为 true,不然不注册 spring bean 3、运行时发现文档可以查询到,并且入库了 4、提问 5、测试结束,完结撒花 2 个帖子 - 2 位参与者 阅读完整话题

v2ex · 2026-06-11 21:30:13+08:00 · tech

🌐 lingducloud | 全球云资源一站式服务商 📩 客服 Telegram:cloudcup 🔥 合作平台: 阿里云国际|腾讯云国际|华为云国际| AWS | GCP | Azure 🚀 核心业务: 代开代充: 国际站账号快速开通,免绑定个人外币卡。 灵活支付: 支持 USDT 充值美金、支付宝便捷收款。 安全隐私: 匿名隔离机制,有效规避风控风险。 全线产品: 免备案服务器、CDN 、数据库、存储一应俱全。 网址: https://www.lingducloud.com 在云计算和产业数字化的今天,拥有一个腾讯云账号并完成实名与充值,是开发者、企业 IT 负责人、甚至 AI 创业者部署业务的第一步。无论你是想买一台轻量应用服务器( Lighthouse )来挂载个人博客,还是想调用混元大模型 API 、部署企业级容器集群,“实名认证”与“账户充值”都是两道必须前置通过的门槛。 很多人在面对云厂商的各种认证选项和复杂的财务计费账期时,往往因为选错类型导致无法开票,或者因为充值姿势不对导致资金卡着无法到账。 本文将用最接地气、拒绝废话的真人写作风格,为你拆解一份腾讯云账号实名认证与资金充值的闭眼通关全攻略。 第一篇:腾讯云实名认证——选择与避坑 点击认证前,首要明确这个账号的归属权和法律责任人。腾讯云严格区分“个人”和“企业”两种认证,一旦选错,后续变更或财务报销会极其麻烦。 一、 个人实名认证:极速秒过通道 个人认证适用于学生、自由职业者、个人站长或独立开发者。腾讯云深度接入了微信生态,因此个人认证在所有云厂商中体验最丝滑。 路径一:微信/QQ 快捷认证(首选,秒级通过) 操作:登录腾讯云控制台,进入“账号中心”-“实名认证”。选择“个人认证”。 流程:系统会要求你选择微信或 QQ 授权。直接用手机微信扫描网页上的二维码,在手机端同意授权比对实名信息。如果云账号绑定的手机号与微信实名一致,几乎在点击确认的瞬间即可完成认证。 路径二:腾讯云 App 人脸识别(适合帮他人认证或无微信者) 流程:输入真实的姓名与身份证号。系统生成二维码,使用手机下载“腾讯云 App”扫码,允许调用摄像头进行活体人脸识别(眨眼、摇头)。验证通过后,电脑端自动同步。 二、 企业实名认证:三路大军合规通关 如果这个账号未来需要开具企业增值税专用发票进行财务报销,或者要购买高配的企业专属资源,坚决不要用个人身份证去测认证,必须走企业认证流程。 腾讯云为企业提供了三种主流通道,企业可根据财务和法务的审批严格程度对号入座: 通道甲:企业微信/企业支付宝/法人微信认证(即时生效) 这是最推荐的高效通道,无需上传纸质材料。 企业微信:如果你的公司已经开通了企业微信,且你本身是该企业微信的管理员或拥有权限,直接扫码即可一键拉取工商数据认证。 法人微信:填写公司营业执照信息后,由法人用他自己的个人微信(必须已实名)扫码。系统自动比对工商局数据库,比对成功即刻通过。 通道乙:对公银行账户打款认证(国企、外资、大厂首选) 当法人信息极度保密,且公司没有上述企业钱包时,这是最标准的商务流程。 流程:精确填写公司的银行开户行、支行全称以及对公账号。腾讯云会在 1~2 个工作日内向该账户汇入一笔一元以下的随机微量资金(如 0.45 元)。 激活:财务查账收到这笔钱后,将准确的金额数字填回腾讯云控制台。金额对齐,认证即刻生效。打进去的钱无需退还。 通道丙:营业执照人工审核(兜底方案) 特殊机构(如学校、医院、非营利组织等)或新注册工商数据未同步的公司,可以上传营业执照原件彩色照片或扫描件,并下载官方的“实名认证申请公函”加盖公章。由腾讯云后台人工客服在 1~3 个工作日内人工审核通过。 第二篇:账户充值与资金池管理——避开财务暗坑 实名搞定后,接下来就是账户充值。腾讯云的计费分为“包年包月”(预付费,买断制)和“按量计费”(后付费,按秒/按小时扣费)。如果是按量计费业务(如按流量计费的带宽、大模型 API 调用),账户内必须有充足的现金余额,否则一旦欠费,系统会在极短时间内自动停服甚至释放资源,造成数据丢失。 腾讯云提供了三种主流充值方式,企业和个人需要根据账务合规性进行选择。 一、 线上即时充值(适合个人、紧急续费) 微信支付/支付宝/银联在线: 操作:控制台右上角点击“费用”-“资金管理”-“充值”。输入金额,选择微信或支付宝,扫码即可。 到账时效:实时到账。 注意点:对于企业账号,用员工个人微信号扫码充值,钱虽然进了公司云账户,但在申请开具发票时,部分严谨的财务会质疑“资金流水非对公公出”合规风险。因此,线上充值只建议用于个人账号,或企业账号在面临欠费停服风险时的紧急垫付。 二、 网银对公转账(企业标准合规渠道) 企业最标准的充值姿势是由公司的公户直接转账给腾讯云。腾讯云为每个企业账号都分配了一个专属的专属虚拟子账号。 获取子账号:在充值页面选择“网银转账”,系统会显示一个收款信息。例如: 收款人:腾讯云计算(北京)有限责任公司 开户行:招商银行深圳深圳湾支行 账号:XXXXXXXXXXXX (这串数字是你专属的,别人不一样) 转账操作:公司财务登录企业网银,向这个专属账号发起转账。 秒级自动到账的秘密:因为这个账号是专属的,只要银行完成划款,腾讯云系统检测到该专属账号进账,无需任何人工提交工单对账,系统会自动将资金充值到对应的云账户余额中。通常在转账成功后 5~15 分钟内到账。 三、 国际信用卡/PayPal (针对境外或跨境业务) 如果注册的是腾讯云国际站账号,或者是跨国公司在华业务,系统支持绑定 VISA 、MasterCard 、JCB 等国际信用卡或 PayPal 。通常在绑定后,可配置“自动扣款( Auto-recharge )”,防止因时差导致欠费停机。 第三篇:实名与充值后的“高段位”安全运营建议 很多团队在拿到实名账号并充了钱后,就直接把账号密码群发给开发人员使用。这是极其危险的“裸奔”行为。钱在账上,账号实名是你,防盗和防误操作就是第一要务。 锁死你的资金口袋:设置可用额度与欠费预警 在控制台的“费用中心”,务必配置“余额预警”。例如设置“当账户余额低于 100 元时,通过短信、邮件、微信同时轰炸管理员”。对于按量计费的资源,还可以设置日额度上限,防止因为代码写错陷入死循环、或者遭遇 DDOS 攻击时,一夜之间把账上的几万元余额全部扣光。 主账号“退居二线”,推行 CAM 权限隔离 腾讯云的主账号(用你实名和微信绑定的那个账号)拥有最高生杀大权,可以注销、过户、看所有财务账单。 正确做法:实名充值完成后,主账号直接封存并开启强 MFA (虚拟令牌双重验证)。 统一使用腾讯云的 CAM (访问控制) 功能,为主管、运维、前端分别创建子账号。 财务同学只给 QcloudFinanceFullAccess (财务全权)权限,他能充值和看账单,但不能删服务器。 运维同学只给开发和运维权限,但看不到公司的财务隐私。 开票避坑:项目上线前先试开一张票 企业在充值消费后,建议在第一个月就去“费用中心”-“发票管理”尝试开具一张发票。检查企业抬头、纳税人识别号、开户行信息是否与公司财务要求完全一致。不要等到年底统一报销或审计时,才发现信息配错或者认证类型不支持专票,届时修改将面临漫长的流程审批。 结语 腾讯云背靠腾讯生态,其整体的实名和充值链路在工程化体验上非常丝滑。“个人看重极速、企业死磕合规”是通关这两道门槛的核心底层逻辑。 花十分钟把实名资产归属定准,把对公充值的专属账号存入财务白名单,再把安全令牌和子账号权限划分清楚。把这套标准化的企业级前置工作做扎实,后续的云端架构编排和业务狂飙才能没有后顾之忧。

LinuxDo 最新话题 · 2026-06-11 21:01:57+08:00 · tech

一个月可以邀请10个人,每个邀请的人首月不管是pro pro+还是ultra都是半价,然后邀请者还能拿到20刀的额度。这样一算,自己创建个小号,拉小号之后小号10刀获得20刀api额度+auto额度,大号也获得20刀额度,这样子相当于10刀买了40刀额度。 有人需要的话我可以拉,我也能拿点额度 留个邮箱就可以了 3 个帖子 - 2 位参与者 阅读完整话题

v2ex · 2026-06-11 20:57:55+08:00 · tech

把抢机脚本从 Cloud Shell (断连就停)改成了跑在自己机器上的 launchd 守护进程,连跑直到抢到。几个关键点踩出来分享下: 用 API 签名密钥别用 session token (会过期)。 错误按消息文本分类:Out of host capacity 其实是 500 InternalError ,不能只看状态码; 429 要退避。 OCI CLI 默认对 5xx 内部重试退避~110s ,把轮换节奏全打乱→launch 加--no-retry 秒返回。 抢到即停且不能抢第二台:launch 不加 --wait-for-state (退 0=已建无歧义)+每次 launch 前查存量+KeepAlive{SuccessfulExit:false}+哨兵守卫扛重启。 Oracle Ubuntu 镜像自带 iptables 挡 80/443 (只放行 22 )+默认 MTU 9000 ,装 Web 服务记得处理。 抢中率最大杠杆:升级 PAYG (只用免费额度仍 $0 ,但拿容量优先级高得多)。 升级 PAYG 后约 1 小时抢到 4 核/24G 。机器拿来给我的 IP 检测小工具 ipok.io 做双栈 echo 端点了。有需要细节的可以交流。

v2ex · 2026-06-11 20:22:43+08:00 · tech

把抢机脚本从 Cloud Shell (断连就停)改成了跑在自己机器上的 launchd 守护进程,连跑直到抢到。几个关键点踩出来分享下: 用 API 签名密钥别用 session token (会过期)。 错误按消息文本分类:Out of host capacity 其实是 500 InternalError ,不能只看状态码; 429 要退避。 OCI CLI 默认对 5xx 内部重试退避~110s ,把轮换节奏全打乱→launch 加--no-retry 秒返回。 抢到即停且不能抢第二台:launch 不加 --wait-for-state (退 0=已建无歧义)+每次 launch 前查存量+KeepAlive{SuccessfulExit:false}+哨兵守卫扛重启。 Oracle Ubuntu 镜像自带 iptables 挡 80/443 (只放行 22 )+默认 MTU 9000 ,装 Web 服务记得处理。 抢中率最大杠杆:升级 PAYG (只用免费额度仍 $0 ,但拿容量优先级高得多)。 升级 PAYG 后约 1 小时抢到 4 核/24G 。机器拿来给我的 IP 检测小工具 ipok.io 做双栈 echo 端点了。有需要细节的可以交流。

LinuxDo 最新话题 · 2026-06-11 20:16:46+08:00 · tech

看到 MiMo Ultra 想起了cerebras,用的免费的glm4.7,输出快、看着爽,小工具够用 https://private-us-east-1.manuscdn.com/users/310419663026792016/uploads/VC3s3FiYBUNC3fvR4N5EYS_na1fn_5Yqo55S7MV_lia_mnKw.gif?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wcml2YXRlLXVzLWVhc3QtMS5tYW51c2Nkbi5jb20vdXNlcnMvMzEwNDE5NjYzMDI2NzkyMDE2L3VwbG9hZHMvVkMzczNGaVlCVU5DM2Z2UjRONUVZU19uYTFmbl81WXFvNTVTN01WX2xpYV9tbkt3LmdpZiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTc5ODc2MTYwMH19fV19&Key-Pair-Id=K2HSFNDJXOU9YS&Signature=hbYY4nTkeXKYhSuLL69Q1nRLBvvo6g4Ea5BydOtuCK2Y6fsUI9K0Lf5iCiOn3sP3kNXO9NtY9BkDaxMkNrdwSHFW2NcYlX0iQUrDf-N01yDqYkdpZ02nrf4JvJT~ZHEzeFBXgB1ZJQrwn0x66jyTFJEO8LXO9tubYBof11Z9ky8RmyMbArdkHs-kYlaXR8-NJVa74i5i8h9n42~BIFc6bQ1fgHjqoMt6WX0OKJFgzx~cEEjEQLKxRIGRcmCg~bngGiTYEU3n-Wr3gz9M0SJaJ0kb2gFPgKX8hLwGnXLpc8Dj0vI2CxzrWirlBEiwFTLBG3ydQm9DAft-nmuVuKG4ag__ (图片大于 4 MB) 1 个帖子 - 1 位参与者 阅读完整话题

LinuxDo 最新话题 · 2026-06-11 20:16:31+08:00 · tech

今天很多号挂了,我们一直在找号找渠道,所以白天公益站不可用了一段时间 Codex公益站: https://new.sharedchat.cc/ RawChat付费站: https://rawchat.cn/ 声明:在资源紧张的时候我们还是会优先保障付费站的,希望各位佬友理解 新规则修改:部分仅跨站注册的用户可以到公益站使用了 qq群:758607042(有问题群内反馈回复会快点,群内有技术支持) 13 个帖子 - 13 位参与者 阅读完整话题