mirror of
https://github.com/qingchencloud/clawpanel.git
synced 2026-07-07 15:41:28 +08:00
feat: AI助手支持 Anthropic/Gemini 原生API + 修复Windows终端闪烁
- AI助手新增 API 类型选择器(OpenAI兼容 / Anthropic原生 / Google Gemini) - 实现 Anthropic Messages API 流式调用 + 工具调用(tool_use/tool_result) - 实现 Google Gemini streamGenerateContent + 工具调用(functionCall) - 设置弹窗动态切换 placeholder 和提示文本 - 测试按钮和模型拉取适配三种 API 类型 - 修复 Windows 上 Gateway 状态轮询导致终端反复闪烁(execSync/spawn 加 windowsHide) - 默认密码统一为 123456 + 改密码后自动移除顶部横幅 - 后端 API 增加暴力破解保护、配置缓存、请求体大小限制
This commit is contained in:
@@ -1323,6 +1323,29 @@ pub async fn check_panel_update() -> Result<Value, String> {
|
||||
Ok(Value::Object(result))
|
||||
}
|
||||
|
||||
// === 面板配置 (clawpanel.json) ===
|
||||
|
||||
#[tauri::command]
|
||||
pub fn read_panel_config() -> Result<Value, String> {
|
||||
let path = super::openclaw_dir().join("clawpanel.json");
|
||||
if !path.exists() {
|
||||
return Ok(serde_json::json!({}));
|
||||
}
|
||||
let content = fs::read_to_string(&path).map_err(|e| format!("读取失败: {e}"))?;
|
||||
serde_json::from_str(&content).map_err(|e| format!("解析失败: {e}"))
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
pub fn write_panel_config(config: Value) -> Result<(), String> {
|
||||
let dir = super::openclaw_dir();
|
||||
if !dir.exists() {
|
||||
fs::create_dir_all(&dir).map_err(|e| format!("创建目录失败: {e}"))?;
|
||||
}
|
||||
let path = dir.join("clawpanel.json");
|
||||
let json = serde_json::to_string_pretty(&config).map_err(|e| format!("序列化失败: {e}"))?;
|
||||
fs::write(&path, json).map_err(|e| format!("写入失败: {e}"))
|
||||
}
|
||||
|
||||
#[tauri::command]
|
||||
pub fn get_npm_registry() -> Result<String, String> {
|
||||
Ok(get_configured_registry())
|
||||
|
||||
@@ -39,6 +39,8 @@ pub fn run() {
|
||||
config::uninstall_gateway,
|
||||
config::patch_model_vision,
|
||||
config::check_panel_update,
|
||||
config::read_panel_config,
|
||||
config::write_panel_config,
|
||||
config::get_npm_registry,
|
||||
config::set_npm_registry,
|
||||
// 设备密钥 + Gateway 握手
|
||||
|
||||
Reference in New Issue
Block a user