linux.do
21.1K subscribers
118K photos
195 videos
116 files
251K links
linux.do最新话题和热议话题
Download Telegram
小米最强模型,这对吗

使用小米的api直接调用,这对吗?
这是最强模型该有的答案?
110 posts - 58 participants

Read full topic

via LINUX DO - 热门话题 (author: Bink)

Invalid media: image
群里看到的️ 🤣️

37 posts - 35 participants

Read full topic

via LINUX DO - 热门话题 (author: zzc114)

Invalid media: image
我用AI开发了一个文字修仙小游戏

🍊 分享一个我自己用AI开发的文字修仙小游戏

之前闲来无事,玩了一下谷歌的哈吉米3,然后叫他帮我生成了一个ai修仙文字游戏的框架,后面自己加了很多本地的数据跟玩法进去,最近搞了个测试的版本来发布,欢迎大家来品鉴一下,下面列一些功能描述跟截图(代码已经开源,先贴个地址 🤪

vercel部署地址: 云灵修仙传
国内地址: 云灵修仙传
开源地址:react-xiuxian-game

🖤 喜欢的话大家可以帮我点个star!

✨️ 核心特色

🎲 AI 驱动事件系统

历练可以触发各种事件,然后去随机获取物品,目前可以触发战斗,奇遇事件,获得随机物品

🏔️ 完整修仙体系

目前开放境界 炼气期 → 筑基期 → 金丹期 → 元婴期 → 化神期 → 炼虚期 → 飞升

🎒 丰富装备系统

槽位目前这么多

🐉 灵宠养成系统

整点小宠物

🏛️ 宗门系统

🎫 抽奖系统

通过历练获得抽奖券
每 10 次抽奖必得稀有以上奖励(保底机制)
奖励包括:灵石、修为、物品、灵宠等

🏆️ 成就系统

完成各种成就,获得称号和奖励
称号提供额外属性加成

⚔️ 秘境探索

遭遇邪修、魔修、陷阱等危险事件
可能受伤、属性降低或被抢灵石
高风险高收益的随机秘境

截图太多就不一一放了,大家可以自己上手玩玩,希望多给俺提提意见

🛠️ 技术栈

前端技术

● React 19.2.0 - 最新版本的 React,享受并发特性
● TypeScript 5.8.2 - 类型安全,提升开发体验
● Vite 6.2.0 - 极速构建工具
● TailwindCSS 4.1.17 - 原子化 CSS,快速构建 UI
● Lucide React - 精美的图标库

----------------------

🌟 愿你在修仙路上,早日飞升成仙!🌟

如果这篇文章对你有帮助,欢迎点赞、收藏、转发!

Made with ❤️ by [JeasonLoop]

----------------------

48 posts - 35 participants

Read full topic

via LINUX DO - 热门话题 (author: zardvAn)

Invalid media:
image
image
image
image
有没有去上海原创动力大会的,好像有免费午餐

14 posts - 4 participants

Read full topic

via LINUX DO - 热门话题 (author: liuweiqing)

Invalid media: image
AI逆向太神了!记录逆向飞书思维导图 Protobuf 的过程(借助 Claude Code)

最近有一个项目重度依赖飞书的思维导图,大概是这样的一个东西:

好处是协作方便,自定义 style 直观快捷;坏处是与纯文本八字不合。

虽然能导出 pdf,但层级关系完全丧失了。

能理解为什么不使用 mermaid 之类的标准格式…但在这个 AI 时代,这样的东西真的很难发给 AI。

用截图的话,小一点的图还好,大图就完全乏力了。而该项目几个月来产生的思维导图恰恰是那种超大型的。

于是想着是否可以通过逆向的方式,提取出纯文本。目标是包含层级关系,最好输出为 markdown、yaml 或者 json 等易读的格式。

获取 block 文件

因为网页端是直接通过 canvas 渲染的,所以从 DOM 里什么也看不出来。

问了问 AI 才恍然大悟,原来还可以抓包呀!

原谅自己最近 AI 用得太多,思考能力减退了…

于是 F12 抓包:

这一步其实很简单,通过浏览器控制台抓一下包就能发现是个二进制。

二进制逆向确实有点困难。

不过好在现在有 AI…之前一直在用 Cursor,现在感觉 Claude Code 更加聪明。

应该说 GPT 在 Codex 上最聪明,Claude 在 Claude Code 中使用最聪明,而 Cursor…就两个模型局限都比较大。

让 Claude Code 直接分析二进制

最开始的话,其实没有什么想法。

甚至都不知道这个二进制是 protobuf,而且还是直接把整个项目的巨大的思维导图 block 丢给它。

单纯把二进制文件保存下来,然后随便截了一张截图丢给 Claude,让它自己去分析。

不过让 AI 拟定计划后再执行,每一步都形成文档,光是这一点还是知道的。

详见:https://github.com/tukuaiai/vibe-coding-cn

prompt:
whiteboard/whiteboard 这是飞书思维导图的二进制文件 [Image #1]
你尝试去逆向一下这个文件还原原始的思维导图,最好以JSON或markdown形式提供。可以使用任何语言写任何脚本、做测试之
类的。反复尝试和迭代。先拟定plan,形成plan的文档以及todolist。每进行一步都要更新文档和目前已知的信息和做的尝试
等等,然后确定下一步计划,不断往前推进。工作区限定在 whiteboard/ 文件夹下

结果是 Claude 调用工具一通分析,勉强糊出来一个 parser 的 Python 程序,采用的是手写解析二进制的方法。

输出的结果很难看,各种 padding 都不对,文字和乱码掺杂着。

这样的结果肯定不能用。

不过至少知道了文件格式是 protobuf(由 Claude 通过二进制特征发现)。

逆向 proto 失败,转为借助 blackboxprotobuf

稍微谷歌一下,发现有一个叫做 blackboxprotobuf 的 Python 库,就是用来干这个的。

https://github.com/nccgroup/blackboxprotobuf/blob/master/lib/CLI.md

其中提供一个 bbpb 的二进制程序,可以从二进制中读取 protobuf 的结构。

尝试着对二进制运行了一下:

输出的文件巨大,如上画风的有几千行。

感觉对 AI 太不友好了,让 Claude 直接去读取这个文件分析特征,得爆上下文了吧。

归根到底还是使用的二进制文件太大。既然是逆向,就应该做一个最小的实现的 example 文件,对分析友好一点。

于是就有了开头那张图,先自己做一个小一点的思维导图,把二进制下载下来。

只是这种程度的话,大概还是可以接收的:

这次运行的时候也写一个 CLAUDE.md 文件吧:
# 飞书whiteboard二进制格式逆向

目标:思维导图,需要逆向出来纯文本,要保留内容和层次关系。字体、边框样式这些都可以舍弃。

思维导图里面的文本有中文和英文,大概率是utf8

必须读一下看看思维导图在飞书上显示的是啥样:PixPin_2025-12-17_11-47-29.jpg

源文件:block

工作区限定为:whiteboard目录(当前README文件的目录)

目前已知是用protobuf编码的

注意我们的pip环境安装的软件要带前缀才能执行:

```bash
cat block | /Users/anon/.local/share/uv/python/cpython-3.13.5-macos-aarch64-none/bin/bbpb -ot ./types.json
```

保存在 types.json

你在需要时候可以去网上搜索、git clone、pip install、npm install -g、brew install等方式安装使用任何工具

要求:看看能不能逆向出proto文件,用protobuf的方式去decode它,不要手写二进制读取。不断编程和测试,小步迭代。每一步都要有todolist,每一步进行完成后要写文档

因为之前被朋友提醒说,Claude 有时候不提醒它的话,它就不知道可以用某些工具(比如 git clone 等等)。所以也明确写一下。

以及因为思维导图变小了,可以把整张图的截图也顺便发给 Claude,让它对导图的结构更加胸有成竹一点。

然后让 Claude 直接开始任务:

其实最开始想的是让 Claude 从 bbpb 生成的 types 中直接洞察出原始的 proto 文件,然后我们也直接用 protobuf 正统的那一套进行 decode。

但实际上这样还是有点天马行空,毕竟原始的 proto 文件可能很复杂。而 protobuf 这种格式稍微错一点整个就解析失败了。

实际上,Claude 在执行过程中自己会发现问题所在,自动转为使用 blackboxprotobuf 这个库:

确实好聪明。

经过几次改错后把 example 的思维导图完美提取出来了:

优化脚本

最后把我们项目原本的思维导图 protobuf 二进制文件,用这个脚本运行。

顺便让 Claude 加上输出 markdown、yaml 等能力。

遇到了一些问题,诸如 yaml 格式只能提取出一个父节点而忽略其他的、markdown 格式有换行问题、可能存在节点循环引用导致卡死等等。

都一一让 Claude 解决了。

输出的 yaml 是这种感觉:

美中不足的是,使用 blackboxprotobuf 处理比较大的文件,确实太慢了。

但其他语言上似乎也没有比较好用的、能灵活处理 protobuf 的工具。

以及,如果飞书以后更新 protobuf 的结构的话,恐怕现有的脚本就不能用了?但 protobuf 应该还好,毕竟是向后兼容的。

而且反正还可以再用 AI 改。

秉着「能用就行」的想法,在这收尾了。

总结

又一次深刻感受到了 AI 时代工作效率上的提升。

这种程度的二进制逆向,虽然也并不是特别复杂,但在以前的话,自己再怎么也得花一整天吧。

而如今直接让 Claude 帮忙解决了,自己仅仅做了一些判断和引导。

甚至都不太理解代码是怎么跑起来的,主打一个氛围(vibe)。(笑)

感觉最难的问题还是有关上下文的,例如:

如何将复杂的信息转为 AI 能够接收的格式(图片、纯文本)
如何尽量缩减上下文(使用最小可复现模型)

顺便,目前使用的 Claude Code 中转站感觉好慢,希望余额用完后换一个响应快一点的…

以上。

10 posts - 8 participants

Read full topic

via LINUX DO - 热门话题 (author: juzheng)

Invalid media:
image
image
image
image
image
image
image
image
image
image
Gemini 3 Pro:刚刚我玩2048到了1000分,并在 L 站发送此帖

没有加速

由于论坛不能发 AIGC,我就截图出来了 🤣

36 posts - 18 participants

Read full topic

via LINUX DO - 热门话题 (author: Mozi)

Invalid media:
animation
image
image
image
我在想:公益api到底有没有真正服务于需要的人?

我之前也是用的其他佬的公益站,这两天也搭建了一个,但是每次开放人员后没多久就用完了,我在想,到底没有服务于真正需要的人呢,应该也是被盗刷了。

昨天看到另一个佬对于公益api看法,说的挺对的,不管是小白还是其他都有好些问题,评论区都能看到奇奇怪怪的问题,这都AI时代了还是遇到就不会,不知道,怎么回事,用不了了,。。。。。自己没有一点解决问题的能力。

再说回公益,也有一些佬还是理解支持的,初心还是与君共享,,能活多久用多久。

48 posts - 47 participants

Read full topic

via LINUX DO - 热门话题 (author: 太子哥)
gemini总是断连是怎么回事?

其他像gpt,grok,Claude这些都能很流畅的用起来,但是gemini总是断连,有时候用着用着就突然断连了,规则分流也没啥问题,是我的学生优惠账号被风控了?

3 posts - 3 participants

Read full topic

via LINUX DO - 最新话题 (author: 宫园薰)
Exa MCP 522 无法连线

挂了美国、台湾节点通通不能用 😭

GPT Plus 也是屡败屡战,最后被踢掉了 😭
1 post - 1 participant

Read full topic

via LINUX DO - 最新话题 (author: apparition)

Invalid media: image
Gemini 3 Flash 限额,与2.5 Flash一致

免费层级RPD 20
T1层级RPD 10000
2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: HCPTangHY)

Invalid media: image
Gemini 3 Flash 模型卡发布

Build with Gemini 3 Flash: frontier intelligence that scales with you
29 posts - 17 participants

Read full topic

via LINUX DO - 最新话题 (author: HCPTangHY)

Invalid media: animation
求美妆代购/低价渠道

最近想送女朋友一些海蓝之谜/赫莲娜之类的护肤品,偶然发现代购、得物之类的渠道能便宜小一半,但是假货风险比较高,想问问万能的佬友们有没有推荐的购买渠道呢?

3 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: Loading)
Gemini最新模型:Gemini 3 Flash Preview已发布

Gemini 3 Flash Preview已发布,ai.dev可用

2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: pxyy)

Invalid media: image
Gemini 3.0 Flash 正式发布

Vercel AI、Google AI Studio、Gemini Web 均已上新。

涨价了

2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: johns)

Invalid media:
image
image
gemini-3-flash-preview-ais-applets 模型是什么,有没有佬调用试一下

12 posts - 5 participants

Read full topic

via LINUX DO - 最新话题 (author: Mozi)

Invalid media: image
Gemini3-flash在网页端已可用

不过除了flash只外居然还分出了pro和思考

4 posts - 3 participants

Read full topic

via LINUX DO - 最新话题 (author: ogas)

Invalid media: image
小白发帖庆祝第一次搭建VPS成功截图庆祝但没注意打码,3分钟后竟然...

后续就是被压力测试+IP被墙
谢谢坏东西,下次再也不敢了 😅
2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: 一匹马赛克)

Invalid media: image
gemini 3 flash。cli2api调用正常

gemini 3 flash 已经发布。之前的google one pro会员使用的gemini cli2api直接直接添加模型id models/gemini-3-flash-preview进行调用。cherrystduio测试没有任何问题,不过默认带有思考,因该cs还没更新。flash模型 思考模式应该是选择性开吧

2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: ihabwy)

Invalid media: animation
gemini多了个新的模型选项

如图,gemini的模型选项现在是3个,难道是没思考的3 flash,有思考的3 flash和3 pro?

2 posts - 2 participants

Read full topic

via LINUX DO - 最新话题 (author: jzarc9371)

Invalid media: image
从已损坏的备份中拯救数据

前言

12月15号早上,一觉醒来,拿起手机看到我的邮箱收到了内网服务无法访问的告警邮件,本以为只是简单的服务卡死,将服务器重启后就去上班了。

后来,陆续有好友联系我说网站挂了。

定位问题

晚上下班回家后,尝试将电脑断电重启,发现pve只能存活2分钟左右,然后整个系统卡死,无法进行任何操作。首先,我想到的是:会不会某个vm虚拟机或者ct容器影响到宿主机了。

因为系统只能存活几分钟,在执行禁用操作的时候,强制重启了好几次服务器。当所有的服务都停止启动后,卡死的问题依旧存在。

翻日志

没辙了,这已经不是简单的软件问题了,只好翻日志,看报错信息了。
nvme nvme0: I/O timeout, aborting

如上所示,日志中出现了好几条I/O超时消息,顿感不妙,该不会硬盘坏了吧…

找到原因

找了一圈方案,大部分都说这个错误是nvme硬盘的通病,他有一个省电模式,在某些硬件+内核的组合下会导致控制器假死。

解决方案也很简单,找到GRUB的配置文件,关闭他的自动睡眠和省电模式,在pve中这个文件位于/etc/default/grub,打开这个文件后,找到GRUB_CMDLINE_LINUX_DEFAULT属性,添加两个值:

nvme_core.default_ps_max_latency_us=0
pcie_aspm=off

GRUB_CMDLINE_LINUX_DEFAULT="quiet nvme_core.default_ps_max_latency_us=0 pcie_aspm=off"

保存文件后,执行:update-grub 命令,随后重启整个pve主机。

VM无法启动

pve启动卡死的问题解决了,现在又有了新的问题。启动我那台跑了整个网站服务的vm虚拟机时,出现了如下所示的错误:
mount: mounting /dev/sda3 /dev/sda3 on /sysroot failed: No error information
Mounting root failed.
initramfs emergency recovery shell launched.

这下坏事了,linux的根分区无法挂载了😭,应该是刚才频繁的卡死,我不断的启动pve,容器不停的启动、强制终止导致盘里这块区域的数据受损了,处于半死不活状态了。

从备份中还原

幸好我之前设置了vm容器的整机备份,连续备份并存储3天,全部放在了内网另一台机器的机械硬盘中,通过网络挂载到pve上的。

本以为一切都会很顺利,还原的时候出现了错误, zstd 解码时,发现压缩块损坏,导致还原失败。
_15-03_00_03.vma.zst : Decoding error (36) : Corrupted block detected vma: restore failed - short vma extent (2801635 < 3801600) /bin/bash: line 1: 2131 Exit 1 zstd -q -d -c /mnt/pve/nfs_usb_4t/dump/vzdump-qemu-100-2025_12_15-03_00_03.vma.zst

于是,我又尝试了另外两个备份,结果都无法还原,全部都是相同的错误。当初做备份的时候,想着我都整机备份了,而且保存了3天的备份,总不可能三个全坏吧。
progress 99% (read 318901321728 bytes, duration 722 sec)

_13-03_00_02.vma.zst : Decoding error (36) : Restored data doesn't match checksum progress 100% (read 322122547200 bytes, duration 755 sec) total bytes read 322122547200, sparse bytes 196604751872 (61%) space reduction due to 4K zero blocks 0.414% temporary volume 'local:121/vm-121-disk-0.qcow2' sucessfuly removed no lock found trying to remove 'create' lock error before or during data restore, some or all disks were not completely restored. VM 121 state is NOT cleaned up. TASK ERROR: command 'set -o pipefail && zstd -q -d -c /mnt/pve/nfs_usb_4t/dump/vzdump-qemu-100-2025_12_13-03_00_02.vma.zst | vma extract -v -r /var/tmp/vzdumptmp10764.fifo - /var/tmp/vzdumptmp10764' failed: exit code 1

现在狠狠的打脸了,我手里目前只有2023年11月迁移技术栈时,那份docker compose的初始数据。相当于我丢失了2年的数据,这我是不能接受的。

折腾到这里,我一看时间,已经凌晨1:30了,明天还要上班,带着郁闷的心情去睡觉了。

强行提取数据

睡醒后,不愿接受这个现实,想到改造的那个练习英语单词的开源项目,这1年多时间下来,平均的日活跃人数已经有40多个了,数据库存储8w多条单词数据了😑,太难受了😭

实在是想不到什么好法子了,只好在v站和朋友圈都发了求助帖

找到方案

在此,感谢v站老哥DylanC,给了我一组关键词。

晚上回家后,开始找资料,问GPT,经过一番折腾总算是把数据提取出来了。

跳过校验

从上述的错误日志中能看出,我在还原的时候已经读了99%的数据了,只是文件的完整性校验过不了,我的vm虚拟机里一整个全是docker compose编排的服务(mysql、redis、java、nginx等),理论上是比较好找回的。

pve的定时备份采用的是vzdump服务,备份出来的产物是.vma.zst格式的,他的本质是:

zstd 压缩
内部是 vma 归档
包含: qemu-server.conf disk-drive-scsi0.raw

知道这些后,我们先把网络存储中的备份文件拷贝到pve主机的/var/lib/vz/dump目录,执行下述命令,忽略校验,强行解压。
zstd -d -c --no-check vzdump-qemu-100-2025_12_13-03_00_02.vma.zst \
| vma extract -v - ./extract.partial

等待一段时间后,程序执行结束,你会发现报错依然存在,但是这不影响已经读取的数据,cd到./extract.partial目录,你应该能看到xxx.confxxx.raw文件,然后看下.raw后缀文件的空间占用,只要不是太小(占用<1GB),那么这份数据基本是没问题的,磁盘的 RAW 文件也算是被解出来了。

挂载RAW磁盘

为了防止数据遭到破坏,我们需要做只读挂载,命令如下:
losetup -fP /var/lib/vz/dump/extract.partial/disk-drive-scsi0.raw

然后,执行命令查看结果。
losetup -a
lsblk

执行后,应该能看到类似loop0loop0p1loop0p2这样的数据,找到那块空间跟你在extract.partial目录下看到的空间差不多大小的盘。

挂载分区

首先,我们通过下述命令来创建一个挂载点:
mkdir -p /mnt/rescue

随后,尝试挂载分区(loop0p1、loop0p2…等),找你的根分区,如果你运气好,p1就挂载成功了,那就不需要挂载其他的了。

我的根分区是p3,那么我挂载p3即可。
mount -o ro,norecovery /dev/loop0p3 /mnt/rescue

如果失败的话,代表它不是文件系统,需要继续尝试挂载其他分区,直到成功为止。
umount /mnt/rescue 2>/dev/null
mount -o ro,norecovery /dev/loop0p2 /mnt/rescue

最后,查看挂载点里是否有你的数据。
ls /mnt/rescue

不出意外的话,你应该能看到类似下图所示的内容。

文件成功恢复,接下来要做的就是把这些文件拷贝到安全的地方即可。

写在最后

至此,文章就分享完毕了。

我是神奇的程序员,一位前端开发工程师。

如果你对我感兴趣,请移步我的个人网站,进一步了解。

1 post - 1 participant

Read full topic

via LINUX DO - 最新话题 (author: 神奇的程序员)

Invalid media:
image
image
image
image
image
image
image
image
image
image
image
致衡可以作弊吗

手打要疯了, 就做了一下弊, 做完想起来问一下会有什么后果啊大佬们

3 posts - 3 participants

Read full topic

via LINUX DO - 最新话题 (author: z)

Invalid media: image