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>
This commit is contained in:
@@ -10,6 +10,7 @@ COPY backend/gateway/ ./backend/gateway/
|
||||
COPY backend/pkg/ ./backend/pkg/
|
||||
|
||||
WORKDIR /app/backend/gateway
|
||||
ENV GOPROXY=https://goproxy.cn,direct
|
||||
RUN go mod download
|
||||
|
||||
# 编译 (静态链接)
|
||||
|
||||
@@ -2,7 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"os"
|
||||
"os/signal"
|
||||
@@ -13,13 +13,13 @@ import (
|
||||
"github.com/joho/godotenv"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/engine"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/handler"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/router"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/engine"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/handler"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/router"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module github.com/yourname/cyrene-ai/gateway
|
||||
module git.yeij.top/AskaEth/Cyrene/gateway
|
||||
|
||||
go 1.26.2
|
||||
|
||||
@@ -31,7 +31,7 @@ require (
|
||||
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/ugorji/go/codec v1.2.12 // indirect
|
||||
github.com/yourname/cyrene-ai/pkg/logger v0.0.0
|
||||
git.yeij.top/AskaEth/Cyrene/pkg/logger v0.0.0
|
||||
golang.org/x/arch v0.8.0 // indirect
|
||||
golang.org/x/net v0.25.0 // indirect
|
||||
golang.org/x/sys v0.20.0 // indirect
|
||||
@@ -40,4 +40,4 @@ require (
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
replace github.com/yourname/cyrene-ai/pkg/logger => ../pkg/logger
|
||||
replace git.yeij.top/AskaEth/Cyrene/pkg/logger => ../pkg/logger
|
||||
|
||||
@@ -6,15 +6,15 @@ import (
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
// TriggerConfig 触发器配置
|
||||
|
||||
@@ -8,14 +8,14 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
_ "github.com/lib/pq"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
)
|
||||
|
||||
// usernameRegex 用户名格式校验:仅允许字母、数字、下划线,长度 3-32
|
||||
|
||||
@@ -4,14 +4,14 @@ import (
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/engine"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/engine"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
)
|
||||
|
||||
// AutomationHandler 自动化处理器
|
||||
|
||||
@@ -18,10 +18,10 @@ import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gorilla/websocket"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
)
|
||||
|
||||
// queuedMsg 队列中的待处理消息
|
||||
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
"image/jpeg"
|
||||
"image/png"
|
||||
"io"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -21,8 +21,8 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
)
|
||||
|
||||
// FileHandler 文件管理处理器
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
_ "image/jpeg"
|
||||
_ "image/png"
|
||||
"io"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"os"
|
||||
"sort"
|
||||
@@ -19,9 +19,9 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
)
|
||||
|
||||
// ImageHandler 图片分析处理器
|
||||
|
||||
@@ -2,15 +2,15 @@ package handler
|
||||
|
||||
import (
|
||||
"html"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
)
|
||||
|
||||
// KnowledgeHandler 知识库处理器
|
||||
|
||||
@@ -6,13 +6,13 @@ import (
|
||||
"fmt"
|
||||
"html"
|
||||
"io"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
)
|
||||
|
||||
// MemoryHandler 记忆查询处理器 — 代理到 Memory-Service
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
)
|
||||
|
||||
// ModelConfigHandler exposes admin CRUD endpoints for model configuration.
|
||||
|
||||
@@ -2,14 +2,14 @@ package handler
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
// NotificationHandler 通知推送处理器
|
||||
|
||||
@@ -3,16 +3,16 @@ package handler
|
||||
import (
|
||||
"encoding/json"
|
||||
"html"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
// ReminderHandler 提醒处理器
|
||||
|
||||
@@ -4,16 +4,16 @@ import (
|
||||
"crypto/rand"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
// SessionHandler 会话管理处理器
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
)
|
||||
|
||||
// ThinkingScheduleHandler handles CRUD for the thinking schedule config.
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"io"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
|
||||
@@ -8,15 +8,15 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
// WebhookHandler 副对话系统处理器(第三方平台接入)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
)
|
||||
|
||||
// Auth 用户键值在context中的key
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
@@ -6,12 +6,12 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/config"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/engine"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/handler"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/middleware"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/ws"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/config"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/engine"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/handler"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/middleware"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/ws"
|
||||
)
|
||||
|
||||
// Setup 注册所有路由
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package store
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"crypto/rand"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"strings"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
@@ -3,7 +3,7 @@ package store
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"time"
|
||||
)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package store
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"time"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
|
||||
@@ -2,7 +2,7 @@ package ws
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"time"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
|
||||
@@ -3,14 +3,14 @@ package ws
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/yourname/cyrene-ai/pkg/logger"
|
||||
"git.yeij.top/AskaEth/Cyrene/pkg/logger"
|
||||
"net/http"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/yourname/cyrene-ai/gateway/internal/store"
|
||||
"git.yeij.top/AskaEth/Cyrene/gateway/internal/store"
|
||||
)
|
||||
|
||||
// SessionState 会话状态
|
||||
|
||||
Reference in New Issue
Block a user