diff --git a/.DS_Store b/.DS_Store index ce585bf..c242eec 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.codebuddy/settings.local.json b/.codebuddy/settings.local.json deleted file mode 100644 index 7a6d5dd..0000000 --- a/.codebuddy/settings.local.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "enabledPlugins": { - "modern-webapp@cb_teams_marketplace": true - } -} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0588d4e --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +.codebuddy/ +.workbuddy/ + diff --git a/.workbuddy/memory/2026-05-12.md b/.workbuddy/memory/2026-05-12.md deleted file mode 100644 index d017631..0000000 --- a/.workbuddy/memory/2026-05-12.md +++ /dev/null @@ -1,36 +0,0 @@ -# 2026-05-12 工作记录 - -## 主要变更:产品线分类 → 公司分类 - -### 用户需求 -用户认为不需要按产品线(TalkingQ Pro / TalkingQ Lite)分类,而是要按**不同公司/客户**来分类。 - -### 修改内容 - -1. **index.html** - - 侧边栏:新增"客户公司"导航,支持展开子菜单(设备管理、OTA升级) - - Topbar:租户选择器改为公司选择器 - - 新增公司数据模型和切换逻辑 - -2. **styles/main.css** - - 新增公司导航样式(company-selector、company-nav-item、company-submenu等) - - 新增公司信息提示样式(current-company-banner、all-companies-banner) - -3. **scripts/device.js**(完全重写) - - 移除产品线分类,改用公司分类 - - 设备数据增加 companyId 和 companyName 字段 - - 支持按当前选中的公司过滤设备 - -4. **scripts/ota.js**(完全重写) - - 移除产品线分类,改用公司分类 - - 每个公司有独立的固件版本列表 - - OTA任务按公司分类显示 - -5. **scripts/rbac.js**(完全重写) - - 移除产品级权限配置,改用公司级权限配置 - - Client 角色可分配到特定公司 - - Admin/Worker 可访问全部公司数据 - -### 新数据结构 -- **公司列表**:智慧星科技、未来玩具厂、童趣电子 -- **权限层级**:Admin > Worker > Client(按公司隔离) diff --git a/.workbuddy/memory/2026-05-13.md b/.workbuddy/memory/2026-05-13.md deleted file mode 100644 index 20f3b45..0000000 --- a/.workbuddy/memory/2026-05-13.md +++ /dev/null @@ -1,146 +0,0 @@ -# 2026-05-13 工作日志 - -## Bug修复 - -### 知识库列表页不显示问题 -- **问题**:`getPaginedData` 拼写错误,应为 `getPaginatedData`,导致 JS 报错 -- **修复**:scripts/knowledge-base.js 第103行 - -## 交互优化 - -### 全局 Tooltip 功能 -- **样式优化**:更新 styles/main.css 中 [data-tooltip] 样式 - - 添加阴影效果 `box-shadow: 0 2px 8px rgba(0,0,0,0.2)` - - 添加悬停动画 `transform: translateY(-2px)` - - 优化间距和圆角 -- **应用范围**:更新以下页面的图标按钮为 `data-tooltip` 属性 - - knowledge-base.js(列表页、返回按钮) - - agent-manage.js(应用卡片操作按钮) - - badcase.js(查看、标注、关闭按钮) - - prompt-manage.js(编辑、版本记录按钮) - - session.js(回放、标记按钮) - - privacy.js(复制、撤销按钮) - - kb-create.js(重试、删除、返回按钮) - - kb-detail.js(查看切片、Meta信息、更多操作按钮) - - agent-dev.js(编辑名称、语音输入、移除技能/插件按钮) - ---- - -## 知识库管理模块完善 - -### 完成内容 - -1. **CSS样式完善** (styles/main.css) - - 添加知识库列表页表格样式 - - 添加批量操作栏、加载状态、空状态 - - 添加知识库类型标签(文档搜索、数据查询、图片问答、音视频搜索) - - 添加文件状态徽章(已就绪、处理中、解析失败) - - 添加分页器样式 - - 添加创建向导样式(步骤指示器、内容区、底部操作栏) - - 添加知识库类型卡片选择器 - - 添加上传区域、文件列表、类目选择器 - - 添加切片配置面板、范围滑块 - - 添加详情页样式(头部信息、Tab切换、切片列表) - - 添加命中测试面板、历史记录 - - 添加Tooltip样式、Switch开关、下拉菜单 - -2. **知识库列表页** (scripts/knowledge-base.js) - - 表格形式展示知识库列表 - - 字段:名称、类型、数据量、状态、创建时间、更新时间、操作 - - 支持排序、筛选、搜索、分页 - - 支持批量选择和批量操作 - - 支持查看详情、命中测试、编辑、删除 - - 支持重建索引、导出 - - 空状态、加载状态展示 - - 添加知识库弹窗(列表+创建入口) - -3. **创建知识库向导** (scripts/kb-create.js) - - 3步骤流程(基础信息→数据选择→索引设置) - - Step 1:知识库名称(必填)、描述、类型选择(带Tooltip) - - Step 2:数据连接器说明、3种数据来源(文件上传/选择类目/选择文件) - - 文件上传:拖拽上传、进度、状态、删除、重试 - - 支持按知识库类型限制文件格式和大小 - - 解析方式配置(继承目录/默认/自定义) - - 自动同步开关 - - Step 3:6种切片方式(智能/按长度/按页/按标题/按正则/按符号) - - 各切片方式对应参数配置 - - 高级参数折叠面板(向量模型、排序模型、排序模式、检索参数) - - 所有专业字段带Tooltip解释 - - 支持保存草稿、离开确认 - - 必填校验 - -4. **知识库详情页** (scripts/kb-detail.js) - - 返回按钮、面包屑导航 - - 头部信息(名称、描述、类型、ID、数据量、更新时间、标签) - - 操作按钮(命中测试、编辑、更多菜单) - - Tab切换(文件管理、标签管理) - - 文件管理Tab: - - 文件统计卡片(总数、已解析、解析中、失败) - - 批量操作栏 - - 完整文件列表(文件名、格式、大小、数据量、状态、所属类目、切片数、索引时间) - - 支持查看切片、Meta信息、重新解析、删除 - - 解析失败显示错误原因 - - 标签管理Tab: - - 标签列表(新增、删除) - - 批量操作 - - 上传数据入口 - - 命中测试弹窗: - - 测试参数配置 - - 快捷问题标签 - - 历史召回记录 - -### 技术要点 -- 所有专业字段带Tooltip解释 -- 支持返回上一级、取消操作、弹窗确认 -- 保存草稿(localStorage) -- 离开页面二次确认 -- 必填校验 -- 空状态、加载状态、解析中状态、失败状态 -- 企业级SaaS风格,简洁现代 - -## 知识库管理前端更新完成 - -### 已更新的文件 -1. `styles/main.css` - 完整的企业级样式系统 -2. `scripts/knowledge-base.js` - 知识库列表页 -3. `scripts/kb-create.js` - 创建知识库Step Form向导 -4. `scripts/kb-detail.js` - 知识库详情页 -5. `index.html` - 添加暗黑模式切换功能 - -### 实现的功能 - -**知识库列表页 (knowledge-base.js)** -- 知识库筛选、搜索、分页、排序 -- 批量操作(批量删除、批量导出) -- 添加知识库弹窗(类型筛选、状态筛选、搜索) -- Skeleton加载状态 -- Empty空状态 - -**创建知识库向导 (kb-create.js)** -- Step 1: 基础信息(名称、描述、类型选择) -- Step 2: 数据选择(文件上传、类目选择、文件选择) -- Step 3: 索引设置(切片方式、检索参数) -- 草稿自动保存/恢复 -- 必填校验 -- 离开确认弹窗 -- API接口预留 - -**知识库详情页 (kb-detail.js)** -- Tab切换(文件管理、标签管理、切片管理、统计信息) -- 文件列表(状态流转、批量操作) -- 切片编辑(内容编辑、历史版本、回滚) -- 命中测试(快捷问题、历史记录) -- 统计信息(切片统计、格式分布、Metadata统计) -- API接口预留 - -**全局功能** -- 暗黑模式切换(支持localStorage持久化) -- Modal弹窗增强(支持size和confirmClass参数) -- Tooltip统一小问号样式 -- 二次确认弹窗 -- Loading/Empty/Error/Skeleton状态 - -### API预留 -所有后端接口已在代码中注释说明,包含: -- GET/POST/DELETE/PUT 各操作的API路径 -- Request和Response字段规范 diff --git a/.workbuddy/memory/2026-05-14.md b/.workbuddy/memory/2026-05-14.md deleted file mode 100644 index c7d95e8..0000000 --- a/.workbuddy/memory/2026-05-14.md +++ /dev/null @@ -1,59 +0,0 @@ -# 2026-05-14 工作记录 - -## 修复登录页面CSS样式缺失 - -**问题**:登录页面(login page)使用了大量CSS类名(.login-center-wrapper, .login-form-card, .role-selector, .role-option 等),但 main.css 中完全没有这些类的定义,导致登录页看起来像裸 HTML,所有元素堆在左上角。 - -**修复**:在 styles/main.css 末尾添加了完整的登录页样式(约200行),包括: -- 登录页整体布局(居中、渐变背景) -- 品牌区域样式(TalkingQ logo、标语) -- 登录卡片(白色卡片、圆角、阴影) -- 角色选择器(三列角色卡片,选中状态高亮) -- 表单输入框(带图标、密码切换按钮) -- 记住登录状态复选框 -- 登录按钮(全宽、大号) -- 页脚链接 -- 移动端响应式适配 - -**根因**:之前开发时只写了登录页的 HTML/JS 结构,忘记写对应的 CSS 样式。类似问题已在智能体开发页面(agent-dev.js)出现过一次,这次是登录页面。 - ---- - -## 修复侧边栏公司导航CSS样式缺失 - -**问题**:侧边栏"设备管理"区域的公司列表(.company-nav-item, .company-badge, .company-submenu, .submenu-item)完全没有CSS定义,导致公司名称、设备数量角标、设备管理/OTA升级子菜单都是纯文本堆叠,没有布局、没有图标、没有交互样式。 - -**修复**:在 styles/main.css 登录页样式之后添加了完整的公司导航样式,包括: -- 公司项(company-nav-item):flex布局、hover效果、active选中高亮(绿色背景) -- 设备数量角标(company-badge):圆角标签、active时绿色背景 -- 子菜单(company-submenu):默认隐藏、展开时显示 -- 子菜单项(submenu-item):设备管理/OTA升级链接样式 -- 图标尺寸和颜色适配深色侧边栏 - -**根因**:与登录页问题相同——HTML/JS结构写了,CSS未同步。 - ---- - -## 调整侧边栏公司导航交互和颜色 - -**问题**: -1. 未选中的公司项字体颜色太暗(var(--text-sidebar) 是半透明灰色),用户希望直接显示白色 -2. 子菜单默认隐藏,需要点击才展开,用户希望直接显示 - -**修复**: -- CSS:将 company-nav-item 默认颜色从 var(--text-sidebar) 改为 #fff(白色) -- CSS:将 company-badge 默认颜色和背景调亮 -- CSS:将 company-submenu 默认 display 从 none 改为 flex(始终展开) -- CSS:调整 submenu-item 颜色为 rgba(255,255,255,0.7),hover 变白 -- JS:移除点击公司项时切换子菜单展开/收起的逻辑,只保留选中状态切换 - ---- - -## 调整侧边栏公司导航为手风琴模式 - -**问题**:用户反馈不需要全部展开,希望点到哪个公司哪个展开(手风琴效果)。 - -**修复**: -- CSS:将 company-submenu 默认 display 改回 none(收起状态) -- JS:恢复点击公司项时切换子菜单展开/收起的逻辑 -- JS:添加手风琴效果——展开一个公司时自动收起其他已展开的公司 diff --git a/.workbuddy/memory/2026-05-15.md b/.workbuddy/memory/2026-05-15.md deleted file mode 100644 index b52b20a..0000000 --- a/.workbuddy/memory/2026-05-15.md +++ /dev/null @@ -1,22 +0,0 @@ -# 2026-05-15 工作记录 - -## 重写三角色权限控制 + 登录页角色改名 - -**改动列表**: - -1. **登录页角色卡片**: - - 工人 → 员工(图标换为 users,data-role 保持 worker) - - 去掉三个角色的权限描述文字(.role-desc) - -2. **登录后跳转**:三个角色统一跳转 dashboard(之前 client 跳 agent-manage,worker 跳 session) - -3. **权限重新分配**(`__updateSidebarForRole`完全重写): - - **管理员**:全部内容可见 - - **员工(worker)**:仪表盘 + 设备管理 + 应用配置 + 会话分析 + 系统管理(隐私保护+系统设置,权限管理隐藏) - - **客户(client)**:仪表盘 + 会话分析(仅会话详情) + 设备管理(仅设备管理,无OTA),顶部公司选择器隐藏 - -4. **客户特殊处理**: - - `initCompanyNav` 增加 role 参数 - - 客户只看自己公司(mock: company_a),无"全部公司"选项 - - 客户的设备管理子菜单不显示 OTA 升级 - - 顶部 company-selector 隐藏 diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md deleted file mode 100644 index daadb1b..0000000 --- a/.workbuddy/memory/MEMORY.md +++ /dev/null @@ -1,35 +0,0 @@ -# MEMORY.md - TalkingQ平台 长期记忆 - -## 项目信息 -- **项目名**: TalkingQ AI玩具运营与数据洞察平台 -- **类型**: B端运营后台,纯前端(留后端接口) -- **技术栈**: HTML + CSS + Vanilla JS + Chart.js + Lucide Icons -- **品牌色**: #52c41a(绿色,来自商标)、深色侧边栏 #141414 - -## 项目结构 -- 单页应用,index.html 入口 -- styles/main.css 全局样式(约4500行) -- scripts/api.js 所有API接口定义(mock实现) -- 各页面模块单独js文件 - -## 已实现功能 -数据仪表盘、智能体开发(ASR/TTS/RAG/语言)、智能体管理、Prompt管理、 -设备管理、OTA升级、会话详情、Bad Case管理、RBAC权限、PII隐私保护、系统设置 - -## 用户偏好 -- 颜色风格跟商标一致(绿色为主) -- 全前端实现,留接口供未来后端接入 -- 智能体开发需要ASR、TTS、RAG挂载、语言选择功能 - -## 重要修复记录 -### 2026-05-14 - UI 样式缺失修复 -- **问题**: agent-dev.js 中使用的 CSS 类(如 `.agent-config-layout`, `.module-panel`, `.chat-test-panel`, `.skill-grid` 等)在 main.css 中完全缺失 -- **修复**: 在 main.css 末尾添加了约950行缺失的样式定义,包括: - - 应用配置页面布局(agent-config-layout, agent-config-left/right) - - 模块标签和面板样式(module-tabs, module-tab, module-panel) - - 配置行和子区块样式(config-row, config-subsection) - - 场景模板网格(scene-template-grid, scene-item) - - 技能网格(skill-grid, skill-item) - - 对话测试面板(chat-test-panel, chat-messages, chat-bubble) - - 统计卡片(stat-card, stat-value, stat-icon) - - 其他缺失组件样式(tooltip-box, device-status, firmware-version 等) diff --git a/test.html b/test.html deleted file mode 100644 index 33cc076..0000000 --- a/test.html +++ /dev/null @@ -1,97 +0,0 @@ - - -
- - -