知识方舟跃迁 - 软考架构师游戏化学习引擎
- Python 59%
- JavaScript 27.2%
- CSS 12.3%
- HTML 0.9%
- Shell 0.6%
|
|
||
|---|---|---|
| .codegraph | ||
| deploy | ||
| docs | ||
| specs | ||
| src/ark | ||
| static | ||
| tests | ||
| .gitignore | ||
| index.html | ||
| README.md | ||
ARK 知识方舟跃迁(Ticket #2 脚手架)
包裹 senior-software-architect-review 的游戏化学习 Web 应用(软考系统架构设计师备考)。
运行
# 开发服务器(默认配置,DB 落在 data/ark_state.db)
PYTHONPATH=src python3 -m uvicorn ark.app:app --host 127.0.0.1 --port 8000
# 或工厂模式
PYTHONPATH=src python3 -m uvicorn ark.app:create_app --factory
# 测试(提交前必须全绿)
PYTHONPATH=src python3 -m pytest tests/ -q
环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
ARK_REPO_ROOT |
/root/git/senior-software-architect-review |
Golden KG 根目录(只读) |
ARK_DB_PATH |
<repo>/data/ark_state.db |
SQLite 状态库 |
ARK_LLM_API_KEY |
(空=降级占位) | NewAPI 代理 Key |
ARK_LLM_BASE_URL |
http://127.0.0.1:3300/v1 |
LLM 端点 |
ARK_LLM_MODEL |
glm-5.3-flash |
默认模型 |
ARK_LLM_TIMEOUT |
120 |
请求超时秒数 |
本 ticket 建立的契约(后续 ticket 依赖)
create_app(db_path=None)应用工厂:routers +/static+ 首页golden_kg:22 星域 × 3~7 矿点 = 148 个矿点;矿点 id{topic_id}#{seq}; 稀有矿脉 =frequency_count>=12 && cross_subject_value>=0.8(K03/K04/K06,共 19 个)state:状态读写唯一入口(players/star_map/ship/borer_timers/fuel_log/meta), fuel_log 物理层 append-only(DB 触发器禁止 UPDATE/DELETE)llm.chat(model, messages, temperature=0.3) -> str:永不抛异常,失败返回占位- 前端:
registerView(name, renderFn, navConfig)视图注册表;各 ticket 只维护自己的static/js/<ticket>.js+static/css/<ticket>.css
API
GET /api/star-map→{sectors[22], ores[148], rare_flags}GET /api/sector/{id}→ 星域详情 + 矿点 + 学习进度