feat(agent): Agent 工作台 - 计划插话记忆、统一模型选择器并修复摘要与视频入库

将计划清单、运行中插话和个人记忆接入云端 Agent;全站模型选择器统一为左右二级菜单。画布摘要按预算截断不再整轮拒绝,首页视频未知宽高可入库。README 补充贡献者 morrow。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ddCat
2026-09-17 20:21:25 +08:00
parent b6bae4f957
commit 6892732b06
80 changed files with 7364 additions and 182 deletions

View File

@@ -18025,6 +18025,145 @@ html:not(.dark) .creation-home .creation-user-message-copy-wrap { box-shadow: 0
height: 12px;
}
/* 品牌/模型两级菜单是 ModelPicker 默认结构,不能只写在 creation variant 下。 */
.canvas-model-picker-brands {
display: grid;
gap: 4px;
width: 100%;
}
.canvas-model-picker-brand {
display: flex;
width: 100%;
min-height: 48px;
min-width: 0;
align-items: center;
gap: 10px;
border: 1px solid transparent;
border-radius: 10px;
padding: 8px 10px;
background: transparent;
color: inherit;
text-align: left;
cursor: pointer;
}
.canvas-model-picker-brand:hover,
.canvas-model-picker-brand.is-active {
border-color: var(--workspace-border);
background: var(--workspace-surface-hover);
}
.canvas-model-picker-brand-icon {
display: grid;
width: 32px;
height: 32px;
flex: 0 0 32px;
place-items: center;
border-radius: 9px;
background: var(--workspace-surface-hover);
}
.canvas-model-picker-brand-copy {
display: grid;
min-width: 0;
flex: 1;
gap: 2px;
}
.canvas-model-picker-brand-copy strong {
overflow: hidden;
font-size: 13px;
font-weight: 650;
text-overflow: ellipsis;
white-space: nowrap;
}
.canvas-model-picker-brand-copy small {
overflow: hidden;
color: color-mix(in srgb, currentColor 55%, transparent);
font-size: 10px;
text-overflow: ellipsis;
white-space: nowrap;
}
.canvas-model-picker-brand-arrow {
width: 14px;
height: 14px;
flex: 0 0 14px;
color: color-mix(in srgb, currentColor 48%, transparent);
transform: rotate(-90deg);
}
.canvas-model-picker-menu.is-brand-list {
width: min(360px, calc(100vw - 24px)) !important;
}
.canvas-model-picker-menu.is-model-list {
width: min(720px, calc(100vw - 24px)) !important;
}
.canvas-model-picker-two-pane {
display: grid;
width: 100%;
grid-template-columns: 250px minmax(0, 1fr);
gap: 14px;
min-width: 0;
align-items: start;
}
.canvas-model-picker-menu.is-model-list .canvas-model-picker-brand-rail {
display: grid;
align-content: start;
gap: 5px;
border-right: 1px solid var(--workspace-border);
padding-right: 14px;
}
.canvas-model-picker-menu.is-model-list .canvas-model-picker-brand {
width: 100%;
}
.canvas-model-picker-model-pane {
min-width: 0;
}
@media (max-width: 720px) {
.canvas-model-picker-menu:is(.is-brand-list, .is-model-list) {
width: calc(100vw - 24px) !important;
}
.canvas-model-picker-two-pane {
grid-template-columns: minmax(0, 1fr);
}
.canvas-model-picker-menu.is-model-list .canvas-model-picker-brand-rail {
display: none;
}
}
.canvas-model-picker-secondary-head {
display: flex;
min-width: 0;
align-items: center;
gap: 8px;
padding: 0 2px 8px;
}
.canvas-model-picker-back {
display: grid;
width: 28px;
height: 28px;
flex: 0 0 28px;
place-items: center;
border: 1px solid var(--workspace-border);
border-radius: 8px;
background: var(--workspace-surface-hover);
color: inherit;
cursor: pointer;
}
.canvas-model-picker-back svg {
width: 15px;
height: 15px;
}
.canvas-model-picker-secondary-head > span {
display: grid;
min-width: 0;
gap: 2px;
}
.canvas-model-picker-secondary-head strong {
overflow: hidden;
font-size: 13px;
text-overflow: ellipsis;
white-space: nowrap;
}
.canvas-model-picker-secondary-head small {
color: color-mix(in srgb, currentColor 52%, transparent);
font-size: 10px;
}
/* 模型下拉:选中项与当前 hover/focus 项展示说明,其他项保持安静。 */
.canvas-model-picker-option {
transition: min-height 180ms cubic-bezier(.16, 1, .3, 1), background-color 160ms ease, transform 160ms cubic-bezier(.16, 1, .3, 1) !important;