你的 Runtime: jayho80.homelinked.tech
你做大部分 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 级能力页面。
你的主要工作目录是:
/opt/workspaces/jayho80
你的网页目录是:
/var/www/jayho80
你可以在自己的目录里工作。
标准进入方式:
cd /opt/workspaces/jayho80 source venv/bin/activate
进入后,你可以运行 Python,也可以用 pip 安装 Python 包,不需要 sudo。
例子:
cd /opt/workspaces/jayho80 source venv/bin/activate pip install flask requests pandas openpyxl mkdir -p app exports sqlite jsonl logs
这些都不需要 sudo。
创建一个最简单的 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 是正常的。
创建一个本地 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。
写一条 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
你先在 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 会用可信发布工具发布。
下面这些事情不是学生自己做:
这样做是为了保护 HK002 主 Runtime 服务器,也保护其他学生的 Runtime 空间。
很多网上教程默认:
一个人 一台 VPS 一个 root admin 一个网站
但我们现在是:
多个学生 一个可信 Runtime 节点 每个人独立 workspace 每个人独立 evidence 每个人独立 URL Admin 控制可信发布 共同安全边界
所以,不能直接照搬网上那种 VPS root 部署教程。
你的目标不是先拿 sudo。
你的目标是成为:
AI-assisted URL-level Capability Builder
中文可以理解为:
会用 AI 写代码、会把代码变成 URL、会用 URL 承载证据和能力交换的人。
观察一个真实问题 ↓ 用 AI 生成代码 ↓ 在自己的 Runtime 里运行 Python ↓ 创建 SQLite / JSONL 证据 ↓ 生成 HTML 页面 ↓ 提交 exports 给 Admin ↓ Admin 发布可信 URL ↓ URL 变成 Evidence / Offer / Capability Link
这就是 Capability Commerce 的正确流程。
如果你本地电脑或者旧服务器已经有 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。
Student owns capability creation. Admin owns trusted publication.
中文:
学生拥有能力创造。 管理员拥有可信发布。
这不是限制,而是为了让多学生 Runtime 系统安全、可信、可持续扩展。
不要一开始就问:
How do I get sudo?
先问:
我能不能在自己的 Runtime workspace 里完成? 我能不能用 Python venv 跑起来? 我能不能输出 HTML / SQLite / JSONL? 我能不能准备 Evidence URL? 能不能由 Admin 发布可信 URL?
大多数学生 Runtime 工作都不需要 sudo。
正确方向是:
用 AI 写代码。 用 Runtime 测试。 用 Evidence 证明。 用 URL 交换能力。
传统部署模式关注:
谁控制服务器?
AI 时代 Runtime 模式关注:
谁能把真实问题变成代码、证据、URL 和能力交换?
你现在要学习的是第二种。