feat: 新增风险图谱算法与系统仪表盘及操作反馈体系
后端新增风险图谱算法模块、风险观察与反馈服务、规则 DSL 校验器和可解释性引擎,完善系统仪表盘和财务仪表盘统计, 优化 agent 运行和编排执行链路,清理旧开发文档,前端新增 系统趋势、负载热力图等多种仪表盘图表组件,完善操作反馈 对话框和工作台日期选择器,优化报销创建和审批详情交互, 补充单元测试覆盖。
This commit is contained in:
@@ -29,6 +29,9 @@ from app.services.agent_foundation_constants import (
|
||||
COMPANY_TRAVEL_RULE_SCENARIO_JSON,
|
||||
COMPANY_TRAVEL_RULE_VERSION,
|
||||
DIGITAL_EMPLOYEE_FINANCE_POLICY_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_PROFILE_SCAN_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_RISK_GRAPH_SCAN_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_RULE_DISCOVERY_TASK_CODE,
|
||||
DIGITAL_EMPLOYEE_SKILL_CATEGORIES,
|
||||
DIGITAL_EMPLOYEE_TASK_CATEGORY_MAP,
|
||||
)
|
||||
@@ -48,19 +51,27 @@ class AgentFoundationAssetSeedMixin:
|
||||
"skill_category_options": list(DIGITAL_EMPLOYEE_SKILL_CATEGORIES),
|
||||
}
|
||||
|
||||
def _finance_policy_knowledge_skill_markdown(self) -> str:
|
||||
def _read_domain_skill_markdown(
|
||||
self,
|
||||
skill_name: str,
|
||||
fallback_lines: list[str],
|
||||
) -> str:
|
||||
skill_path = (
|
||||
SERVER_DIR
|
||||
/ "src"
|
||||
/ "app"
|
||||
/ "skills"
|
||||
/ "domain"
|
||||
/ "finance-policy-knowledge-organizer"
|
||||
/ skill_name
|
||||
/ "SKILL.md"
|
||||
)
|
||||
if skill_path.exists():
|
||||
return skill_path.read_text(encoding="utf-8").strip()
|
||||
return "\n".join(
|
||||
return "\n".join(fallback_lines)
|
||||
|
||||
def _finance_policy_knowledge_skill_markdown(self) -> str:
|
||||
return self._read_domain_skill_markdown(
|
||||
"finance-policy-knowledge-organizer",
|
||||
[
|
||||
"---",
|
||||
"name: finance-policy-knowledge-organizer",
|
||||
@@ -72,7 +83,58 @@ class AgentFoundationAssetSeedMixin:
|
||||
"## 功能说明",
|
||||
"",
|
||||
"整理公司财务制度、报销口径、审批要求和知识库资料,输出可复核的结构化知识。",
|
||||
]
|
||||
],
|
||||
)
|
||||
|
||||
def _financial_risk_graph_scan_skill_markdown(self) -> str:
|
||||
return self._read_domain_skill_markdown(
|
||||
"financial-risk-graph-scanner",
|
||||
[
|
||||
"---",
|
||||
"name: financial-risk-graph-scanner",
|
||||
"description: 用于巡检财务风险图谱,生成风险观察和可复核证据链。",
|
||||
"---",
|
||||
"",
|
||||
"# 财务风险图谱巡检",
|
||||
"",
|
||||
"## 功能说明",
|
||||
"",
|
||||
"扫描新增报销单、票据、审批链、员工画像和规则命中结果,输出统一风险观察。",
|
||||
],
|
||||
)
|
||||
|
||||
def _employee_behavior_profile_scan_skill_markdown(self) -> str:
|
||||
return self._read_domain_skill_markdown(
|
||||
"employee-behavior-profile-scanner",
|
||||
[
|
||||
"---",
|
||||
"name: employee-behavior-profile-scanner",
|
||||
"description: 用于更新员工行为画像,沉淀费用、流程质量和协作治理基线。",
|
||||
"---",
|
||||
"",
|
||||
"# 员工行为画像巡检",
|
||||
"",
|
||||
"## 功能说明",
|
||||
"",
|
||||
"汇总员工费用、审批、材料完整性和智能协作数据,生成可解释的画像快照。",
|
||||
],
|
||||
)
|
||||
|
||||
def _risk_rule_discovery_skill_markdown(self) -> str:
|
||||
return self._read_domain_skill_markdown(
|
||||
"risk-rule-discovery",
|
||||
[
|
||||
"---",
|
||||
"name: risk-rule-discovery",
|
||||
"description: 用于根据风险观察反馈生成候选规则,不直接上线。",
|
||||
"---",
|
||||
"",
|
||||
"# 风险规则候选发现",
|
||||
"",
|
||||
"## 功能说明",
|
||||
"",
|
||||
"从风险观察、人工反馈和误报复盘中生成带证据、来源和置信度的候选规则。",
|
||||
],
|
||||
)
|
||||
|
||||
def _digital_employee_task_content(
|
||||
@@ -311,6 +373,67 @@ class AgentFoundationAssetSeedMixin:
|
||||
},
|
||||
)
|
||||
|
||||
risk_graph_scan_task = AgentAsset(
|
||||
asset_type=AgentAssetType.TASK.value,
|
||||
code=DIGITAL_EMPLOYEE_RISK_GRAPH_SCAN_TASK_CODE,
|
||||
name="财务风险图谱巡检",
|
||||
description="按计划扫描报销单、票据、审批链、员工画像和规则命中结果,生成风险观察与可复核证据链。",
|
||||
domain=AgentAssetDomain.SYSTEM.value,
|
||||
scenario_json=["schedule", "expense", "risk_graph", "risk_observation"],
|
||||
owner="风控与审计部",
|
||||
reviewer="顾承宇",
|
||||
status=AgentAssetStatus.ACTIVE.value,
|
||||
current_version="v1.0.0",
|
||||
published_version="v1.0.0",
|
||||
working_version="v1.0.0",
|
||||
config_json={
|
||||
**self._digital_employee_task_config(
|
||||
DIGITAL_EMPLOYEE_RISK_GRAPH_SCAN_TASK_CODE,
|
||||
"0 9 * * *",
|
||||
),
|
||||
"skill_name": "financial-risk-graph-scanner",
|
||||
"scan_scope": [
|
||||
"expense_claims",
|
||||
"invoices",
|
||||
"approval_chain",
|
||||
"employee_profiles",
|
||||
"risk_rules",
|
||||
],
|
||||
"output_format": "risk_observation_report",
|
||||
"writes_risk_observations": True,
|
||||
},
|
||||
)
|
||||
|
||||
employee_profile_scan_task = AgentAsset(
|
||||
asset_type=AgentAssetType.TASK.value,
|
||||
code=DIGITAL_EMPLOYEE_PROFILE_SCAN_TASK_CODE,
|
||||
name="员工行为画像巡检",
|
||||
description="按计划更新员工费用行为、材料完整性、审批效率和智能协作画像,为风险图谱提供画像基线。",
|
||||
domain=AgentAssetDomain.SYSTEM.value,
|
||||
scenario_json=["schedule", "employee_profile", "baseline", "risk_graph"],
|
||||
owner="风控与审计部",
|
||||
reviewer="顾承宇",
|
||||
status=AgentAssetStatus.ACTIVE.value,
|
||||
current_version="v1.0.0",
|
||||
published_version="v1.0.0",
|
||||
working_version="v1.0.0",
|
||||
config_json={
|
||||
**self._digital_employee_task_config(
|
||||
DIGITAL_EMPLOYEE_PROFILE_SCAN_TASK_CODE,
|
||||
"30 8 * * 1",
|
||||
),
|
||||
"skill_name": "employee-behavior-profile-scanner",
|
||||
"profile_dimensions": [
|
||||
"expense_intensity",
|
||||
"material_completeness",
|
||||
"approval_efficiency",
|
||||
"ai_collaboration",
|
||||
],
|
||||
"output_format": "employee_behavior_profile_snapshot",
|
||||
"writes_profile_snapshots": True,
|
||||
},
|
||||
)
|
||||
|
||||
self.db.add_all(
|
||||
[
|
||||
attachment_rule,
|
||||
@@ -324,6 +447,8 @@ class AgentFoundationAssetSeedMixin:
|
||||
invoice_mcp_asset,
|
||||
ledger_mcp_asset,
|
||||
finance_policy_knowledge_task,
|
||||
risk_graph_scan_task,
|
||||
employee_profile_scan_task,
|
||||
]
|
||||
)
|
||||
|
||||
@@ -490,6 +615,22 @@ class AgentFoundationAssetSeedMixin:
|
||||
change_note="初始化整理公司财务知识制度能力。",
|
||||
created_by="系统初始化",
|
||||
),
|
||||
AgentAssetVersion(
|
||||
asset=risk_graph_scan_task,
|
||||
version="v1.0.0",
|
||||
content=self._financial_risk_graph_scan_skill_markdown(),
|
||||
content_type=AgentAssetContentType.MARKDOWN.value,
|
||||
change_note="初始化财务风险图谱巡检能力。",
|
||||
created_by="系统初始化",
|
||||
),
|
||||
AgentAssetVersion(
|
||||
asset=employee_profile_scan_task,
|
||||
version="v1.0.0",
|
||||
content=self._employee_behavior_profile_scan_skill_markdown(),
|
||||
content_type=AgentAssetContentType.MARKDOWN.value,
|
||||
change_note="初始化员工行为画像巡检能力。",
|
||||
created_by="系统初始化",
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user