Jay 的 Python Runtime 权限边界说明

AI 时代的 Runtime 开发,不是传统 root 服务器部署

你的 Runtime: jayho80.homelinked.tech


1. 先说明最重要的一点

你做大部分 Python Runtime 开发,不需要 sudo

很多网上教程会用 sudo,是因为那些教程默认你是在管理一整台 VPS / 云服务器。

但我们现在的 HSIMC Runtime 系统不是这个模式。

传统 VPS 教程:
你管理整台服务器
↓
sudo install
sudo nginx
sudo systemctl
sudo certbot
HSIMC 学生 Runtime:
你管理自己的 Runtime 工作空间
↓
Python
SQLite
JSONL
HTML
Evidence
Exports
Admin 负责可信发布

这是 AI 时代的 Runtime 模式。

你现在的目标不是先成为整台服务器的 root 管理员,而是学会在自己的 Runtime 里创造能力、运行代码、留下证据,并输出 URL 级能力页面。


2. 你的工作空间在哪里

你的主要工作目录是:

/opt/workspaces/jayho80

你的网页目录是:

/var/www/jayho80

你可以在自己的目录里工作。

标准进入方式:

cd /opt/workspaces/jayho80
source venv/bin/activate

进入后,你可以运行 Python,也可以用 pip 安装 Python 包,不需要 sudo。


3. 你可以不用 sudo 做什么

例子:

cd /opt/workspaces/jayho80
source venv/bin/activate

pip install flask requests pandas openpyxl

mkdir -p app exports sqlite jsonl logs

这些都不需要 sudo。


4. Python Runtime 测试

创建一个最简单的 Python 测试:

cd /opt/workspaces/jayho80
source venv/bin/activate

cat > app/hello.py <<'PY'
print("Hello from Jay Runtime")
print("AI-to-Code → Code-to-URL → URL-to-Evidence")
PY

python app/hello.py

如果能打印出来,说明你的 Python Runtime 是正常的。


5. SQLite 测试

创建一个本地 SQLite 数据库:

cd /opt/workspaces/jayho80

python3 - <<'PY'
import sqlite3
from pathlib import Path

db_path = Path("sqlite/jay_runtime.db")
db_path.parent.mkdir(parents=True, exist_ok=True)

conn = sqlite3.connect(db_path)
conn.execute("""
CREATE TABLE IF NOT EXISTS evidence (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT,
    status TEXT,
    created_at TEXT DEFAULT CURRENT_TIMESTAMP
)
""")
conn.execute("INSERT INTO evidence (title, status) VALUES (?, ?)", ("Jay Runtime SQLite Test", "ok"))
conn.commit()

for row in conn.execute("SELECT id, title, status, created_at FROM evidence"):
    print(row)

conn.close()
PY

这也不需要 sudo。


6. JSONL Evidence 测试

写一条 JSONL 工作记录:

cd /opt/workspaces/jayho80

python3 - <<'PY'
import json, datetime
from pathlib import Path

p = Path("jsonl/events.jsonl")
p.parent.mkdir(parents=True, exist_ok=True)

record = {
    "event": "runtime_test",
    "student": "jayho80",
    "status": "ok",
    "message": "Python Runtime works without sudo",
    "ts": datetime.datetime.utcnow().isoformat() + "Z"
}

with p.open("a", encoding="utf-8") as f:
    f.write(json.dumps(record, ensure_ascii=False) + "\n")

print("written:", p)
PY

7. 如何做一个网页

你先在 exports 里生成网页文件:

cd /opt/workspaces/jayho80

cat > exports/demo.html <<'HTML'
<h1>Jay Runtime Demo</h1>

<p>This page was created inside Jay's Runtime without sudo.</p>

<pre>
AI-to-Code
↓
Code-to-URL
↓
URL-to-Evidence
↓
Evidence-to-Offer
</pre>

<p>This is the correct AI-era Runtime workflow.</p>
HTML

然后告诉 Admin:

Please publish:
/opt/workspaces/jayho80/exports/demo.html

to:

https://jayho80.homelinked.tech/demo/

Admin 会用可信发布工具发布。


8. 哪些事情由 Admin 负责

下面这些事情不是学生自己做:

这样做是为了保护 HK002 主 Runtime 服务器,也保护其他学生的 Runtime 空间。


9. 为什么这和网上教程不一样

很多网上教程默认:

一个人
一台 VPS
一个 root admin
一个网站

但我们现在是:

多个学生
一个可信 Runtime 节点
每个人独立 workspace
每个人独立 evidence
每个人独立 URL
Admin 控制可信发布
共同安全边界

所以,不能直接照搬网上那种 VPS root 部署教程。

你的目标不是先拿 sudo。

你的目标是成为:

AI-assisted URL-level Capability Builder

中文可以理解为:

会用 AI 写代码、会把代码变成 URL、会用 URL 承载证据和能力交换的人。

10. 你的 AI 时代工作流程

观察一个真实问题
↓
用 AI 生成代码
↓
在自己的 Runtime 里运行 Python
↓
创建 SQLite / JSONL 证据
↓
生成 HTML 页面
↓
提交 exports 给 Admin
↓
Admin 发布可信 URL
↓
URL 变成 Evidence / Offer / Capability Link

这就是 Capability Commerce 的正确流程。


11. 从旧 Python 系统迁移过来

如果你本地电脑或者旧服务器已经有 Python 代码,可以按这个结构迁移:

旧 Python 代码
→ /opt/workspaces/jayho80/app

旧 HTML 页面
→ /opt/workspaces/jayho80/exports

旧 SQLite 数据库
→ /opt/workspaces/jayho80/sqlite

旧日志
→ /opt/workspaces/jayho80/logs
或
→ /opt/workspaces/jayho80/jsonl

旧文档
→ /opt/workspaces/jayho80/docs

旧 evidence
→ /opt/workspaces/jayho80/evidence

然后进入 Python 环境:

cd /opt/workspaces/jayho80
source venv/bin/activate
pip install -r requirements.txt

如果没有 requirements.txt,就只安装项目真正需要的 package。


12. 权限边界原则

Student owns capability creation.
Admin owns trusted publication.

中文:

学生拥有能力创造。
管理员拥有可信发布。

这不是限制,而是为了让多学生 Runtime 系统安全、可信、可持续扩展。


13. 最后的提醒

不要一开始就问:

How do I get sudo?

先问:

我能不能在自己的 Runtime workspace 里完成?
我能不能用 Python venv 跑起来?
我能不能输出 HTML / SQLite / JSONL?
我能不能准备 Evidence URL?
能不能由 Admin 发布可信 URL?

大多数学生 Runtime 工作都不需要 sudo。

正确方向是:

用 AI 写代码。
用 Runtime 测试。
用 Evidence 证明。
用 URL 交换能力。

14. 一句话总结

传统部署模式关注:

谁控制服务器?

AI 时代 Runtime 模式关注:

谁能把真实问题变成代码、证据、URL 和能力交换?

你现在要学习的是第二种。