feat(page-ai): add skill context and agent profile policy

This commit is contained in:
lix-2026
2026-05-29 21:57:29 +08:00
parent 631205ba2f
commit 49a0545148
18 changed files with 3478 additions and 259 deletions
+200 -15
View File
@@ -3791,6 +3791,9 @@ body {
.wolai-page-ai-icon {
width: 28px;
height: 28px;
display: inline-flex;
align-items: center;
justify-content: center;
border: 0;
border-radius: 6px;
background: transparent;
@@ -3800,6 +3803,13 @@ body {
cursor: pointer;
}
.wolai-page-ai-icon-svg {
width: 16px;
height: 16px;
display: block;
fill: currentColor;
}
.wolai-page-ai-icon:hover,
.wolai-page-ai-icon.is-active {
background: #F3F3F2;
@@ -3878,7 +3888,8 @@ body {
.wolai-page-ai-profile-select,
.wolai-page-ai-context-select,
.wolai-page-ai-skill-search {
.wolai-page-ai-skill-search,
.wolai-page-ai-agent-profile {
display: grid;
gap: 4px;
min-width: 0;
@@ -3886,7 +3897,8 @@ body {
.wolai-page-ai-profile-select select,
.wolai-page-ai-context-select select,
.wolai-page-ai-skill-search input {
.wolai-page-ai-skill-search input,
.wolai-page-ai-agent-profile select {
width: 100%;
min-width: 0;
height: 34px;
@@ -3898,6 +3910,10 @@ body {
font-size: 12px;
}
.wolai-page-ai-agent-profile {
margin-top: 8px;
}
.wolai-page-ai-inline-error {
padding: 8px 10px;
border: 1px solid rgba(198, 80, 80, 0.18);
@@ -3943,23 +3959,15 @@ body {
line-height: 16px;
}
.wolai-page-ai-session-button {
.wolai-page-ai-session-summary {
min-width: 0;
max-width: 190px;
overflow: hidden;
padding: 0;
border: 0;
background: transparent;
color: #5A5A5A;
font: inherit;
text-align: left;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
}
.wolai-page-ai-session-button:hover {
color: #1B1C1C;
}
.wolai-page-ai-settings-head {
@@ -4171,10 +4179,29 @@ body {
}
.wolai-page-ai-skills-toolbar {
display: flex;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(124px, 160px) max-content;
align-items: end;
gap: 8px;
}
.wolai-page-ai-skill-filter-toggle {
display: inline-flex;
min-height: 34px;
align-items: center;
gap: 6px;
color: #5A5A5A;
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.wolai-page-ai-skill-filter-toggle input {
width: 14px;
height: 14px;
margin: 0;
}
.wolai-page-ai-skill-list {
display: flex;
min-height: 0;
@@ -4184,6 +4211,45 @@ body {
overflow: auto;
}
.wolai-page-ai-skill-group {
display: grid;
gap: 4px;
}
.wolai-page-ai-skill-group-head {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 8px;
padding: 6px 8px 2px;
border: 0;
border-radius: 6px;
background: transparent;
color: #8B8782;
font-size: 11px;
line-height: 16px;
cursor: pointer;
}
.wolai-page-ai-skill-group-head:hover {
background: #F7F7F6;
color: #5A5A5A;
}
.wolai-page-ai-skill-group-title {
display: inline-flex;
min-width: 0;
align-items: center;
gap: 5px;
}
.wolai-page-ai-skill-group-chevron {
width: 12px;
color: #AAA6A0;
text-align: center;
}
.wolai-page-ai-skill-row {
display: flex;
min-height: 38px;
@@ -4385,6 +4451,8 @@ button.wolai-page-ai-message-text {
}
.wolai-page-ai-footer {
position: relative;
z-index: 20;
display: flex;
flex-direction: column;
gap: 8px;
@@ -4412,16 +4480,16 @@ button.wolai-page-ai-message-text {
}
.wolai-page-ai-composer {
position: relative;
z-index: 20;
display: flex;
flex-direction: column;
overflow: hidden;
overflow: visible;
border: 1px solid rgba(27, 28, 28, 0.12);
border-radius: 10px;
background: #FFF;
}
.wolai-page-ai-agent-selector,
.wolai-page-ai-context-refs,
.wolai-page-ai-allowed-roots {
display: flex;
flex-wrap: wrap;
@@ -4430,6 +4498,123 @@ button.wolai-page-ai-message-text {
padding: 6px 8px 0;
}
.wolai-page-ai-agent-picker,
.wolai-page-ai-context-picker {
position: relative;
flex: 0 0 auto;
}
.wolai-page-ai-agent-button,
.wolai-page-ai-context-button {
font-size: 17px;
line-height: 1;
}
.wolai-page-ai-agent-button[aria-expanded="true"],
.wolai-page-ai-context-button[aria-expanded="true"] {
border-color: rgba(27, 28, 28, 0.32);
background: #F7F6F4;
}
.wolai-page-ai-agent-popover,
.wolai-page-ai-context-popover {
position: absolute;
left: 0;
width: min(320px, calc(100vw - 44px));
bottom: calc(100% + 8px);
z-index: 30;
display: grid;
gap: 10px;
padding: 12px;
border: 1px solid rgba(27, 28, 28, 0.12);
border-radius: 10px;
background: #FFF;
box-shadow: 0 16px 36px rgba(27, 28, 28, 0.16);
}
.wolai-page-ai-agent-popover[hidden],
.wolai-page-ai-context-popover[hidden] {
display: none !important;
}
.wolai-page-ai-context-popover-head,
.wolai-page-ai-context-popover-foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
color: #5A5A5A;
font-size: 12px;
}
.wolai-page-ai-context-option-list {
display: grid;
gap: 8px;
}
.wolai-page-ai-agent-option-list {
display: grid;
gap: 6px;
}
.wolai-page-ai-agent-option {
display: grid;
gap: 2px;
width: 100%;
padding: 8px;
border: 1px solid rgba(27, 28, 28, 0.08);
border-radius: 8px;
background: #FFF;
color: #1B1C1C;
text-align: left;
cursor: pointer;
}
.wolai-page-ai-agent-option.is-active {
border-color: rgba(27, 28, 28, 0.2);
background: #F7F6F4;
}
.wolai-page-ai-agent-option-label {
font-size: 12px;
font-weight: 600;
}
.wolai-page-ai-agent-option-detail {
color: #8B8782;
font-size: 11px;
}
.wolai-page-ai-context-option {
display: grid;
grid-template-columns: 16px minmax(0, 1fr);
gap: 8px;
align-items: start;
color: #1B1C1C;
font-size: 12px;
}
.wolai-page-ai-context-option.is-disabled {
color: #AAA6A0;
}
.wolai-page-ai-context-option-main {
display: grid;
gap: 2px;
min-width: 0;
}
.wolai-page-ai-context-option-label {
font-weight: 500;
}
.wolai-page-ai-context-option-detail {
color: #8B8782;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.wolai-page-ai-allowed-roots {
padding-top: 4px;
}