Files
AskaEth 71f0a1abdb feat: Go模块路径迁移 + Docker生产部署适配 + ethend Docker兼容
- 所有Go模块路径从 github.com/yourname/cyrene-ai 迁移到 git.yeij.top/AskaEth/Cyrene
- 5个Go Dockerfile添加 GOPROXY=https://goproxy.cn,direct 解决国内构建问题
- ai-core go.mod 添加 pkg/plugins replace 指令
- Caddyfile 简化为 http:// 通配 + handle 保留 /api 前缀
- ethend Dockerfile 适配 (npm install + 仅 COPY package.json)
- ethend 新增 RUNNING_IN_DOCKER 环境变量,健康检查改用Docker服务名
- ethend 数据库状态检查支持Docker hostname (postgres/redis/qdrant/minio)
- process-manager 新增 CONTAINER_SVC_MAP + Docker模式自动检测
- 统一 docker-compose.dev.db.yml 卷名 (pg_data/redis_data/qdrant_data/minio_data)
- docker-compose.yml ethend服务挂载docker.sock + 端口变量化
- 清理 .env 统一后的残留文件与提示信息

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 13:43:22 +08:00

47 lines
1.2 KiB
Go

package handler
import (
"net/http"
"github.com/gin-gonic/gin"
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
)
// ThinkingScheduleHandler handles CRUD for the thinking schedule config.
type ThinkingScheduleHandler struct {
store *config.ThinkingScheduleStore
}
// NewThinkingScheduleHandler creates a new handler.
func NewThinkingScheduleHandler(store *config.ThinkingScheduleStore) *ThinkingScheduleHandler {
return &ThinkingScheduleHandler{store: store}
}
// GetSchedule returns the current schedule config.
// GET /api/v1/admin/thinking-schedule
func (h *ThinkingScheduleHandler) GetSchedule(c *gin.Context) {
cfg := h.store.GetConfig()
if cfg == nil {
cfg = config.DefaultThinkingScheduleConfig()
}
c.JSON(http.StatusOK, cfg)
}
// SetSchedule replaces the entire schedule config.
// PUT /api/v1/admin/thinking-schedule
func (h *ThinkingScheduleHandler) SetSchedule(c *gin.Context) {
var cfg config.ThinkingScheduleConfig
if err := c.ShouldBindJSON(&cfg); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": "请求参数无效: " + err.Error()})
return
}
if err := h.store.SetConfig(&cfg); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"status": "saved"})
}