/** * 星环OPC中心 — 自主行动边界定义 * * AI 员工在定义好的边界内自主行动,超出边界时升级给老板。 * * needsBossApproval: * false → 直接创建 staff_task(status='pending'),cron 触发时自动执行 * true → 创建 staff_task(status='pending_approval')+ 写入 insight 告知老板 */ export interface AutonomyRule { trigger: string; action: string; needsBossApproval: boolean; escalationMsg?: string; } export interface AutonomyResult { needsBossApproval: boolean; escalationMsg?: string; action: string; } /** 每个 AI 岗位的自主权限定义 */ const AUTONOMY_RULES: Record = { finance: [ { trigger: "invoice_overdue_7d", action: "create_reminder_task", needsBossApproval: false, }, { trigger: "invoice_overdue_30d", action: "create_urgent_task", needsBossApproval: true, escalationMsg: "有一笔逾期30天的应收款需要决策:是否发送正式催收函?", }, { trigger: "monthly_close", action: "create_monthly_report", needsBossApproval: false, }, { trigger: "cashflow_anomaly", action: "create_analysis_task", needsBossApproval: false, }, ], legal: [ { trigger: "contract_expiry_30d", action: "create_review_task", needsBossApproval: false, }, { trigger: "contract_expiry_7d", action: "create_urgent_task", needsBossApproval: true, escalationMsg: "合同即将到期(7天内),需要续签决策", }, ], marketing: [ { trigger: "weekly_content", action: "create_content_task", needsBossApproval: false, }, { trigger: "competitor_change", action: "create_analysis_task", needsBossApproval: false, }, ], ops: [ { trigger: "project_overdue", action: "create_followup_task", needsBossApproval: false, }, { trigger: "task_blocked_3d", action: "create_escalation_task", needsBossApproval: true, escalationMsg: "有任务阻塞超过3天,需要老板协调解决", }, ], hr: [ { trigger: "contract_expiry_30d", action: "create_renewal_task", needsBossApproval: false, }, ], admin: [ { trigger: "general_alert", action: "create_handling_task", needsBossApproval: false, }, ], }; /** * 检查指定岗位 + 触发器的自主权限。 * 返回是否需要老板审批,以及升级消息。 */ export function checkAutonomy(staffRole: string, trigger: string): AutonomyResult { const rules = AUTONOMY_RULES[staffRole]; if (!rules) { // 未定义的岗位,默认不需要审批 return { needsBossApproval: false, action: "create_task" }; } const rule = rules.find(r => r.trigger === trigger); if (!rule) { // 未定义的触发器,默认不需要审批 return { needsBossApproval: false, action: "create_task" }; } return { needsBossApproval: rule.needsBossApproval, escalationMsg: rule.escalationMsg, action: rule.action, }; } /** * 获取所有自主行动规则(用于管理界面展示)。 */ export function getAllAutonomyRules(): Record { return AUTONOMY_RULES; }