码上
码上 MASHANG offline · cyberpunk · assert-judged

码上 Mashang — 离线编程学习终端

码上,就是马上。
CODE NOW · PYTHON + JAVASCRIPT · LEARN OFFLINE, ANYWHERE
装进口袋的赛博朋克编程学习终端 —— 内嵌真·CPython 3.13、JavaScript、Lua、SQL 运行时,核心学习零网络:写码、运行、判题全在本机;另有同源网页版可直接试玩
Python · JS · Lua · SQL// 真实运行时 全部离线// assert 自动判题// 语言包 按需下载// 7 套主题// 6 级段位// MIT 开源
SCROLL
NEON CITY
01 // ON-DEVICE

装机实拍REAL SCREENS · 1080×2400 · EMULATOR API 35

指挥台首页
指挥台 · HOMEXP / 连击 / 每日任务
课程练习与判题
练习判题 · EXERCISE变量快照 · assert 判题
课程讲解与图示
课程讲解 · LESSON图示对照 · 运行输出
02 // USAGE DEMO

57 秒看完整个使用流BOOT → 闯关 → 判题 → 终端 → 段位

mashang-usage-demo.mp4 — 720×1280 · 30fps · H.264
播放卡顿或无法加载? 下载原片  ·  仓库内查看
03 // MODULES

核心模块8 MODULES · CORE LEARNING OFFLINE

MOD-01

离线引擎

Chaquopy 内嵌完整 CPython 3.13——地铁、飞机、偏远地区,没有网络照样写码、运行、判题。

MOD-02

assert 判题

必须通过测试用例才能解锁下一讲(App 内);网页版可自由练习,进度本地存档。

MOD-03

变量快照

每次运行后展示命名空间里每个变量的名 / 型 / 值——全 App 独有的可视化面板。

MOD-04

神经 REPL

有状态会话、↑↓ 历史、多行块、一键重置——把终端装进兜里。

MOD-05

错题本

错题自动收录,按 SM-2 间隔重复(1 天 → 6 天 → 按难度自适应增长)安排复习。

MOD-06

内容中枢

课程包按需下载:内建函数巡礼 + DSA 基础/进阶 + JavaScript / Lua / SQL 启程(+29 讲),GitHub Pages / GitHub raw / GitCode 三级源 · SHA-256 校验。

MOD-07

七套主题

赛博霓虹 / 深空灰 / 极光绿 / 暮光紫 / 暮光橙 / 柔光护眼 / 白纸模式,外加自定义主色,即切即用不重启。

MOD-08

六段位成长

脚本小子 → 数据幽灵 → 网络浪人 → 义体黑客 → 街头传奇 → 系统架构师,XP 驱动。

04 // UNDER THE HOOD

内核可视化HOW A PHONE RUNS PYTHON — FULLY OFFLINE

别的学习 App 靠云端执行、断网即瘫;码上 把完整 CPython 3.13 直接嵌进 APK,所有代码都在这台手机本地跑。下面四张图把「它怎么做到」画给你看。

// ARCHITECTURE

运行链路从手指到 CPython,再回到屏幕

UI
赛博 HUD
Jetpack Compose · 五 Tab 导航
→
BRIDGE
PyBridge
JSON 协议桥
→
RUNTIME
CPython 3.13
Chaquopy 17 内嵌真解释器
→
SANDBOX
安全沙箱
死循环看门狗 · input 接管
→
OUTPUT
变量快照
整个命名空间可视化
// LEARNING LOOP

学习闭环教会你为止的强制动手流

✍️ 写代码
填空 / 排序 / 手写
→
▶ 运行
本机即时执行
→
assert 判题
用例不过不放行
↺
🧭 规则教练
诊断 → 三步引导
→
⚡ 升级
通过才段位 +XP
// SIX TIERS

六段位成长像打游戏一样升级

🥉
脚本小子
TIER 01
🥈
数据幽灵
TIER 02
🥉
网络浪人
TIER 03
🥇
义体黑客
TIER 04
🏆
街头传奇
TIER 05
👑
系统架构师
TIER 06
// WHAT YOU LEARN

四门语言,都能真跑REAL RUNTIME · LESSONS · ASSERT JUDGING

Python · CPython 3.13 内置 —— print 到异步协程,38 讲主线 + DSA + 内置函数
内置
JavaScript · Rhino —— console.log、字符串、分支、数组、对象统计
6 讲
Lua · LuaJ —— local 与类型、table、多返回值、string 库
6 讲
SQL · SQLite —— SELECT、聚合分组、JOIN、子查询与 NULL
6 讲
05 // CURRICULUM

38 讲 · 五幕FROM print() TO DECORATORS — NO CLOUD, NO ADS, NO ACCOUNT

curriculum.py — act list
$ python curriculum.py --list
第一幕 · 基础协议01-10print 握手 → 变量家族 → 字典金库 → 通关仪式
第二幕 · 进阶装备11-18字符串工具箱 → 函数进化 → 异常护盾 → 类与对象
第三幕 · 高阶义体19-26魔术方法 → 生成器引擎 → 装饰器 → 标准库实战
第四幕 · 边界之外27-30资源管家 → 文件 IO → 自定义异常 → __main__ 守卫
第五幕 · 生产实战31-38正则 → 类型提示 → 并发/异步 → 测试与工程化
+ 角斗场 ARENA8 大挑战(6 Python + 2 JavaScript,App 内可跑)· 霓虹计数器 / 回文侦测 / 密码防火墙…
+ 内容中枢 HUB内建函数巡礼 1 讲 · DSA 基础/进阶各 5 讲 · JavaScript / Lua / SQL 各 6 讲(共 +29 讲)

每一讲都包含:可运行示例 + OUTPUT 预览 + 图示/表格 + 随堂一问 + assert 判题实战 —— 通关即掌握。

06 // WEB CLIENT

不装 App 也能学BROWSER-NATIVE CPYTHON 3.13 · SAME COURSES, SAME ENGINE

网页版 · 在线试玩

PYODIDE 0.29.5 · CPYTHON 3.13.2 · 无需注册
  • 与手机端同一套课程 JSON与同一份 runner.py
  • 执行在 Web Worker 内,死循环可强制终止,不冻结页面
  • 进度 / XP 存本机 localStorage,刷新与深链可恢复
  • 首屏需联网下载约 12 MB WASM 内核(浏览器缓存后复用)
  • 需要现代浏览器 Chrome / Edge / Firefox / Safari 16.4+
打开网页版
网页版是 App 的子集:6 道 Python 挑战可判题,2 道 JavaScript 挑战请在 App 内体验;成就 / 连击 / 证书等 Android 专属功能不在网页端。
// SAME ENGINE, TWO RUNTIMES
# Android: CPython 3.13 via Chaquopy ./gradlew :app:assembleDebug # Web: same runner.py in Pyodide cd web python -m http.server 8765 # 两端课程同源校验 python tests/validate_content.py

为什么同源很重要:判题语义只在 runner.py 里写一次,App 与网页端行为一致;课程 JSON 只维护一份,避免「网页讲的和手机讲的不一样」。

mashang-web-demo.mp4 — 1280×800 · 28s · Chromium

真实网页端录屏:运行课程代码 → 判题通过 → XP 落盘 → REPL 交互

网页版首页
指挥台 · 进度存档
网页版课程与判题
课程详情 · 判题编辑器
网页版终端
终端 · 有状态 REPL
07 // DOWNLOAD

获取 码上FREE · OPEN SOURCE · NO SIGN-UP

直接下载 APK

RELEASES @ GITHUB · 免费 · 无广告 · 无账号
  • 系统要求 Android 7.0+(minSdk 24)
  • 架构 arm64-v8a(64 位 ARM 真机)
  • 构建 R8 混淆 Release 版 · 签名证书 CN=Mashang
  • 协议 MIT License · 可商用
  • 隐私 零数据上传 · 无账号体系
下载最新 APK
应用内暂未内置自动更新;新版本请从 Releases 下载后覆盖安装,学习数据不受影响。
// BUILD FROM SOURCE
# 克隆仓库 git clone https://gitcode.com/badhope/mashang.git cd mashang # Debug 构建 ./gradlew :app:assembleDebug # 课程内容全量校验 python tests/validate_content.py

技术栈:Kotlin + Jetpack Compose(Material3 赛博自定义主题)· Chaquopy 17.0 桥接 CPython 3.13 · DataStore 进度存储 · 单 Activity 五 Tab 导航。

08 // FAQ

常见疑问BEFORE YOU ASK

真的是 100% 离线吗?那要网络权限干嘛?
学习、写码、判题 100% 离线——CPython 3.13 解释器直接嵌在 APK 里。联网仅当你手动在「内容中枢」检查/下载新课程包时发生,且零个人数据上传。
和 Pydroid3 这类 IDE 有什么区别?
Pydroid 是开发工具;码上 是「课程即代码」的学习终端——每讲自带判题挑战与成长体系。我们的目标是教会你,而不是只给你一个空白编辑器。
会有 iOS 版吗?
当前技术栈(Chaquopy)仅支持 Android;iOS 需要另一套方案,已列入长期路线图。
可以商用吗?
可以。项目以 MIT License 开源——可自由使用、修改、分发(含商用),只需保留许可声明。详见仓库 LICENSE。