feat(web): AI 工作台意图规划与规划思考模型
- 新增 workbenchAiIntentPlannerModel,基于 LLM function_call 解析建单/草稿/提交意图,区分 model 与 rule_fallback 来源 - 新增 workbenchAiPlanningThinkingModel 合并规划思考事件流,按 eventId 去重合并 - application gate/preview 模型接入意图规划,usePersonalWorkbenchAiMode/useWorkbenchAiStewardFlow/useWorkbenchAiActionRouter 链路适配,支持上下文提交 - steward 服务与 stewardPlanModel 适配新动作结构,receipt-folder-view 微调样式 - 新增 intent-planner-model/application-context-submit/steward-actions-service 测试,更新 gate-model/action-router/plan-message-copy/fast-preview 测试
This commit is contained in:
@@ -549,59 +549,156 @@
|
||||
}
|
||||
|
||||
.associate-hint {
|
||||
margin: 0;
|
||||
margin: 0 0 2px 0;
|
||||
color: #64748b;
|
||||
font-size: 13px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.receipt-checkbox-list,
|
||||
.draft-choice-list {
|
||||
max-height: 360px;
|
||||
max-height: 340px;
|
||||
display: grid;
|
||||
gap: 8px;
|
||||
overflow-y: auto;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
.receipt-checkbox-list :deep(.el-checkbox),
|
||||
.draft-choice {
|
||||
min-height: 50px;
|
||||
display: flex !important;
|
||||
min-height: 52px;
|
||||
align-items: center;
|
||||
margin-right: 0;
|
||||
padding: 9px 10px;
|
||||
border: 1px solid #dbe4ee;
|
||||
padding: 10px 14px;
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
transition: all 150ms ease;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.receipt-checkbox-list :deep(.el-checkbox:hover),
|
||||
.draft-choice:hover {
|
||||
border-color: #cbd5e1;
|
||||
background: #f8fafc;
|
||||
}
|
||||
|
||||
.receipt-checkbox-list :deep(.el-checkbox.is-checked) {
|
||||
border-color: var(--theme-primary);
|
||||
background: rgba(58, 124, 165, 0.04);
|
||||
}
|
||||
|
||||
.receipt-checkbox-list :deep(.el-checkbox__label) {
|
||||
flex: 1;
|
||||
display: grid;
|
||||
gap: 3px;
|
||||
gap: 2px;
|
||||
color: #0f172a;
|
||||
font-weight: 750;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.receipt-checkbox-list small,
|
||||
.draft-choice small {
|
||||
color: #64748b;
|
||||
font-size: 12px;
|
||||
font-weight: 650;
|
||||
font-size: 11.5px;
|
||||
font-weight: 400;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.draft-choice {
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
gap: 9px;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.draft-choice.active {
|
||||
border-color: rgba(58, 124, 165, .42);
|
||||
background: rgba(58, 124, 165, .07);
|
||||
border-color: var(--theme-primary);
|
||||
background: rgba(58, 124, 165, 0.04);
|
||||
}
|
||||
|
||||
.draft-choice span {
|
||||
display: grid;
|
||||
gap: 3px;
|
||||
gap: 2px;
|
||||
}
|
||||
|
||||
.draft-choice strong {
|
||||
color: #0f172a;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
/* Global styles for the association dialog */
|
||||
:global(.receipt-associate-dialog.el-dialog) {
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__header) {
|
||||
padding: 20px 24px 12px 24px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__headerbtn) {
|
||||
top: 20px;
|
||||
right: 24px;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__title) {
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
color: #0f172a;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__body) {
|
||||
padding: 0 24px 20px 24px;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__footer) {
|
||||
padding: 12px 24px 16px 24px;
|
||||
background: #f8fafc;
|
||||
border-top: 1px solid #e2e8f0;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__footer .apply-btn),
|
||||
:global(.receipt-associate-dialog .el-dialog__footer .ghost-btn) {
|
||||
min-height: 36px;
|
||||
height: 36px;
|
||||
padding: 0 16px;
|
||||
border-radius: 4px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
transition: all 150ms ease;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__footer .ghost-btn) {
|
||||
border-color: #cbd5e1;
|
||||
color: #334155;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__footer .ghost-btn:hover) {
|
||||
background: #f8fafc;
|
||||
border-color: #94a3b8;
|
||||
color: #0f172a;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__footer .apply-btn) {
|
||||
background: var(--theme-primary);
|
||||
border-color: var(--theme-primary);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
:global(.receipt-associate-dialog .el-dialog__footer .apply-btn:hover:not(:disabled)) {
|
||||
background: var(--theme-primary-active);
|
||||
border-color: var(--theme-primary-active);
|
||||
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
@media (max-width: 1180px) {
|
||||
|
||||
Reference in New Issue
Block a user