diff --git a/Demo/agent.html b/Demo/agent.html
new file mode 100644
index 0000000..41fa196
--- /dev/null
+++ b/Demo/agent.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+智能体服务 · OPC 公共服务平台 Demo
+
+
+
+
+
+
+
智能体服务
+
+
+
+
+
智能体服务目录 REQ-131 · 运营商提供 · 企业/个人/OPC 均可订阅
+
+
运营商提供的智能体服务覆盖电商视觉、AI 漫剧、企业智能体、数据标注、硬件供应链、跨境电商等方向。订阅后按调用次数计费,套餐内不另收费。
+
+
+
+
+
我的订阅 REQ-132 · 订阅管理 · 用量与到期
+
+
+
+
+
+
+
+
+
本月账单 REQ-134
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Demo/assets/app.js b/Demo/assets/app.js
index d9c55ba..028d294 100644
--- a/Demo/assets/app.js
+++ b/Demo/assets/app.js
@@ -25,6 +25,7 @@ const MENUS = [
{ page: 'profile', label: '画像中心', href: 'profile.html', roles: ['operator', 'gov', 'enterprise'], group: '运营管理' },
{ page: 'opc', label: 'OPC 工作台', href: 'opc.html', roles: ['opc'], group: '我的工作台' },
{ page: 'team', label: '组队协同', href: 'team.html', roles: ['opc', 'operator'], group: '我的工作台' },
+ { page: 'agent', label: '智能体服务', href: 'agent.html', roles: ['opc', 'enterprise', 'personal', 'operator'], group: '我的工作台' },
{ page: 'enterprise', label: '企业工作台', href: 'enterprise.html', roles: ['enterprise', 'personal'], labelMap: { personal: '个人工作台' }, group: '我的工作台' },
{ page: 'order', label: '订单与协同', href: 'order.html', roles: ['opc', 'enterprise', 'personal', 'operator'], group: '我的工作台' },
{ page: 'market', label: '橙果商城', href: 'market.html', roles: ['opc', 'enterprise', 'personal', 'learner', 'operator'], group: '我的工作台' },
@@ -95,6 +96,19 @@ function renderNav() {
return;
}
+ // 门户首页:已登录也不显示侧边栏(公开展示页),顶栏显示品牌 + 帮助 + 角色徽章 + 退出
+ if (page === 'index') {
+ host.innerHTML = `
+ OPC公共服务平台
+ 帮助 / 需求文档
+ ${ROLES[role].name}
+
+
+ `;
+ document.body.style.paddingLeft = '0';
+ return;
+ }
+
// 按分组组织菜单
const groups = [];
const groupMap = {};
diff --git a/Demo/assets/mock.json b/Demo/assets/mock.json
index afd2b27..fc18c6a 100644
--- a/Demo/assets/mock.json
+++ b/Demo/assets/mock.json
@@ -3262,5 +3262,186 @@
]
}
]
+ },
+ "agent": {
+ "catalog": [
+ {
+ "code": "AGT_001",
+ "name": "电商视觉智能体",
+ "desc": "商品主图/详情页/Banner 自动生成,支持批量出图",
+ "category": "电商视觉",
+ "price": "¥299/月",
+ "calls": "1000 次/月",
+ "rating": 4.8,
+ "users": 128,
+ "status": [
+ "热销",
+ "ok"
+ ],
+ "tags": [
+ "商品主图",
+ "详情页",
+ "Banner"
+ ]
+ },
+ {
+ "code": "AGT_002",
+ "name": "AI 漫剧分镜智能体",
+ "desc": "剧本→分镜→线稿→上色全流程辅助,支持风格切换",
+ "category": "AI 漫剧",
+ "price": "¥499/月",
+ "calls": "500 次/月",
+ "rating": 4.6,
+ "users": 56,
+ "status": [
+ "热销",
+ "ok"
+ ],
+ "tags": [
+ "分镜",
+ "上色",
+ "风格"
+ ]
+ },
+ {
+ "code": "AGT_003",
+ "name": "企业智能体 FDE",
+ "desc": "企业知识库构建+智能问答+工作流自动化",
+ "category": "企业智能体",
+ "price": "¥999/月",
+ "calls": "不限",
+ "rating": 4.9,
+ "users": 32,
+ "status": [
+ "企业版",
+ "pri"
+ ],
+ "tags": [
+ "知识库",
+ "问答",
+ "自动化"
+ ]
+ },
+ {
+ "code": "AGT_004",
+ "name": "数据标注智能体",
+ "desc": "图像/文本/音频预标注+人工校验,标注效率提升 5 倍",
+ "category": "数据标注",
+ "price": "¥199/月",
+ "calls": "5000 次/月",
+ "rating": 4.5,
+ "users": 85,
+ "status": [
+ "在售",
+ "ok"
+ ],
+ "tags": [
+ "预标注",
+ "校验",
+ "批量"
+ ]
+ },
+ {
+ "code": "AGT_005",
+ "name": "硬件方案智能体",
+ "desc": "AI 产品定义→工业设计→BOM 清单→打样建议",
+ "category": "硬件供应链",
+ "price": "¥799/月",
+ "calls": "200 次/月",
+ "rating": 4.7,
+ "users": 18,
+ "status": [
+ "新品",
+ "warn"
+ ],
+ "tags": [
+ "产品定义",
+ "BOM",
+ "打样"
+ ]
+ },
+ {
+ "code": "AGT_006",
+ "name": "跨境文案智能体",
+ "desc": "多语言商品描述/广告文案/SEO 优化自动生成",
+ "category": "跨境电商",
+ "price": "¥199/月",
+ "calls": "2000 次/月",
+ "rating": 4.4,
+ "users": 142,
+ "status": [
+ "在售",
+ "ok"
+ ],
+ "tags": [
+ "多语言",
+ "文案",
+ "SEO"
+ ]
+ }
+ ],
+ "mySubs": [
+ {
+ "code": "SUB_0001",
+ "agent": "AGT_001 电商视觉智能体",
+ "plan": "月度订阅",
+ "price": "¥299/月",
+ "calls": "326 / 1000",
+ "expire": "2026-10-15",
+ "status": [
+ "使用中",
+ "ok"
+ ]
+ },
+ {
+ "code": "SUB_0002",
+ "agent": "AGT_004 数据标注智能体",
+ "plan": "月度订阅",
+ "price": "¥199/月",
+ "calls": "1820 / 5000",
+ "expire": "2026-10-20",
+ "status": [
+ "使用中",
+ "ok"
+ ]
+ }
+ ],
+ "usage": [
+ {
+ "date": "09-14",
+ "agent": "AGT_001 电商视觉",
+ "calls": 28,
+ "cost": "¥0",
+ "task": "商品主图 ×28"
+ },
+ {
+ "date": "09-13",
+ "agent": "AGT_001 电商视觉",
+ "calls": 45,
+ "cost": "¥0",
+ "task": "详情页 ×15"
+ },
+ {
+ "date": "09-12",
+ "agent": "AGT_004 数据标注",
+ "calls": 320,
+ "cost": "¥0",
+ "task": "图像标注 320 条"
+ },
+ {
+ "date": "09-11",
+ "agent": "AGT_001 电商视觉",
+ "calls": 18,
+ "cost": "¥0",
+ "task": "Banner ×6"
+ }
+ ],
+ "billing": {
+ "month": "2026-09",
+ "subs": "¥498/月",
+ "calls": 2211,
+ "extra": "¥0",
+ "total": "¥498"
+ }
}
}
\ No newline at end of file
diff --git a/Demo/assets/store.js b/Demo/assets/store.js
index 9f28415..18d180a 100644
--- a/Demo/assets/store.js
+++ b/Demo/assets/store.js
@@ -6,7 +6,7 @@
* mock.json 结构升级时提升 SCHEMA_VER 使旧存档失效。
*/
-const SCHEMA_VER = 5;
+const SCHEMA_VER = 6;
const DB_KEY = 'opc_demo_db';
let DB = null;
diff --git a/Demo/assets/style.css b/Demo/assets/style.css
index abc9d49..07f44f4 100644
--- a/Demo/assets/style.css
+++ b/Demo/assets/style.css
@@ -95,7 +95,7 @@ a:hover { color: var(--primary-dark); }
/* body 留出侧边栏空间(login/showcase 无侧边栏除外) */
body { padding-left: 220px; }
-body[data-page="login"], body.screen { padding-left: 0; }
+body[data-page="login"], body[data-page="index"], body.screen { padding-left: 0; }
@media (max-width: 900px) {
body { padding-left: 0; }
.topnav .nav-toggle { display: inline-block; }
diff --git a/pmdocs/0-req-OPCSP.html b/pmdocs/0-req-OPCSP.html
index 12135b5..287aba9 100644
--- a/pmdocs/0-req-OPCSP.html
+++ b/pmdocs/0-req-OPCSP.html
@@ -3,7 +3,7 @@
-OPC 社区运营服务平台 · 需求与目标文档 v1.4
+OPC 社区运营服务平台 · 需求与目标文档 v1.5