feat(site): 并入 Gin 官网与文档服务,对齐桌面产品形态
CI / Lint & TypeCheck (push) Canceled after 0s
CI / Test (push) Canceled after 0s
CI / Tauri Foundation Acceptance (push) Canceled after 0s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Build (ubuntu-latest) (push) Canceled after 0s
CI / Build (windows-latest) (push) Canceled after 0s

- apps/server:Gin embed 官网 + /docs + /health + /download(无操作 API)
- run.sh 重写 web/gui 场景;.gitignore 排除 server 二进制与挂载的安装包
- README/AGENTS/CLAUDE 同步「浏览器只看官网、操作走桌面」的产品形态说明
- 终端视口背景变量与全宽终端边缘 hairline 修正(serial/terminal/i18n 微调)
This commit is contained in:
Logan.Li committed 2026-10-10 13:35:01 +08:00
1 parent b18214e96a
commit 5eb11826db
36 files changed
+3676 -144

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
package main
import (
"log"
"os"
"strings"
"opsxshell/server/internal/server"
)
func main() {
addr := resolveListenAddr()
log.Printf("OpsXShell site listening on http://%s ( / /docs /health )", addr)
if err := server.NewRouter().Run(addr); err != nil {
log.Fatal(err)
}
}
// resolveListenAddr:默认仅本机 127.0.0.1:8789。
// 显式对外:OPSXSHELL_BIND_PUBLIC=1 或 OPSXSHELL_ADDR=:8789 / 0.0.0.0:8789。
// 兼容旧名 OPSXSHELL_SITE_ADDR。
func resolveListenAddr() string {
if v := strings.TrimSpace(os.Getenv("OPSXSHELL_ADDR")); v != "" {
return v
}
if v := strings.TrimSpace(os.Getenv("OPSXSHELL_SITE_ADDR")); v != "" {
return v
}
pub := strings.ToLower(strings.TrimSpace(os.Getenv("OPSXSHELL_BIND_PUBLIC")))
if pub == "1" || pub == "true" || pub == "yes" {
return ":8789"
}
return "127.0.0.1:8789"
}