script_engine 脚本引擎模块(W-06)
脚本引擎:脚本表 CRUD + execute_script / validate_script 接口。独立模块,无业务依赖,可与 world / scene / entity 链路并行开发。
功能
- script 表 CRUD:新增 / 编辑 / 删除 / 详情 / 分页列表
- execute_script:按脚本 id 取库内脚本(或直传 content),校验通过后执行
- validate_script:校验脚本内容(语法 + 受限语法 + 调用白名单),不落库不执行
- 编码字典:
script_type(0=Python / 1=JavaScript / 2=规则表达式)、script_status(0=停用 / 1=启用)经 init/data.json(Format B appcodes)幂等落库
数据表
script:id / script_name / script_type / content / description / status / created_at / updated_at
接口约定
- REST 统一前缀:
/api/*(宿主自动路由/script_engine/api/xxx.dspy) - 错误结构:
{code, message, field, detail}(code=0 成功,400 参数错误,404 不存在,500 内部错误,501 类型暂不支持) - 分页:
{list, total} - 非法输入 100% 拦截,不落库、不执行
集成
pip install .- 宿主应用
from script_engine.init import load_script_engine→init()内调用load_script_engine() scripts/load_path.py登记 RBAC 路径;宿主load_path.py兜底build.sh生成 DDL / CRUD UI / 链接 wwwroot
接口清单(wwwroot/api/)
| 路径 | 说明 |
|---|---|
/script_engine/api/script_create.dspy |
新增脚本 |
/script_engine/api/script_update.dspy |
编辑脚本 |
/script_engine/api/script_delete.dspy |
删除脚本 |
/script_engine/api/script_get.dspy |
脚本详情 |
/script_engine/api/script_list.dspy |
分页列表({list,total}) |
/script_engine/api/script_execute.dspy |
执行脚本 |
/script_engine/api/script_validate.dspy |
校验脚本 |
Description