Repository navigation
Closed as not planned
Closed as not planned
Copy link
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestpriority:p0Queue-jump: outranks batch and breaks the round — never exempts claiming or same-file serialQueue-jump: outranks batch and breaks the round — never exempts claiming or same-file serial
Description
来源:
docs/PLATFORM_GAPS_FROM_TEMPLATES.md第 26 条(P0)。
实证发现自helpdesk模板(直接致命)以及hotcrm/contracts模板(间接伤害)。
现象
详情页(page 类型 slotted 或默认 record drawer)没有「内联消息撰写器」组件。
具体来说,开箱即用的详情页只能:
- 展示业务字段(read / inline-edit)
- 在底部 Discussion 区域留内部审计评论
但无法提供一个复合输入器,让用户在同一个页面:
- 选择「对外回复 / 内部备注」(direction toggle)
- 输入主体(含富文本 / 提及 / 代码块)
- 选「使用 AI 草稿」按钮(一键填充
ai_suggested_reply字段值) - 选 canned response(见 gap Add comprehensive development roadmap covering all future protocol possibilities #32)
- 加附件(见 gap chore(deps)(deps-dev): bump @types/node from 20.19.30 to 25.0.9 #28)
- 点 Send → 创建一条
message记录 + 改 ticket 状态 + 触发外发通道
关键痛点:客服模板「AI 写好了却发不出去」
helpdesk 模板把 ai_suggested_reply 做成 schema 一等公民,AI 分诊后字段里就有了一段写好的回复。终端用户看到这段建议,没有任何按钮可以把它发出去——只能复制出来、贴到别的地方。这把整个 AI-first 卖点撕掉了一半。
复现
cd packages/helpdesk && pnpm dev
# 打开 TIC-2026-003,详情页里能看到「AI 建议回复」字段
# 试图找一个「Send Reply / Reply to Customer」按钮 — 不存在
# 试图在 Discussion 区输入回复 — 它是内部审计评论,不会发给客户当前 workaround
只能给 ticket 加一个 next_reply_draft 字段,让用户在那儿写,然后通过 row action 触发 flow 创建 message。这种做法:
- UI 笨重(编辑字段 → 保存 → 找 action 按钮 → 弹窗确认)
- 无富文本
- 无草稿恢复
- 无附件入口
- 同一时间只能有一条草稿
- 对外/内部切换缺乏视觉区隔,错发风险高
建议范围
M1:详情页新组件 MessageComposer
- 在
page配置里支持regions: [{ kind: 'message-composer', target: 'helpdesk_message', linkedBy: 'ticket' }](前提:gap feat: Comprehensive CRM example demonstrating all ObjectStack protocol features #14 修好 slotted regions) - 必须支持:
- direction 切换(外发 / 内部)
- 富文本(见 Add i18n support for homepage (国际化官网首页) #31)
- mention(见 Migrate from npm to pnpm #6)
- canned response 插入(见 Add comprehensive development roadmap covering all future protocol possibilities #32)
- 附件(见 chore(deps)(deps-dev): bump @types/node from 20.19.30 to 25.0.9 #28)
- "Use AI draft" 按钮(从同一记录的指定字段取值填入)
M2:post-send 钩子
- 提交后能可配置地:创建 message 记录 + 触发流程(更新 ticket 状态、发通知见 Add metamodel interfaces for ObjectQL/ObjectUI contract #1)。
- 这一步要与 flow 系统打通,不要把 hardcoded 业务逻辑塞进组件。
M3:跨模板复用
- 客服
helpdesk_message、CRMcrm_activity、合同contract_clause_negotiation都应该能复用。 - 设计为通用 child-record composer,而非客服专属。
验收
-
MessageComposer组件在 spec 中声明,文档化 -
helpdesk模板用上:详情页下方一个撰写器,点 "Use AI draft" 自动填入,点 Send 创建 message + 改状态 + 触发通知 -
hotcrm模板:客户活动撰写器(log call / send email) - 缺陷库 gap chore(deps)(deps-dev): bump vitest from 2.1.9 to 4.0.17 #26 标记为已解决
关联
- 依赖 feat: Comprehensive CRM example demonstrating all ObjectStack protocol features #14(slotted regions)
- 建议同时推进 chore(deps)(deps-dev): bump @types/node from 20.19.30 to 25.0.9 #28(附件)、Add comprehensive development roadmap covering all future protocol possibilities #32(canned response)—— 否则撰写器是残的
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestpriority:p0Queue-jump: outranks batch and breaks the round — never exempts claiming or same-file serialQueue-jump: outranks batch and breaks the round — never exempts claiming or same-file serial
Activity