有佬知道为啥吗?另一个电脑可以,就这个电脑不行。 2 个帖子 - 1 位参与者 阅读完整话题
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 位参与者 阅读完整话题
API Key:tp-c0x5wrgpqqjm1fhtp74758tmesl3lun3eu4xlvvxbwanwfee Base URL 兼容 OpenAI 接口协议: https://token-plan-cn.xiaomimimo.com/v1 兼容 Anthropic 接口协议: https://token-plan-cn.xiaomimimo.com/anthropic ipad 党方便测试蹬入口: https://vb.do/dashboard?autosubmit=true#prompt=hello&providerId=mi&providerName=MI&providerProtocol=openai-compatible&baseUrl=https%3A%2F%2Ftoken-plan-cn.xiaomimimo.com%2Fv1&modelId=mimo-v2.5&modelName=mimo+v2.5
API Key:tp-c0x5wrgpqqjm1fhtp74758tmesl3lun3eu4xlvvxbwanwfee Base URL 兼容 OpenAI 接口协议: https://token-plan-cn.xiaomimimo.com/v1 兼容 Anthropic 接口协议: https://token-plan-cn.xiaomimimo.com/anthropic ipad 党方便测试蹬入口: https://vb.do/dashboard?autosubmit=true#prompt=hello&providerId=mi&providerName=MI&providerProtocol=openai-compatible&baseUrl=https%3A%2F%2Ftoken-plan-cn.xiaomimimo.com%2Fv1&modelId=mimo-v2.5&modelName=mimo+v2.5
一直在 VS Code 用 Codex 今天才尝试了一下开 Fast 模式 直接将文件丢给 codex 让它执行就行了 fast-mode-enablement.txt (4.8 KB) 1 个帖子 - 1 位参与者 阅读完整话题
API Key:tp-c0x5wrgpqqjm1fhtp74758tmesl3lun3eu4xlvvxbwanwfee Base URL 兼容 OpenAI 接口协议: https://token-plan-cn.xiaomimimo.com/v1 兼容 Anthropic 接口协议: https://token-plan-cn.xiaomimimo.com/anthropic ipad 党方便测试蹬入口: https://vb.do/dashboard?autosubmit=true#prompt=hello&providerId=mi&providerName=MI&providerProtocol=openai-compatible&baseUrl=https%3A%2F%2Ftoken-plan-cn.xiaomimimo.com%2Fv1&modelId=mimo-v2.5&modelName=mimo+v2.5
看到些在卖的,说是6.25年家庭版,300块还能拉人共享。但是!有效期不可查! 这是什么来路,靠谱吗? 我在用过vaultwarden,切过去不知道体验如何 5 个帖子 - 5 位参与者 阅读完整话题
申请到了mimo-v2.5-pro-ultraspeed的内测,冲了50试试水 接入claude code,排查一个bug,就一句话!我就说了一句话: 但是这速度也真的是逆天,不到4分钟: 并且大部分时间其实是耗在首响上了,真正输出耗时极短 还好修复了,不然我心疼死 换deepseek 都够我登两天了 5 个帖子 - 3 位参与者 阅读完整话题
目前Gemini被群嘲“美国豆包”,5月仅发布Flash 3.5也让市场失望,有人认为谷歌已经严重掉队。 我这段时间使用Flash 3.5近一个月,我认为作为一款轻量模型,他的提升是巨大的,能力已经可以媲美很多更大参数量的模型,这不仅让人联想,本月即将发布的Pro 3.5会不会再次冲击巅峰,成为今年的黑马? 当前市场可能低估了谷歌的能力,但是他的技术基础是非常强大的,Claude也使用了谷歌TPU训练。所以对即将发布的新Pro模型,我还是很期待的,不知道大家怎么看,让我们一起预测一下。 在 2026 年 5 月 19 日的 Google I/O 大会主题演讲中,谷歌首席执行官桑达尔·皮查伊在发布 Gemini 3.5 架构时亲自给出了官方时间线: “We’re also excited for Gemini 3.5 Pro. We are using it internally… and it will be coming next month.”(我们对 Gemini 3.5 Pro 感到非常兴奋。目前谷歌内部正在使用它,它展现了巨大的提升,并将在下个月面世。) 16 个帖子 - 15 位参与者 阅读完整话题
环境:Windows 11 x64,Claude Code v2.1.170 众所周知claude系列模型并不是非常擅长写powershell,经常写错,而且有因为转义问题导致删库的风险。 但是之前claude code 在windows上默认调用的终端都是git bash而不是powershell,claude可以使用熟悉的bash语法,不会遇到这些问题。 然鹅,今天更新claude code到2.1.170后,发现它开始使用powershell作为终端,/config也找不到切回git bash 的选项。 有佬友知道怎么把claude code终端切回git bash吗? 5 个帖子 - 5 位参与者 阅读完整话题
佬友们,问下目前deepseekV4pro到底是什么水平,如何配合自家reasonix食用,能到什么程度,最近土耳其也涨价了,后面还是要回归国产,目前用过的国产模型只有kimi、MiniMax、MinMo、Qwen3.6、GML4.7,长期用的还是Kimi,MiniMax贼船是最近上的,目前想找一套合适国产套餐方案,其实是想Kimi + GML 5.1的,Kimi补充多模态跟做做前端,GML写后端,可是呢,这两模型的上下文太少了,GLM长期没货,而且听说很卡,前段时间又听说deepseekV4pro很强,也不知道真不真,其他模型就不考虑了,都是歪瓜裂枣,特别是MiniMax、MinMo,营销厉害,实际表现一言难尽,反正不适合用来写代码,养个龙虾勉强,属于模型界的卧龙凤雏了,各位佬友们有什么好的组合推荐或自己的搭建也可以来讨论,我每个月的预算大概就是200-300左右 3 个帖子 - 3 位参与者 阅读完整话题
API Key:tp-c0x5wrgpqqjm1fhtp74758tmesl3lun3eu4xlvvxbwanwfee Base URL 兼容 OpenAI 接口协议: https://token-plan-cn.xiaomimimo.com/v1 兼容 Anthropic 接口协议: https://token-plan-cn.xiaomimimo.com/anthropic ipad 党方便测试蹬入口: https://vb.do/dashboard?autosubmit=true#prompt=hello&providerId=mi&providerName=MI&providerProtocol=openai-compatible&baseUrl=https%3A%2F%2Ftoken-plan-cn.xiaomimimo.com%2Fv1&modelId=mimo-v2.5&modelName=mimo+v2.5
看到有人发帖子问怎么选NAS硬件的,最近打算配个NAS,做了些功课分享给大家! 把一些长期挂载在工作电脑上一些任务放到NAS上面,把微信挂载在NAS上面,做了一些功课,。最终锁定了三款:绿联的DXP4800 Plus,铭凡 N5,天钡WTR MAX。 最开始下单了绿联的DXP4800 Plus,8505的CPU,后来发现了后面两款,N5研究了下做工更好,而且电口比光口更使用,接近的价格情况下,H255 CPU的性能是4800 Plus的两倍,线程更多,而且扩展性能更好,盘位更多。也考虑过独立主机+硬盘盒的方案,比较下来价格接近甚至更高,而且更占地方,接口也不够丰富。 另外配置了24Gx2的两条内存,2000大洋,淘了个14G得东芝HDD,1600,最近真的是存储价格暴涨。。。想起来去年就想配置的。。血亏! 下一步就是要考虑NAS里面装什么了,装个飞牛OS或者也在考虑要不直接上个Debian,微信挂在NAS上面,然后弄个影音中心,hermes或者小龙虾。大家还有推荐的软件工具吗,打算把MCP服务器也放在NAS上面这面后面调用起来也方便。 另外庆祝一下自己马上就要三级!!真的从L站学到很多 6 个帖子 - 4 位参与者 阅读完整话题
莫比乌斯nebius要下架ds32了,我的翻译模型啊 List of deprecated models deepseek-ai/DeepSeek-V3.2 deepseek-ai/DeepSeek-V3.2-fast MiniMaxAI/MiniMax-M2.5-fast moonshotai/Kimi-K2.5 moonshotai/Kimi-K2.5-fast openai/gpt-oss-120b-fast PrimeIntellect/INTELLECT-3 Qwen/Qwen3-235B-A22B-Thinking-2507-fast Qwen/Qwen3-Next-80B-A3B-Thinking-fast Qwen/Qwen3.5-397B-A17B-fast zai-org/GLM-5 List of deprecated models deepseek-ai/DeepSeek-V3.2 deepseek-ai/DeepSeek-V3.2-fast MiniMaxAI/MiniMax-M2.5-fast moonshotai/Kimi-K2.5 moonshotai/Kimi-K2.5-fast openai/gpt-oss-120b-fast PrimeIntellect/INTELLECT-3 Qwen/Qwen3-235B-A22B-Thinking-2507-fast Qwen/Qwen3-Next-80B-A3B-Thinking-fast Qwen/Qwen3.5-397B-A17B-fast zai-org/GLM-5 3 个帖子 - 3 位参与者 阅读完整话题
API Key:tp-c0x5wrgpqqjm1fhtp74758tmesl3lun3eu4xlvvxbwanwfee Base URL 兼容 OpenAI 接口协议: https://token-plan-cn.xiaomimimo.com/v1 兼容 Anthropic 接口协议: https://token-plan-cn.xiaomimimo.com/anthropic ipad 党方便测试蹬入口: https://vb.do/dashboard?autosubmit=true#prompt=hello&providerId=mi&providerName=MI&providerProtocol=openai-compatible&baseUrl=https%3A%2F%2Ftoken-plan-cn.xiaomimimo.com%2Fv1&modelId=mimo-v2.5&modelName=mimo+v2.5
前言 目前我把游戏分别放在本地 D:\game 和NAS的 G:\game (映射盘符)上运行(主要是gal和一些SLG太占空间了,又不想删)。长时间后, Local,Roaming,LocalLow 里会有各种游戏生成的存档和配置文件目录。 删游戏时这些目录并不会自动消失,AppData 越来越臃肿,想手动清理又怕删错,备份更是无从下手 于是我写了一套 PowerShell 脚本: 实时监控文件夹创建,自动记录游戏路径和存档位置,并在确认后将存档迁移到统一目录,在原位置留下符号链接 。这样既能把存档集中管理,又能让 AppData 保持干净。不过,NAS 映射盘符是整个过程里最大的坑(但大多佬们似乎用不到)。本文将分享我从“映射失败”到“稳定挂载”的全过程,以及脚本在中文转码、路径匹配、去重、队列管理等方面踩过的坑和最终方案。 而且我现在的环境很特殊:NAS 和主机用网线直连,主机通过 ICS 让 NAS 共享校园网。下一篇博客会补充 NAS 实战中的更多内容(为此我花了一周在学习网络通信协议)。 手动查找并迁移已有文件 1. 按修改时间查找文件 如果知道文件大概的修改时间范围,可以用以下命令快速定位: Get-ChildItem -Path "D:\game" -Recurse -File | Where-Object { $_.LastWriteTime -ge "2026-06-01 10:40" -and $_.LastWriteTime -le "2026-06-01 11:00" } 找到后根据完整路径判断属于哪个游戏,然后手动复制存档到备份目录(例如 D:\GameSaves\manual )。 2. 批量迁移脚本(BAT 示例) 对于大量已知映射关系的配置文件,可以写一个批处理脚本。 注意:BAT 脚本如需输出中文,必须保存为 ANSI(GBK) 编码;而给 AI 或代码库看的脚本建议用 UTF-8。 @echo off set SRC1=C:\Users\admin\AppData\Local\GameA\Save set DST1=D:\GameSaves\GameA xcopy "%SRC1%" "%DST1%" /E /I /Y set SRC2=C:\Users\admin\AppData\LocalLow\GameB set DST2=D:\GameSaves\GameB xcopy "%SRC2%" "%DST2%" /E /I /Y echo 迁移完成 pause NAS 盘符映射 1. 在 Windows 中映射 NAS 文件夹 我的 NAS 型号是绿联 Dxp4800plus,通过 ICS 共享网络,设置的私网IP 为 192.168.137.20 。我把所有游戏放在 NAS 共享文件夹 ACG (原名 acg资源 ,后来改名)下,并映射到主机的 G: 盘。 正确映射方法(一定要勾选“登录时重新连接”) : 右键“此电脑” → “映射网络驱动器”。 驱动器选择 G: ,文件夹选择 NAS设备\ACG 必须勾选"登录时重新连接" ,不然后面开机自启会出问题。 用校园网连接NAS时,在 网络 可能会找不到设备,需要先进入 WLAN 把校园网从专用切换为公用,再在 网络 里重新转为专用,才能发现 NAS 设备。我现在也没搞清楚根本原因是什么,如果佬们知道正确的修改方法请告诉我。 2. 几个踩坑点 踩坑 1:修改共享名称后映射失效 当我把共享文件夹从 acg资源 改名为 ACG 后,就无法进入之前映射好的 G: 盘了。这是因为映射驱动器指向的远程路径是 \\...\acg资源 ,而实际共享已不存在。 解决方法 : 先删除旧映射G盘 按照上述步骤重新映射到新文件夹 ACG 一旦修改 NAS 共享名,必须同时更新所有客户端的映射,并更新脚本中的路径 踩坑 2:到底该用盘符(G:)还是 UNC 路径(\IP\share)? 这是困扰我最久的问题(主要是不停打开游戏和脚本测试,还要不断删除对应的文件和json内容)。 脚本需要匹配运行中游戏的可执行文件路径,而 Get-Process 返回的 Path 属性 在不同启动方式下表现不一致 : 如果通过资源管理器双击 G:\game\xxx.exe 启动,进程路径有时是 G:\game\... (盘符形式)。 如果通过 \\192.168.137.20\ACG\game\xxx.exe 直接启动,进程路径是 UNC。 有些游戏启动器可能会强制转换路径。 我最初按 UNC 路径 \\192.168.137.20\ACG\game 设置 $gameRoot ,但实际运行时却匹配不到(因为进程路径是 G:\game 开头)。后来改为 G:\game 就成功了,所以最稳妥的做法是 把盘符和UNC都配置上 ,让脚本自己去匹配。 不知道为什么,在 powershell 中 cd \\192.168.137.20\ACG\game 却没有问题 踩坑 3:开机自启时 G 盘还未连上 设置任务计划程序开机启动脚本后,发现脚本虽然运行了,但始终检测不到 NAS 上的游戏。日志显示 [注意] 未检测到游戏进程 。 原因:用户登录后,系统需要几秒钟来恢复网络驱动器。而脚本在登录瞬间就执行了,此时 G: 盘还不存在。 解决方案 :在任务计划程序的触发器设置中,添加 “延迟任务时间 30 秒” (或更长,如 60 秒),这样脚本会等待网络和映射完全准备好再启动。 实现自动化监控脚本 核心需求: 监控三个存档常用目录: %LOCALAPPDATA% 、 %APPDATA% 、 %USERPROFILE%\AppData\LocalLow (即 Local,Roaming,LocalLow ) 当有新文件夹被创建(某个游戏第一次生成存档)时,自动记录 同时检查本地 D:\game 和 NAS 映射的 G:\game 路径,检测当前运行的游戏进程并将其 exe 路径以 Base64 存入队列 1. 设置 PowerShell 执行策略 首次运行脚本前,需要允许执行本地脚本: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 2. 监控脚本(Watch-GameSaves.ps1) 以下为脚本核心结构(完整代码略去,仅说明逻辑): 定义监控根目录、排除文件夹列表。 使用 FileSystemWatcher 监视 $watchPaths 下的文件夹创建事件。 事件触发后: 跳过已存在的连接点或排除文件夹。 延迟 3 秒,给游戏时间完成写入。 获取正在运行的进程,匹配路径是否以 D:\game 或 G:\game 开头。 将匹配到的第一个游戏 exe 路径转为 Base64(避免 JSON 中的转义和乱码问题)。 将存档路径、游戏 exe Base64、时间等信息写入 pending.json 。 3. 解决中文乱码:Base64 转码 因为游戏路径中可能出现中文(如“除灵猎人”),直接存储到 JSON 会导致编码混乱(而且很难解决,不论将文件保存为UTF-8还是GBK都不行,因为本质是在action中进行的解码)。解决方法是将 exe 路径进行 Base64 编码: { "srcPath": "C:\\Users\\admin\\AppData\\Local\\NebelTR", "time": "2026-06-04 15:28:26", "gameExeBase64": "RDpcZ2FtZVxSUEdcQkJR5aSn5aW944GNXOmZpOeBteeMjuS6ulzpmaTngbXnjI7kurotQ04tMS4xMlxHYW1lLmV4ZQ==", "dirName": "NebelTR", "remark": "" } 使用时通过 [System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($base64)) 解码即可得到原始中文路径。 4. 避免重复记录已处理目录 某个存档目录已经成功迁移并创建了符号链接后,之后游戏再次运行,监控脚本又检测到同一目录的“创建”事件,就会导致重复记录。 解决方法 :在向 pending.json 追加新条目之前,先检查队列中是否已存在相同的 srcPath 。若有,直接跳过,不重复添加。这样即使链接目录被误触创建事件,也不会污染队列,同时也避免了后续转移脚本重复处理。 转移脚本与队列处理 监控是持续运行的,迁移则是定期手动触发(比如一个月或半年一次)。转移脚本读取 pending.json ,把存档从 AppData 搬走,原地建符号链接。 1. 转移脚本设计要点 从 pending.json 读取待处理项。 对每一项,先确定目标目录名。优先使用手动填写的 remark ,否则从解码后的 exe 路径自动提取游戏文件夹名,若都失败则回退到原始目录名。 通过 robocopy 将源目录完整复制到 D:\GameSaves\目标名 。 复制成功后, 删除源目录 ,并在同一位置创建一个 目录链接 指向新路径。 将迁移关系记录到 Markdown 格式的日志文件 存档迁移记录.md 中。 处理成功的条目从队列移除,失败则保留,等待下次重试。 2. 几个关键设计 安全删除和链接创建 ,这是最容易翻车的环节,有两个点必须处理好: 复制前如果目标目录已存在 (比如之前迁移过但记录丢了),直接 robocopy 会合并文件,可能造成新旧存档混杂。必须先尝试删除已有目标目录,并 检查是否真的被删干净 ;若因文件占用无法完全删除,则中止本次操作,保留队列项。 复制后删除源目录时,同样可能因文件占用导致部分删除失败 。必须确认源目录已完全消失后,才能创建链接。否则残留目录加上失败的链接创建,会让游戏存档状态混乱。若删除失败,整个迁移视为未完成,保留在队列中,下次重试。 这些检查在脚本中都是以条件判断 + 日志记录的方式实现的,确保一定成功。 迁移记录以 Markdown 表格形式写入 存档迁移记录.md ,例如: 原 C 盘快捷方式名 实际存储位置 游戏/说明 praygame D:\GameSaves\祈愿游戏 praygame 游戏存档 rmmz-game D:\GameSaves\莉可的不可思议差事 莉可的不可思议差事 这样无论后续手动浏览还是用其他工具解析,都非常直观。 队列自动清理 :每处理完一批,脚本生成一个新的 JSON 数组,只包含失败的项,覆盖写回 pending.json 。成功的自动消失,不需要手动编辑。 设置开机自启 使用 Windows 任务计划程序保证脚本在每次登录时自动运行。 操作步骤 打开“任务计划程序” (可以 Win+R 输入 taskschd.msc )。 右侧点击 “创建任务” (不是“创建基本任务”)。 名称: GameSavesMonitor 配置: Windows 10 ,勾选 “使用最高权限运行” 。 触发器 → 新建: 开始任务: 登录时 特定用户:选择你的账户(如 DESKTOP-XXX\admin ) 高级设置: 延迟任务时间 30 秒 (给网络驱动器映射留出时间) 确保“已启用”被勾选。 操作 → 新建: 程序或脚本: powershell.exe 添加参数: -WindowStyle Hidden -ExecutionPolicy Bypass -File "D:\Scripts\Watch-GameSaves.ps1" 起始于(可选): D:\Scripts 条件 :建议取消“只有在计算机使用交流电源时才启动此任务”(笔记本)。 设置 :勾选“如果任务失败,按以下频率重新启动”(间隔 1 分钟,最多 3 次)。 确定保存。 验证自启是否生效 重启电脑后登录, Win+R 输入 taskschd.msc 查看 显示所有正在运行的任务 。 检查日志文件 D:\GameSaves\监控调试日志.txt ,应包含最新的启动时间戳。 总结 通过这套方案,无论游戏安装在本地还是 NAS,只要启动游戏产生配置文件夹,脚本就会自动记录存档路径和对应的游戏 exe 位置(Base64 编码),并利用任务计划程序实现开机自启,再配合手动或自动迁移脚本,基本可以保证AppData较为干净。 由于所有操作都在 AppData 内进行(删除、创建链接), 直接贴出完整脚本容易导致佬们在不理解的情况下误操作,造成数据丢失 。因此本文只讲逻辑和关键点,佬们可以根据以上思路自行编写,或让 AI 辅助生成。真有需要的佬可以私信我,如果对某一块的实现细节感兴趣,也欢迎留言交流。 2 个帖子 - 2 位参与者 阅读完整话题
脚本 #!/data/data/com.termux/files/usr/bin/bash set -euo pipefail readonly SCRIPT_NAME="$(basename "$0")" readonly MIMO_PACKAGE_NAME="@mimo-ai/cli" readonly MIMO_PACKAGE_VERSION="${MIMO_CODE_VERSION:-${MIMOCODE_VERSION:-latest}}" readonly PREFIX_DIR="${PREFIX:-/data/data/com.termux/files/usr}" readonly HOST_MIMO_PATH="$PREFIX_DIR/bin/mimo" readonly MIMO_CLI_PKG_DIR="$PREFIX_DIR/lib/node_modules/@mimo-ai/cli" readonly MIMO_ARCH_PKG_NAME="@mimo-ai/mimocode-linux-arm64" readonly MIMO_ARCH_PKG_DIR="$PREFIX_DIR/lib/node_modules/$MIMO_ARCH_PKG_NAME" readonly TMP_ROOT="$HOME/tmp" readonly BACKUP_DIR="$TMP_ROOT/mimocode-backups" readonly WRAPPER_MARKER="# mimocode-termux-glibc-wrapper" # Resolved by install_mimo_package() after locating the real glibc ELF. MIMO_BINARY_PATH="" MIMO_RESOLVED_VERSION="" readonly C_BOLD_BLUE="\033[1;34m" readonly C_BOLD_GREEN="\033[1;32m" readonly C_BOLD_YELLOW="\033[1;33m" readonly C_BOLD_RED="\033[1;31m" readonly C_RESET="\033[0m" info() { printf '%b[INFO]%b %s\n' "$C_BOLD_BLUE" "$C_RESET" "$*"; } success() { printf '%b[ OK ]%b %s\n' "$C_BOLD_GREEN" "$C_RESET" "$*"; } warn() { printf '%b[WARN]%b %s\n' "$C_BOLD_YELLOW" "$C_RESET" "$*" >&2; } die() { printf '%b[ERR ]%b %s\n' "$C_BOLD_RED" "$C_RESET" "$*" >&2; exit 1; } usage() { cat <<EOF Usage: bash $SCRIPT_NAME What it does (glibc-runner mode, no proot): 1. Installs glibc-repo, refreshes apt metadata, installs glibc-runner. 2. Installs nodejs-lts + npm in Termux (if missing). 3. npm installs ${MIMO_PACKAGE_NAME} globally, then force-installs the ${MIMO_ARCH_PKG_NAME} native linux-arm64 package. 4. Skips MiMoCode's postinstall script because Termux Node reports process.platform='android' and the upstream script looks for a non-existent @mimo-ai/mimocode-android-arm64 package. 5. Replaces \$PREFIX/bin/mimo with a grun wrapper that runs the glibc ELF directly on Termux. Environment overrides: MIMO_CODE_VERSION npm package version/tag, default: ${MIMO_PACKAGE_VERSION} examples: latest, preview, 0.1.0, v0.1.0 MIMOCODE_VERSION alias for MIMO_CODE_VERSION Notes: - Official MiMoCode install docs: https://github.com/XiaomiMiMo/MiMo-Code - glibc-runner injects glibc via LD_LIBRARY_PATH; kernel calls are native. EOF } command_exists() { command -v "$1" >/dev/null 2>&1; } # ELF magic = 7f 45 4c 46; e_machine at offset 18 = 0xb7 for EM_AARCH64. is_valid_aarch64_elf() { local f="$1" [ -f "$f" ] || return 1 local magic machine magic=$(od -An -tx1 -N4 "$f" 2>/dev/null | tr -d ' \n') [ "$magic" = "7f454c46" ] || return 1 machine=$(od -An -tx1 -j18 -N1 "$f" 2>/dev/null | tr -d ' \n') [ "$machine" = "b7" ] } find_arch_binary() { local candidate for candidate in \ "$MIMO_ARCH_PKG_DIR/bin/mimo" \ "$MIMO_CLI_PKG_DIR/bin/.mimocode"; do if is_valid_aarch64_elf "$candidate"; then MIMO_BINARY_PATH="$candidate" return 0 fi done while IFS= read -r candidate; do if is_valid_aarch64_elf "$candidate"; then MIMO_BINARY_PATH="$candidate" return 0 fi done < <(find "$MIMO_ARCH_PKG_DIR" "$MIMO_CLI_PKG_DIR" -type f -size +10M 2>/dev/null) return 1 } ensure_tmp_root() { mkdir -p "$TMP_ROOT" [ -w "$TMP_ROOT" ] || die "Temp directory is not writable: $TMP_ROOT" export TMPDIR="$TMP_ROOT" } require_termux() { [ -d "$PREFIX_DIR" ] || die "This script must run in Termux." command_exists pkg || die "pkg not found. This script must run in Termux." if [ -r /proc/1/status ] && grep -q 'TracerPid:.*[1-9]' /proc/1/status 2>/dev/null; then warn "Detected non-zero TracerPid on PID 1 -- looks like a proot session." warn "Run this script from a plain Termux shell, not from inside proot-distro." fi } ensure_termux_package() { local package_name="$1" if dpkg -s "$package_name" >/dev/null 2>&1; then success "Termux package already installed: $package_name" return 0 fi info "Installing Termux package: $package_name" pkg install -y "$package_name" success "Installed Termux package: $package_name" } ensure_glibc_runner() { ensure_termux_package "glibc-repo" if ! apt-cache show glibc-runner >/dev/null 2>&1; then info "Refreshing apt metadata so glibc-repo becomes visible" pkg update -y || apt-get update -y || true fi ensure_termux_package "glibc-runner" command_exists grun || die "grun not found after installing glibc-runner." } ensure_nodejs() { if command_exists node && command_exists npm; then success "Termux node present: $(node --version), npm $(npm --version)" return 0 fi if dpkg -s nodejs >/dev/null 2>&1; then success "nodejs already installed" else ensure_termux_package "nodejs-lts" fi command_exists node && command_exists npm || die "node/npm not found after installing nodejs." } resolve_mimo_version() { local requested="$MIMO_PACKAGE_VERSION" if [ "$requested" != "latest" ]; then requested="${requested#v}" fi local pkg_spec="$MIMO_PACKAGE_NAME" if [ "$requested" != "latest" ]; then pkg_spec="${MIMO_PACKAGE_NAME}@${requested}" fi info "Resolving version for ${pkg_spec}" local resolved resolved=$(npm view "$pkg_spec" version 2>/dev/null | tail -n1) \ || die "Failed to resolve version for ${pkg_spec} via npm view" [[ "$resolved" =~ ^[0-9]+\.[0-9]+ ]] \ || die "npm view returned a bogus version: '$resolved'" MIMO_RESOLVED_VERSION="$resolved" } backup_existing_launcher() { mkdir -p "$BACKUP_DIR" [ -e "$HOST_MIMO_PATH" ] || return 0 if grep -Fq "$WRAPPER_MARKER" "$HOST_MIMO_PATH" 2>/dev/null; then success "glibc-runner wrapper already in place" return 0 fi local backup_path="$BACKUP_DIR/mimo.host-backup.$(date +%Y%m%d_%H%M%S)" cp -P "$HOST_MIMO_PATH" "$backup_path" success "Backed up existing launcher to $backup_path" } install_mimo_package() { resolve_mimo_version local main_version="$MIMO_RESOLVED_VERSION" local pinned_main="${MIMO_PACKAGE_NAME}@${main_version}" local arch_spec="${MIMO_ARCH_PKG_NAME}@${main_version}" info "Installing ${pinned_main} without upstream optional platform packages" npm install -g --force --ignore-scripts --omit=optional "$pinned_main" info "Installing ${arch_spec} for Termux via glibc-runner" npm install -g --force --ignore-scripts --os=linux --cpu=arm64 "$arch_spec" find_arch_binary || die "No valid aarch64 ELF found under $MIMO_ARCH_PKG_DIR. \ The arch package may not have unpacked correctly; inspect with: \ ls -la $MIMO_ARCH_PKG_DIR" success "MiMoCode native binary: $MIMO_BINARY_PATH ($(stat -c %s "$MIMO_BINARY_PATH" 2>/dev/null || echo '?') bytes)" } install_host_wrapper() { local tmp_wrapper tmp_wrapper="$(mktemp "$TMP_ROOT/mimo-grun.XXXXXX")" cat >"$tmp_wrapper" <<EOF #!/data/data/com.termux/files/usr/bin/sh $WRAPPER_MARKER mkdir -p "\$HOME/tmp" 2>/dev/null || true export TMPDIR="\${TMPDIR:-\$HOME/tmp}" exec grun "$MIMO_BINARY_PATH" "\$@" EOF chmod 755 "$tmp_wrapper" rm -f "$HOST_MIMO_PATH" mv "$tmp_wrapper" "$HOST_MIMO_PATH" chmod 755 "$HOST_MIMO_PATH" success "Installed Termux launcher: $HOST_MIMO_PATH" } verify_install() { info "Verifying binary via grun" grun "$MIMO_BINARY_PATH" --version info "Verifying Termux launcher" "$HOST_MIMO_PATH" --version local path_mimo="" path_mimo="$(command -v mimo 2>/dev/null || true)" if [ -n "$path_mimo" ] && [ "$path_mimo" != "$HOST_MIMO_PATH" ]; then warn "Your PATH resolves 'mimo' to $path_mimo, not $HOST_MIMO_PATH." warn "Move $PREFIX_DIR/bin earlier in PATH or remove the older launcher." fi success "MiMoCode setup completed (glibc-runner mode)" } main() { if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then usage exit 0 fi ensure_tmp_root require_termux ensure_glibc_runner ensure_nodejs backup_existing_launcher install_mimo_package install_host_wrapper verify_install cat <<EOF Run MiMoCode with: mimo Configuration: mode: glibc-runner (no proot) binary: $MIMO_BINARY_PATH launcher: $HOST_MIMO_PATH temp: $TMP_ROOT If the official installer previously added ~/.mimocode/bin before $PREFIX_DIR/bin, that older launcher may shadow this Termux wrapper. Troubleshooting: - If npm cannot resolve a preview version, install with: MIMO_CODE_VERSION=preview bash $SCRIPT_NAME - If subprocess errors mention libc/ld.so, the binary is loading Termux bionic libs via inherited LD_LIBRARY_PATH. Check glibc-runner docs. EOF } main "$@" 1 个帖子 - 1 位参与者 阅读完整话题
这个19号过期,还剩95E的credits:tp-c3oekjgy21l765awerztp-c3oekjgy21l765awerzqohizxy9r8plvv2lmfb3nneae0xiyqohizxy9r8plvv2lmfb3nneae0xiy 这个20号晚上过期,有110E:tp-cgoaf61iump38jt9pfewotgaasgbjez4ltb0gv7uq7mpvqxq 看看大家有用不 4 个帖子 - 4 位参与者 阅读完整话题
看到 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 位参与者 阅读完整话题
目前使用的 yay: yay -S [email protected] yay -S flclash = 0.89.1 实际现象:两条命令都没有定位到指定版本,yay 直接拉取安装了最新版的 flclash,完全没有触发版本锁定安装流程 是使用问题还是不能指定版本呀 7 个帖子 - 5 位参与者 阅读完整话题