feat: 添加对话应用选择和知识库切换功能

- 新增对话应用管理模块(dify-chat-apps),支持获取和切换对话应用
- 优化对话应用切换后自动刷新会话列表功能
- 知识库管理页面新增下拉选择器,支持切换不同知识库
- API 层支持 app_id 参数传递,实现多应用会话隔离

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-08 01:44:34 +08:00
parent 27aff59152
commit 3f5c23123b
27 changed files with 925 additions and 167 deletions
@@ -95,6 +95,73 @@
color: #999;
}
/* 知识库选择器 */
.dataset-selector {
flex: 1;
min-width: 0;
overflow: hidden;
display: flex;
flex-direction: column;
gap: 4px;
}
.dataset-select {
width: 100%;
}
.dataset-select .ant-select-selector {
border: 1px solid #e5e5e5 !important;
border-radius: 6px !important;
background: #fff !important;
padding: 2px 8px !important;
height: auto !important;
min-height: 32px !important;
}
.dataset-select .ant-select-selection-item {
font-weight: 600;
font-size: 13px;
color: #1a1a1a;
}
.dataset-select:hover .ant-select-selector {
border-color: rgb(0 104 74) !important;
}
.dataset-select.ant-select-focused .ant-select-selector {
border-color: rgb(0 104 74) !important;
box-shadow: 0 0 0 2px rgba(0, 104, 74, 0.1) !important;
}
/* 知识库下拉选项 */
.dataset-option {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 0;
}
.dataset-option-name {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dataset-option-tag {
font-size: 10px;
padding: 1px 6px;
border-radius: 4px;
background: rgba(0, 104, 74, 0.1);
color: rgb(0 104 74);
white-space: nowrap;
}
.dataset-option-tag.public {
background: rgba(24, 144, 255, 0.1);
color: #1890ff;
}
/* 统计信息 */
.sidebar-stats {
padding: 0 16px 16px;