feat: Enhance CLI tools and settings management

- Added auto-initialization of CSRF token for state-changing requests in cli-manager.js.
- Refactored Claude CLI Tools configuration to separate tools and settings into cli-tools.json and cli-settings.json respectively.
- Introduced new interfaces for Claude CLI Tools and Settings, including support for tags and primary models.
- Implemented loading and saving functions for CLI settings, ensuring backward compatibility with legacy combined config.
- Updated functions to synchronize tags between CLI tools and configuration manager.
- Added error handling and logging for loading and saving configurations.
- Created initial cli-settings.json with default settings.
This commit is contained in:
catlog22
2026-01-08 22:00:07 +08:00
parent 0bd2cff5b7
commit ea5c0bc9a4
12 changed files with 1376 additions and 180 deletions

View File

@@ -972,27 +972,31 @@ select.cli-input {
.sidebar-tabs {
display: flex;
gap: 0;
flex-wrap: nowrap;
gap: 0.125rem;
padding: 0.5rem;
background: hsl(var(--muted) / 0.3);
border-bottom: 1px solid hsl(var(--border));
}
.sidebar-tab {
flex: 1;
flex: 1 1 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.25rem;
gap: 0.125rem;
padding: 0.5rem 0.25rem;
font-size: 0.75rem;
font-weight: 500;
color: hsl(var(--muted-foreground));
background: transparent;
border: none;
border-radius: 0.375rem;
border: 1px solid transparent;
border-radius: 0.5rem;
cursor: pointer;
transition: all 0.2s;
white-space: nowrap;
min-width: 0;
}
.sidebar-tab:hover {
@@ -1002,12 +1006,14 @@ select.cli-input {
.sidebar-tab.active {
color: hsl(var(--primary));
background: hsl(var(--primary) / 0.1);
background: hsl(var(--card));
border-color: hsl(var(--border));
box-shadow: 0 1px 3px hsl(var(--foreground) / 0.05);
}
.sidebar-tab i {
width: 14px;
height: 14px;
width: 18px;
height: 18px;
}
/* Sidebar content areas */
@@ -1107,13 +1113,13 @@ select.cli-input {
/* Responsive adjustments for tabs */
@media (max-width: 768px) {
.sidebar-tab {
padding: 0.5rem 0.5rem;
font-size: 0.7rem;
padding: 0.5rem 0.625rem;
font-size: 0.75rem;
}
.sidebar-tab i {
width: 12px;
height: 12px;
width: 16px;
height: 16px;
}
}