Commit Graph
5 Commits
Author SHA1 Message Date
eaiadminandClaude Code 8b136d4a10 feat: 专员岗位说明书与技能绑定打通(SY23 P0–P4)
工作台对话此前根本不读专员表:smart_assistant.go 里两条写死的 prompt,
专员表零参与,所以「选哪个专员说话都一样」。本次把
「专员 → 岗位说明书 → 技能」接进 system prompt。

P0 修 bug
  batch/extract 与 contract/review 直接把 nil 当路由传给 AI 层,
  取 primary.RouteID 时空指针,这两个接口必 500。
  llm.go 抽出 buildRouteChain,nil 主路由改为显式报错。

P1 数据层
  specialist 表加 rule_file_markdown(岗位说明书正文)与 allowed_skills
  (绑定技能,顺序即优先级)。写入侧用 model.ValidSkillKeys 校验,
  非法 key / 重复项直接 400,并规范化成紧凑 JSON 落库。
  播种 11 份岗位说明书初稿与技能绑定,沿用「存在则只补空字段」,
  管理员改过的内容不会被重启覆盖。

P2 打通链路
  请求体加 task_id 与 specialist_key。后端按任务反查专员(专员是任务的
  字段,任务优先),查不到安静退回通用助手而不是报错打断对话。
  ai_call_log 加 specialist_key,用来回答「这条回答是谁说的」。

P3 注入 prompt
  system prompt 改为 基础角色 + 【当前专员】+【可用技能】+【岗位说明书】,
  说明书放最后(离用户消息最近,优先级最高)。选了专员就不再自称
  「通用助手」——身份冲突正是老毛病的成因。

P4 前端
  对话带上当前任务与专员;专员详情页显示绑定的技能、读哪些信源、
  可以动什么。

验证
  go build / go vet / go test 全绿,45 项测试通过;前端构建通过。
  另在开发库副本上验过真实升级路径(AutoMigrate 补三列 + 播种补齐
  11 个专员),源库未被改动。
  新增防漂移测试:后端技能清单与前端 availableSkills 不一致即红灯;
  专员改名而说明书没同步也会红灯(这类静默失效最难查)。

注:llm.go / credits.go / seed.go / smart_assistant.go / api/specialist.go
同时含有并行进行中的改动(路由健康上报、清理调试埋点、技能与动作种子),
与本方案交织在同一批行内,无法单独拆出,一并随本次提交。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-17 21:32:31 +08:00
eaiadminandClaude Code fa6c26ea41 docs: 工作台设计稿收入 docs 体系,routes.go 更名 ai_routes.go
7 份散落在 frontend/src/views/workbench/ 的设计稿按现有编号体系收入 docs/,
源码目录现在只剩 12 个 .vue 页面:

  PlatformArchitectureRethink       -> docs/01_System_Overall/SY24
  WorkbenchArchitectureContract     -> docs/02_Architecture/AR05
  SkillPackagingSpecification       -> docs/02_Architecture/AR06
  ArchitectureAlignmentAudit        -> docs/02_Architecture/AR07
  RoleInteractionDesign             -> docs/02_Architecture/AR08
  YunQuParityRoadmap_OfficePlatform -> docs/06_Product_Lines/PL04
  WorkBuddySkillRpaLearning         -> docs/09_Research/RS01

14 处交叉引用同步更新(含 SY20/SY21 里指向旧源码路径的两处);三份 README 索引
补齐 SY20-SY24 与 AR05-AR08、PL04;README 顶部「本目录全是历史快照」的说法改精确
(AR05-AR08、PL04 不属于 V1.1 / V1 快照)。

AR08 文首补注「采纳与废弃」,避免它被当成现行设计照做:
- 已采纳:对象不跳页 / 不做独立工具页 / + 菜单挂载 / 切换对象=更新任务上下文
- 已废弃:「数字技术员」第三类对象(SY21 §2.2 已废除 tool 命名)、
  「通用助手 = 默认专员」、§14「与本稿冲突以本稿为准」的自我授权

backend-go: internal/api/routes.go -> ai_routes.go。该文件管的是 AI 模型路由
(LLM provider 列表),与 router.go 的 URL 路由注册同包同名易混,加文件头注释钉死。

验证:go build ./... 通过;go vet ./internal/api/ 无告警;npm run build 通过。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-17 19:26:26 +08:00
eaiadminandClaude Code f197dbd206 feat: 工作台外壳收尾 + 冻结旧导航 + 任务延迟创建与最近任务行菜单
外壳收尾
- 后端:内置「通用智能助手」(specialist.state = system)—— 它是任务的默认归属,
  不是可安装的专员,常规列表一律挡掉,只有显式带 state=system 才查得到
- config/nav.js:一级导航、二级 tab、搜索面板共用一份配置,替代原先散在 layout/ 与
  config/workbench.js 里的两套,旧的那批导航导出随之下架
- NavSearch.vue / SectionTabs.vue 组件化;考试 8 个页面收进 ExamTabsView 统一外壳
- 新增 /apps 专员选择页(SpecialistPickerPage.vue)
- ChatInputBar 重构:输入框的 + 拆为独立组件 PlusMenu.vue,新增 update:mode 事件
- 删除 LibraryTabs.vue(已被 SectionTabs 取代)

冻结旧导航(新增 frontend/src/_frozen/ + FROZEN.md 登记表)
- 工作区胶囊条连通知铃铛一起冻:外壳重构后成了冗余的第二套导航。不删代码,
  抽成自包含的 WorkspaceTabs.frozen.vue 归档,将来能原样放回
- 同源孤儿一并收拢:旧 SideNav / SectionTabs / navigation.js / Notification.vue
- 统一加 .frozen 后缀,登记表逐条写明原位置 / 冻结原因 / 外部依赖 / 解冻条件 / 解冻步骤
- 已验:冻结物不进构建产物(dist 里搜不到 wb-tabs),src/ 下无代码引用,
  只有 MainLayout 里指向 FROZEN.md 的指引注释
- 后端通知四接口与 store/api 层保留(BusinessAppPage 仍在用),解冻是纯前端工作量

我的任务
- 任务记录延迟到发出第一条消息时创建:新建任务只回到开场画布,不落库,
  标题取第一句话,专员取输入框 + 里先选的那个(pendingSpecialistKey 暂存,
  建任务时一并提交)。原实现点一次落一条「新任务」,是「最近任务」堆满空行的根因
- 最近任务行菜单:重命名(就地编辑,回车提交 / Esc 取消)、置顶、删除
  (硬删无回收站,确认框写明无法恢复)。新增 worker_task.pinned 字段、
  DELETE /api/worker/my-tasks/:id,列表排序改为 pinned DESC, updated_at DESC;
  el-dropdown 加 :persistent="false"(默认每行留一份隐藏菜单在 DOM 里)
- 对照 ChatGPT / WorkBuddy 后决定不做:分享任务(纯内网)、打开文件夹(Web 无此能力)、
  保存到工作空间(无 workspace 概念)、归档(没有「已归档」入口可找回)
- 当前任务高亮改用 WorkBuddy 绿;空列表给出「发送第一条消息后出现在这里」提示
- PROJECT_STATE.md 补记 D21(冻结机制)/ D22(延迟建任务)/ D23(行菜单)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 16:19:18 +08:00
eaiadminandClaude Code 95fcf161b0 feat: 工作台外壳重构 + /home 改为智能助手 + 产品更名
前端
- MainLayout: 移除顶部标题栏,Workspace Tabs 提至最顶层,通知铃随行
- 账号入口由右上角移至左下角侧边栏底部(下拉:我的资料 / 退出登录),
  折叠态仅保留头像
- /home 现渲染智能助手并作为其规范 URL;/tools/smart-assistant 保留为重定向别名
- 工作台总览移至 /overview,侧边栏入口同步调整
- workbench store: 新增 tab 归一化,迁移已持久化的旧标签与旧路由
- 智能助手欢迎语改为「我 Bosheng 数字员工,我帮你」
- 最佳实践卡片: 4 张减为 3 张,图片块高度减半(aspect-ratio 4/3 → 8/3)

产品更名
- 后端 system prompt、CLAUDE.md、PROJECT_STATE.md 及设计文档:
  博昇内部培训平台 → EAI 数字员工平台

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 08:19:42 +08:00
eaiadminandClaude Code 0455f064ac feat: 新增语音转文字(ASR)功能
- 后端:新增 /api/audio/transcribe 接口,调用 Ollama whisper 进行语音识别
- 前端:新增 AudioTranscribePage.vue 页面,支持 MP3/WAV/M4A/OGG/FLAC 等格式
- 注册路由、工具卡片、智能助手欢迎语更新

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 00:53:36 +08:00