chore: snapshot before tool ui fix

This commit is contained in:
JOJO 2025-11-26 18:07:52 +08:00
parent ef4479866e
commit b39d7cc795
4 changed files with 53 additions and 9 deletions

View File

@ -2,7 +2,7 @@
OCR_API_BASE_URL = "https://api.siliconflow.cn"
OCR_API_KEY = "sk-suqqgewtlwajjkylvnotdhkzmsrshmrqptkakdqjmlrilaes"
OCR_MODEL_ID = "deepseek-ai/DeepSeek-OCR"
OCR_MODEL_ID = "Qwen/Qwen3-VL-30B-A3B-Thinking"
OCR_MAX_TOKENS = 200
__all__ = [

View File

@ -1143,12 +1143,12 @@ class MainTerminal:
"type": "function",
"function": {
"name": "ocr_image",
"description": "使用 DeepSeek-OCR 读取图片中的文字或根据提示生成描述,仅支持本地图片路径。",
"description": "使用 Qwen3-VL模型 读取图片中的文字或根据提示生成描述,仅支持本地图片路径。",
"parameters": {
"type": "object",
"properties": {
"path": {"type": "string", "description": "项目内的图片路径"},
"prompt": {"type": "string", "description": "传递给 OCR 模型的提示词,如“请识别图片中的文字”,必须使用中文提示词。"}
"prompt": {"type": "string", "description": "传递给 OCR 模型的提示词,如“请识别图片中的文字”,“图中的手机是什么颜色的”必须使用中文提示词。"}
},
"required": ["path", "prompt"]
}

View File

@ -18,9 +18,9 @@ QUOTA_DEFAULTS = {
},
"search_daily": {"limit": 20, "window_hours": 24},
"admin": {
"fast": {"limit": 9999, "window_hours": 5},
"thinking": {"limit": 9999, "window_hours": 5},
"search": {"limit": 9999, "window_hours": 24},
"fast": {"limit": 999, "window_hours": 5},
"thinking": {"limit": 999, "window_hours": 5},
"search": {"limit": 999, "window_hours": 24},
},
}

View File

@ -103,13 +103,27 @@
height: 12px;
border-radius: 6px;
background: var(--claude-muted);
box-shadow: 0 0 0 4px rgba(121, 109, 94, 0.18);
transition: background 0.2s ease, box-shadow 0.2s ease;
position: relative;
overflow: visible;
}
.connection-dot::after {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
opacity: 0;
background: transparent;
}
.connection-dot.active {
background: var(--claude-success);
box-shadow: 0 0 0 6px rgba(118, 176, 134, 0.25);
}
.connection-dot.active::after {
background: var(--claude-success);
animation: statusPulse 2.4s ease-out infinite;
}
.mode-icon-enter-active,
@ -123,6 +137,21 @@
transform: scale(0.5) rotate(8deg);
}
@keyframes statusPulse {
0% {
transform: scale(1);
opacity: 0.35;
}
70% {
transform: scale(2.2);
opacity: 0;
}
100% {
transform: scale(2.2);
opacity: 0;
}
}
.sidebar-header {
padding: 23px;
border-bottom: 1px solid var(--claude-border);
@ -203,6 +232,10 @@
.sidebar-panel-content {
flex: 1 1 auto;
display: flex;
flex-direction: column;
min-height: 0;
overflow: hidden;
background: var(--claude-sidebar);
padding: 6px 12px 24px;
border-radius: 0 0 18px 18px;
@ -266,8 +299,18 @@
/* 文件树 */
.file-tree {
flex: 1 1 auto;
min-height: 0;
padding: 12px 0 20px;
color: var(--claude-text);
overflow-y: auto;
-ms-overflow-style: none;
scrollbar-width: none;
}
.file-tree::-webkit-scrollbar {
width: 0;
height: 0;
}
.todo-panel {
@ -338,7 +381,8 @@
color: var(--claude-text-secondary);
}
.todo-empty {
.todo-empty,
.sub-agent-empty {
font-size: 14px;
color: var(--claude-text-secondary);
padding: 12px;