feat: add ERP agent pet bridge and startup guide

This commit is contained in:
郎速科技
2026-08-14 14:28:28 +08:00
parent a803070819
commit 4c08f4c948
252 changed files with 134752 additions and 72 deletions
+67
View File
@@ -0,0 +1,67 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' https://lserp-sprite.local data:; style-src 'self'; script-src 'self'; connect-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'; frame-src 'none'; child-src 'none'; worker-src 'none'; media-src 'none'; manifest-src 'none'">
<title>朗速 ERP 智能桌宠</title>
<link rel="stylesheet" href="pet.css">
</head>
<body>
<main class="pet-shell" id="pet-shell" data-panel="closed">
<section class="assistant-panel" id="assistant-panel" aria-label="朗速 ERP 智能助手" aria-hidden="true">
<header class="panel-header">
<div>
<p class="eyebrow">朗速 ERP 助手</p>
<h1 id="module-title">等待 ERP 连接</h1>
<p class="context-scope" id="context-scope" data-state="pending">会话范围等待验证</p>
</div>
<div class="panel-actions">
<span class="connection-state" id="connection-state" data-state="offline">离线</span>
<button class="close-pet" id="close-pet" type="button" aria-label="退出桌宠" title="退出桌宠">×</button>
</div>
</header>
<nav class="context-actions" aria-label="当前 ERP 界面快捷提问">
<button type="button" data-quick-action="purchase_invoice_entry">录入采购发票</button>
<button type="button" data-quick-action="leave_request">申请请假</button>
<button type="button" data-quick-action="current_module_help">当前界面能做什么</button>
<button type="button" data-quick-action="current_module_diagnosis">只读诊断当前界面</button>
<button type="button" data-quick-action="workflow_readiness" data-admin-only="true" hidden>检查业务能力</button>
</nav>
<div class="conversation" id="conversation" aria-live="polite">
<p class="system-message">连接后可询问当前界面、打开模块或生成业务操作预览。</p>
</div>
<section class="plan-preview" id="plan-preview" hidden aria-label="业务操作预览">
<p class="eyebrow">待确认操作</p>
<h2 id="plan-title">业务预览</h2>
<div id="plan-detail" class="plan-detail"></div>
<button id="execute-plan" class="confirm-action" type="button">在 ERP 中确认并执行</button>
<p class="security-note">最终确认由 ERP 原生窗口完成,聊天模型不能代替点击。</p>
</section>
<form class="composer" id="composer">
<div class="attachment-list" id="attachment-list" hidden aria-label="待发送附件"></div>
<label class="sr-only" for="message-input">输入问题或操作</label>
<div class="composer-row">
<button class="attach-action" id="attach-files" type="button" aria-label="选择发票或明细附件" title="支持 PNG、JPG、WebP、PDF、XLSX、CSV">+附件</button>
<textarea id="message-input" rows="1" maxlength="2000" placeholder="问当前界面,或直接附上发票"></textarea>
<button id="send-message" type="submit" aria-label="发送">发送</button>
</div>
</form>
</section>
<span class="pet-drag-handle" aria-label="拖动桌宠" title="拖动桌宠">•••</span>
<button class="pet-anchor" id="pet-anchor" type="button" aria-label="悬停或点击询问当前 ERP 界面" title="悬停或点击询问当前 ERP 界面" aria-expanded="false" aria-controls="assistant-panel">
<span class="pet-status" id="pet-status">等待 ERP</span>
<span class="sprite" id="pet-sprite" role="img" aria-label="咕嘎智能桌宠"></span>
</button>
</main>
<script src="pet-runtime.js"></script>
<script src="bridge-client.js"></script>
<script src="pet-shell.js"></script>
</body>
</html>