mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
2535 字
7 分钟
NebulaShell 隐藏成就系统——手把手教你解锁所有成就
2026-05-10

这东西怎么发现的#

事情要从我翻代码的时候说起。

oss/core/ 目录下面,有一个叫 achievements.py 的文件。我本来以为是正经的配置文件校验模块——注释写得一本正经,说什么”配置验证与完整性检查”。

直到我看到了这几行:

_DebugPrefix = "!!"

还有一个叫 _ConfigValidator 的类,里面藏了十个内部命令。而且这十个命令的名字起得特别随意:echohelpliststatsresetexportimportverifydebuginfo

这哪是什么配置验证啊,这分明就是个成就系统


入口:两个感叹号#

在 NebulaShell 的 CLI 里,正常的命令是这样的:

nebula serve
nebula info
nebula nbpf pack ...

但如果你在命令前面加两个感叹号,就能进入隐藏模式

python main.py !!help

就这么简单。两个感叹号是进入这个彩蛋系统的唯一入口。

而且你运气好的话,在输入 nebula info 的时候,有 10% 的概率会看到一行提示: ”✨ 奇怪的提示:试试在命令前加两个感叹号会怎样?比如 !!help” 还有 5% 的概率看到: ”🤔 听说有人用 !! 开头的命令发现了不得了的东西…”


所有隐藏命令#

目前有十个隐藏命令,每个都能干点不一样的事。

!!help#

查看所有可用的隐藏命令。

python main.py !!help
# 输出:
# === 内部调试命令列表 ===
# !!echo
# !!help
# !!list
# !!stats
# !!reset
# !!export
# !!import
# !!verify
# !!debug
# !!info

这是第一个该用的命令。先看看都有什么。

!!list#

列出所有成就和当前的解锁状态。

python main.py !!list
# 输出类似这样:
# 总规则数:30
# [ ] 系统启动验证 (common)
# [✓] 调试状态检测 (uncommon)
# [ ] 配置变更追踪 (rare)
# [ ] 命令α检测点 (uncommon)
# ...

[✓] 表示已解锁,[ ] 表示还没拿到。后面的括号里是稀有度。

!!stats#

查看你的成就统计数据。

python main.py !!stats
# 输出示例:
# === 验证器统计 ===
# total_rules: 30
# validated_count: 5
# completion_rate: 16.7%
# startup_count: 12
# error_total: 3
# config_changes: 2
# internal_cmds_used: 4
# first_validated: 2026-05-10

可以看到总共有多少成就、解锁了几个、完成率多少。

!!echo#

最简单的命令,就是把你说的话打印回来。

python main.py !!echo 你好世界
# 你好世界

没什么用,但用了就算一次隐藏命令使用记录,某些成就跟这个有关。

!!export#

把你的成就数据导出成一段文本。

python main.py !!export

会输出一大段看起像乱码的东西——实际上是用 base64 + zlib 压缩过的成就数据。你可以把这段文本分享给别人,或者备份起来。

!!import#

导入成就数据(目前这个功能还没写完,是个占位符)。

python main.py !!import
# 导入功能暂未实现

!!verify#

验证你的成就缓存数据有没有损坏。

python main.py !!verify
# 缓存数据完整性验证通过
# 或者
# 缓存数据完整性验证失败

!!debug#

开启调试模式。

python main.py !!debug
# 调试模式已启用

调用这个命令本身也会解锁一个成就(“调试状态检测”)。

!!info#

显示系统信息。

python main.py !!info
# 输出示例:
# === 系统信息 ===
# 已解锁成就:5
# 隐藏命令使用:4

!!reset#

重置成就进度。注意这个操作不可逆。

python main.py !!reset
# 使用 !!reset --confirm 来确认重置
# 如果你真的想清空:
python main.py !!reset --confirm

所有成就一览#

成就按稀有度分为五档:

颜色稀有度大概概率
白色common(普通)随便就能拿
绿色uncommon(不凡)稍微留意一下
蓝色rare(稀有)特定条件才能拿
紫色epic(史诗)比较难拿
金色legendary(传说)极难或需要特定时机

下面我把能挖到的成就都列出来,按获取方式分类。

基础成就(启动就送)#

成就名稀有度解锁条件
系统启动验证common第一次启动 NebulaShell
调试状态检测uncommon使用 !!debug 命令

这两个基本等于白送。

命令使用成就#

成就名稀有度解锁条件
命令α检测点uncommon使用 !!echo 命令
命令β检测点uncommon使用 !!help 命令
命令γ检测点uncommon使用 !!list 命令
全命令验证epic使用过全部 10 个隐藏命令

前面三个随便用一下就拿到了。最后一个需要把所有隐藏命令都试一遍。

时间成就#

这几个成就跟你运行的时间有关。

成就名稀有度解锁条件
夜猫子rare凌晨 2 点到 5 点之间启动 NebulaShell
早起的鸟儿rare清晨 5 点到 7 点之间启动
午夜阳光legendary正好在午夜 0 点 0 分启动

“午夜阳光”是传说级成就——你得卡在 00:00 那一瞬间启动框架。一年只有 365 次机会,错过就等明天。

节日成就#

特定日期启动自动解锁。

成就名稀有度解锁条件
新年epic1 月 1 日启动
情人节rare2 月 14 日启动
万圣节rare10 月 31 日启动
圣诞节epic12 月 25 日启动

一年就一次机会,错过了只能等明年。

插件数量成就#

成就名稀有度解锁条件
插件数量>5uncommon加载超过 5 个模组
插件数量>20epic加载超过 20 个模组
全插件收集legendary收集所有可用模组

“全插件收集”是传说级——不仅要多,还得集齐。

启动速度成就#

成就名稀有度解锁条件
快速启动<1srare框架在 1 秒内启动完成

如果你的运行环境性能较好、模组数量不多,有可能拿到。

运行时长成就#

成就名稀有度解锁条件
连续运行>7天epicNebulaShell 连续运行超过 7 天不重启
运行时长>30天legendary累计运行超过 30 天

第一个需要你的服务器稳定运行一周。第二个是传说级的——累计运行时长超过一个月。

错误处理成就#

成就名稀有度解锁条件
错误处理>100rare框架累计报错超过 100 次
崩溃恢复检测epic模组崩溃后成功恢复

“错误处理>100”——看到这个成就的时候,说明你的框架已经爆炸过一百次了。某种意义上也是一种勋章。

特殊成就#

成就名稀有度解锁条件
经典序列输入legendary在控制台依次输入:上上下下左右左右BA
深度扫描检测epic触发深度扫描
配置文件黑客rare修改配置文件超过 10 次
启动次数=77legendary正好启动 77 次
早期用户legendary在 2024 年 6 月 1 日之前开始使用
测试版本检测rare使用 beta 版本

其中最出名的是”经典序列输入”——就是科乐美秘籍,那个在魂斗罗里调 30 条命的秘籍。在 NebulaShell 里你不需要手柄,只需要连续输入对应的隐藏命令(具体顺序你得自己摸索,我说出来就没意思了)。

开发者成就#

成就名稀有度解锁条件
内存使用峰值rare内存使用达到过峰值
CPU峰值检测uncommonCPU 使用率飙高过
网络IO异常rare网络出现异常 IO
磁盘空间警告uncommon磁盘空间不足过
权限变更记录epic发生过权限变更
安全扫描完成rare安全扫描跑完一轮
备份成功验证uncommon备份操作成功
更新检查触发common触发过更新检查
日志轮转检测uncommon日志轮转过

这些你不用刻意去刷,正常使用过程中慢慢都会解锁。


成就数据的存储位置#

成就数据存在这里:

NebulaShell/oss/core/__pycache__/.validator_cache

不是明文存储的——它经过了 base64 + zlib 压缩 双重编码。如果你直接打开这个文件,看到的是一堆乱码,别慌,那是正常的。

# 如果你手贱打开了,大概长这样:
eJyLVspMLFGyqlZKLFLSUUpLzClRslJKTixIBQAOoQTR

要用 !!export 命令导出成可分享的文本,不要手动改这个文件。

换机器了怎么办?#

!!export 导出数据,保存到文本文件。到了新机器上用 !!import 导入(等这个功能实现了之后)。

目前最靠谱的方式:直接把整个 .validator_cache 文件复制到新机器的对应目录。


一些小细节#

成就通知的颜色#

每次解锁成就的时候,控制台会打印一行带颜色的消息:

  • 普通(common):白色
  • 不凡(uncommon):绿色
  • 稀有(rare):蓝色
  • 史诗(epic):紫色
  • 传说(legendary):金色
NOTE

如果你在终端里看到一行彩色文字突然冒出来,那就是解锁成就了。

深海潜水员#

每次执行 PluginManager.load() 的时候,会尝试解锁一个叫 deep_diver 的隐藏成就。这个成就在上面的列表里是找不到的——它是更深层的彩蛋。

具体解锁条件可以看看源码,目前只看到这么一句:

validator.unlock("deep_diver")

但触发条件被藏得很深。如果你解锁了,记得告诉我。

崩溃幸存者#

每次框架停止的时候,会尝试解锁 crash_survivor。触发条件同样被刻意隐藏了。

validator.track_progress("session_end")

猜测是跟”在崩溃后成功重启”有关。

连续运行检测#

框架后台有一个线程在默默计时,检测连续运行时长。如果你跑了 7 天没重启,就能拿到”连续运行>7天”的史诗成就。


快速入门:十分钟拿五个成就#

如果你想快速看看这个系统长什么样,按下面几步做:

# 1. 随便启动一次(基础成就)
python main.py &
sleep 3
kill %1
# 2. 使用 !!debug(调试状态检测)
python main.py !!debug
# 3. 试三个隐藏命令(命令检测)
python main.py !!echo 你好
python main.py !!help
python main.py !!list
# 4. 看看你都拿了哪些
python main.py !!stats

这五步走完,你至少能拿到三四个成就。


写在最后#

这个成就系统是整个 NebulaShell 里最”没用”的功能——它不影响框架运行,不提供任何实质能力,纯粹就是为了好玩。

但我觉得,这正是它最可贵的部分。

写代码的人愿意在正经功能之外,埋一堆需要用户去探索的彩蛋,说明这个项目是有灵魂的。

最后留个彩蛋:源码里有一行注释写着——“试试在命令前加两个感叹号会怎样?” 你现在已经试过了。 但你觉得,我真的只藏了这十一个彩蛋吗?

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

NebulaShell 隐藏成就系统——手把手教你解锁所有成就
https://www.starlight-apk.cn/posts/project/nebulashell/achievement-guide/
作者
Starlight-apk
发布于
2026-05-10
许可协议
Apache License 2.0

部分信息可能已经过时

目录