116 lines
3.3 KiB
JSON
116 lines
3.3 KiB
JSON
{
|
||
"app": "pbls",
|
||
"app_cn": "PBL Agent OS 验证原型(Phase 0/1)",
|
||
"port": 9300,
|
||
"host": "0.0.0.0",
|
||
"port_source": "projects/pbls/env/test.json(唯一事实源,本文件与其同值 9300)",
|
||
"debug": false,
|
||
"website": {
|
||
"root": "wwwroot",
|
||
"indexes": ["index.ui", "index.tmpl", "index.html"],
|
||
"processors": [
|
||
[".tmpl", "tmpl"],
|
||
[".ui", "bui"],
|
||
[".dspy", "dspy"]
|
||
],
|
||
"static": [".js", ".css", ".png", ".jpg", ".jpeg", ".gif", ".svg", ".ico", ".woff", ".woff2", ".ttf", ".map"],
|
||
"session": {
|
||
"enabled": true,
|
||
"timeout": 7200,
|
||
"cookie_name": "pbls_sid"
|
||
},
|
||
"upload": {
|
||
"max_size": 104857600,
|
||
"allow_ext": [".png", ".jpg", ".jpeg", ".gif", ".mp4", ".mp3", ".wav", ".pdf", ".docx", ".xlsx", ".json", ".zip", ".glb", ".gltf"],
|
||
"store_dir": "upload"
|
||
}
|
||
},
|
||
"db": {
|
||
"engine": "mariadb",
|
||
"host": "127.0.0.1",
|
||
"port": 3306,
|
||
"user": "pbls",
|
||
"password": "Pbls#Test2026",
|
||
"dbname": "pbls",
|
||
"charset": "utf8mb4",
|
||
"collation": "utf8mb4_general_ci",
|
||
"tcp_only": true,
|
||
"pool": {
|
||
"min": 2,
|
||
"max": 16,
|
||
"idle_timeout": 600
|
||
}
|
||
},
|
||
"module_dbname": {
|
||
"apppublic": "pbls",
|
||
"sqlor": "pbls",
|
||
"ahserver": "pbls",
|
||
"appbase": "pbls",
|
||
"rbac": "pbls",
|
||
"accounting": "pbls",
|
||
"world": "pbls",
|
||
"scene": "pbls",
|
||
"entity": "pbls",
|
||
"script_engine": "pbls",
|
||
"scense_runtime": "pbls",
|
||
"scense": "pbls",
|
||
"scense_game": "pbls",
|
||
"pbl_common": "pbls",
|
||
"pbl_appcodes": "pbls",
|
||
"pbl_governance": "pbls",
|
||
"pbl_blueprint": "pbls",
|
||
"pbl_template": "pbls",
|
||
"pbl_validation": "pbls",
|
||
"pbl_compiler": "pbls",
|
||
"pbl_agent_runtime": "pbls",
|
||
"pbl_evidence": "pbls",
|
||
"pbl_assessment": "pbls",
|
||
"pbl_domain_ext": "pbls",
|
||
"pbl_scense_ext": "pbls",
|
||
"pbl_runtime_ext": "pbls",
|
||
"pbl_kdb_ext": "pbls",
|
||
"pbl_analytics": "pbls"
|
||
},
|
||
"load_order": [
|
||
"apppublic", "sqlor", "ahserver", "appbase", "rbac", "accounting",
|
||
"world", "scene", "entity", "script_engine", "scense_runtime", "scense", "scense_game",
|
||
"pbl_common", "pbl_appcodes", "pbl_governance", "pbl_blueprint", "pbl_template",
|
||
"pbl_validation", "pbl_compiler", "pbl_agent_runtime", "pbl_evidence", "pbl_assessment",
|
||
"pbl_domain_ext", "pbl_scense_ext", "pbl_runtime_ext", "pbl_kdb_ext", "pbl_analytics"
|
||
],
|
||
"rbac": {
|
||
"enabled": true,
|
||
"anonymous_paths": ["/api/public/health", "/favicon.ico"],
|
||
"roles": [
|
||
"owner.pbls", "admin.pbls", "teacher.pbls", "assistant.pbls",
|
||
"student.pbls", "observer.pbls", "owner.audit"
|
||
]
|
||
},
|
||
"agent_tools": {
|
||
"arbitration": "fail-closed",
|
||
"enabled_count": 13,
|
||
"disabled_count": 9,
|
||
"contract_doc": "projects/pbls/docs/01-design/agent-tool-contract.md",
|
||
"deny_on": ["not_in_whitelist", "invalid_params", "missing_tenant_context"]
|
||
},
|
||
"pbl": {
|
||
"tenant_required": true,
|
||
"fail_closed_on_missing_tenant": true,
|
||
"validation_dimensions": 14,
|
||
"quality_levels": 5,
|
||
"append_only_tables": 11,
|
||
"compiler_deterministic": true,
|
||
"evidence_idempotent": true,
|
||
"runtime_single_transaction": true,
|
||
"kdb_write_allowed": false,
|
||
"referenced_base_table_alter_allowed": false
|
||
},
|
||
"logging": {
|
||
"level": "INFO",
|
||
"dir": "logs",
|
||
"rotate_mb": 50,
|
||
"backup_count": 10,
|
||
"audit_enabled": true
|
||
}
|
||
}
|