feat: 新增语音转文字(ASR)功能
- 后端:新增 /api/audio/transcribe 接口,调用 Ollama whisper 进行语音识别 - 前端:新增 AudioTranscribePage.vue 页面,支持 MP3/WAV/M4A/OGG/FLAC 等格式 - 注册路由、工具卡片、智能助手欢迎语更新 Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"eai_agentplatform/backend/internal/api"
|
||||
"eai_agentplatform/backend/internal/auth"
|
||||
"eai_agentplatform/backend/internal/config"
|
||||
"eai_agentplatform/backend/internal/model"
|
||||
"eai_agentplatform/backend/internal/store"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 交付维护子命令(不进服务主流程)
|
||||
if len(os.Args) > 1 {
|
||||
switch os.Args[1] {
|
||||
case "-reset-admin":
|
||||
resetAdmin(os.Args[2:])
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
cfg := config.Load()
|
||||
|
||||
if _, err := store.Init(cfg.DBPath); err != nil {
|
||||
log.Fatalf("数据库初始化失败: %v", err)
|
||||
}
|
||||
if err := store.SeedDefaults(); err != nil {
|
||||
log.Fatalf("种子数据初始化失败: %v", err)
|
||||
}
|
||||
|
||||
r := gin.Default()
|
||||
|
||||
api.RegisterRoutes(r, cfg)
|
||||
|
||||
log.Printf("eai_agentplatform 后端启动,端口 :%s", cfg.Port)
|
||||
if err := r.Run(":" + cfg.Port); err != nil {
|
||||
log.Fatalf("启动失败: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
// resetAdmin 交付前重置管理员密码:eai_agentplatform-server -reset-admin <新密码>
|
||||
func resetAdmin(args []string) {
|
||||
if len(args) < 1 || args[0] == "" {
|
||||
log.Fatal("用法: eai_agentplatform-server -reset-admin <新密码>")
|
||||
}
|
||||
cfg := config.Load()
|
||||
if _, err := store.Init(cfg.DBPath); err != nil {
|
||||
log.Fatalf("数据库初始化失败: %v", err)
|
||||
}
|
||||
hash, err := auth.HashPassword(args[0])
|
||||
if err != nil {
|
||||
log.Fatalf("密码加密失败: %v", err)
|
||||
}
|
||||
if err := store.DB.Model(&model.User{}).Where("username = ?", "admin").Update("password_hash", hash).Error; err != nil {
|
||||
log.Fatalf("重置密码失败: %v", err)
|
||||
}
|
||||
log.Println("[OK] 管理员密码已重置")
|
||||
}
|
||||
Reference in New Issue
Block a user