chore(module): Go module 路径随托管地迁移 gitcode → github

## 背景

仓库早已迁移到 GitHub(`github.com/JianFeeeee/HomeAgent`,CI/CD 都在那边跑),
gitcode 保留为**国内只读镜像**(`ci.yml` 的 sync-gitcode-main 快进推送)。
但 go.mod 的 module 路径一直是 `gitcode.com/JianFeeeee/...` —— 既与权威源
不符,`meta.SourceURL`(AGPL §13 的源码提供入口)也指向镜像而非实际运行的代码。

## 关键区分(这是本次改动安全的前提)

两个 module 是**不同**的,影响面差一个数量级:

| module | 谁依赖 | 改它的后果 |
|---|---|---|
| `.../HomeAgent`(主仓) | **只有主仓自己** | 内部重构,零外部影响 |
| `.../homeagent-sdk`(SDK 仓) | 主仓 49 文件 + 所有外部插件 | 需重编插件 |

★ 实测确认:**插件不 import 主仓 module**(`strings qq/plugin.bin | grep HomeAgent` = 0),
只依赖 SDK 仓。而插件与内核的边界是 **RPC 方法名字符串**
(`plugin.init` / `tool.invoke`…,见 proc/protocol.go),**与 Go module 名无关**。
⇒ module 改名**不改变任何 wire 协议**,现网已装的插件照常运行。

SDK 的 GitHub 仓名是 `homeagentsdk`(无连字符),module 路径必须与之精确匹配,
否则 `go get` 会因路径不符失败,故取 `github.com/JianFeeeee/homeagentsdk`。

## 改动

- `go.mod` / `go.sum`:两个 module 路径 + require/replace
- 277 个 Go 文件 + Makefile + 打包脚本的 import 与 ldflags 路径
- SDK 仓 `meta.CoreModule`、`tools/hmapdev` 的 module 声明与工程模板
- 对外文档/链接的仓库地址(README、PLUGIN_DEV、OVERVIEW 等)

## 明确**保留** gitcode 的地方(镜像机制,不能动)

- `GITCODE_TOKEN`、`GC_URL="…@gitcode.com"`(CI 同步 job)
- `gitcode.com/api/v5/...`(release 附件上传)
- git remote `gitcode`(镜像拉取/推送)
- `docs/zh/ci-cd-runbook.md`(整篇讲镜像运维)

## 验证

- `go build ./...` / `go vet ./...` 绿
- `go test ./... -count=1` → 48 包 ok / 0 FAIL
- hmapdev 工具链编译通过(`third_party/homeagent-sdk/tools/hmapdev`)
- 全仓残留检查:module 形态的 `gitcode.com/JianFeeeee` = 0
- 镜像机制抽验:GC_URL / @gitcode / api/v5 / remote 均完好

## 顺带修正

`hmapdev/templates.go` 的注释此前写「gitcode 的模块不在 proxy.golang.org 上」——
module 已迁 GitHub,该论断不再成立。改为如实说明**为何仍默认 replace 到本机 SDK**:
离线可构建、避免版本漂移、内网可用。理由与托管地无关,故 replace 保留。
This commit is contained in:
JianFeeeee
2026-10-08 10:39:54 +08:00
parent 476e1b1296
commit 6d38a164eb
305 changed files with 729 additions and 724 deletions

View File

@ -5,7 +5,7 @@ import (
"os"
"path/filepath"
luaVM "gitcode.com/JianFeeeee/HomeAgent/internal/lua"
luaVM "github.com/JianFeeeee/HomeAgent/internal/lua"
)
// adapterImpl 桥接 Lua VM 的协议适配器管理。

View File

@ -1,6 +1,6 @@
package sdk
import "gitcode.com/JianFeeeee/HomeAgent/pkg/types"
import "github.com/JianFeeeee/HomeAgent/pkg/types"
// ConfigAPI provides read/write access to the runtime config object
// (unrelated to the config database).

View File

@ -1,6 +1,6 @@
package sdk
import "gitcode.com/JianFeeeee/HomeAgent/pkg/types"
import "github.com/JianFeeeee/HomeAgent/pkg/types"
// configImpl 持有运行期配置对象的引用(与配置数据库无关)。
type configImpl struct {

View File

@ -3,7 +3,7 @@ package sdk
import (
"errors"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory"
"github.com/JianFeeeee/HomeAgent/internal/memory"
)
// indexerImpl 桥接 memory.Indexer 到中立的 IndexerAPI。

View File

@ -1,8 +1,8 @@
package sdk
import (
"gitcode.com/JianFeeeee/HomeAgent/internal/knowledge"
pubsdk "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
"github.com/JianFeeeee/HomeAgent/internal/knowledge"
pubsdk "github.com/JianFeeeee/homeagentsdk/sdk"
)
// KnowledgeAPI 是内置插件使用的全量知识库接口。

View File

@ -3,7 +3,7 @@ package sdk
import (
"fmt"
"gitcode.com/JianFeeeee/HomeAgent/internal/knowledge"
"github.com/JianFeeeee/HomeAgent/internal/knowledge"
)
type knowledgeImpl struct{ ks *knowledge.Store }

View File

@ -3,7 +3,7 @@ package sdk
import (
"context"
pubsdk "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
pubsdk "github.com/JianFeeeee/homeagentsdk/sdk"
)
// LLMAPI 是内置插件使用的全量 LLM Provider 接口。

View File

@ -4,9 +4,9 @@ import (
"context"
"fmt"
agentAPI "gitcode.com/JianFeeeee/HomeAgent/internal/agent/api"
internalConfig "gitcode.com/JianFeeeee/HomeAgent/internal/config"
luaVM "gitcode.com/JianFeeeee/HomeAgent/internal/lua"
agentAPI "github.com/JianFeeeee/HomeAgent/internal/agent/api"
internalConfig "github.com/JianFeeeee/HomeAgent/internal/config"
luaVM "github.com/JianFeeeee/HomeAgent/internal/lua"
)
type llmImpl struct {

View File

@ -3,7 +3,7 @@ package sdk
import (
"errors"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/media"
"github.com/JianFeeeee/HomeAgent/internal/memory/media"
)
// ErrMediaUnavailable 表示媒体存储未接线(宿主没注入 media.Store)。

View File

@ -1,6 +1,6 @@
package sdk
import pubsdk "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
import pubsdk "github.com/JianFeeeee/homeagentsdk/sdk"
// MemoryAPI 是内置插件使用的全量图记忆接口。
type MemoryAPI interface {

View File

@ -6,10 +6,10 @@ import (
"sync/atomic"
"time"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory"
doc "gitcode.com/JianFeeeee/HomeAgent/internal/memory/document"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/media"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/text"
"github.com/JianFeeeee/HomeAgent/internal/memory"
doc "github.com/JianFeeeee/HomeAgent/internal/memory/document"
"github.com/JianFeeeee/HomeAgent/internal/memory/media"
"github.com/JianFeeeee/HomeAgent/internal/memory/text"
)
// 插件侧记忆接口的实现(SDK 桥接层)。

View File

@ -5,10 +5,10 @@ import (
"strings"
"testing"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory"
doc "gitcode.com/JianFeeeee/HomeAgent/internal/memory/document"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/media"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/text"
"github.com/JianFeeeee/HomeAgent/internal/memory"
doc "github.com/JianFeeeee/HomeAgent/internal/memory/document"
"github.com/JianFeeeee/HomeAgent/internal/memory/media"
"github.com/JianFeeeee/HomeAgent/internal/memory/text"
)
// 插件边界的媒体透传测试。

View File

@ -4,9 +4,9 @@ import (
"log"
"sync"
agentIO "gitcode.com/JianFeeeee/HomeAgent/internal/agent/io"
"gitcode.com/JianFeeeee/HomeAgent/internal/events"
pubsdk "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
agentIO "github.com/JianFeeeee/HomeAgent/internal/agent/io"
"github.com/JianFeeeee/HomeAgent/internal/events"
pubsdk "github.com/JianFeeeee/homeagentsdk/sdk"
)
// SDKVersion 是对外 SDK 版本号,与核心 meta.Version 保持一致。

View File

@ -14,7 +14,7 @@ import (
"strings"
"sync"
pubsdk "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
pubsdk "github.com/JianFeeeee/homeagentsdk/sdk"
)
// ProxyDef 是一条反代声明(见 pubsdk.ProxyDef 的完整文档,含「单一入口原则」)。

View File

@ -6,10 +6,10 @@ import (
"path/filepath"
"sync"
"gitcode.com/JianFeeeee/HomeAgent/internal/knowledge"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory"
doc "gitcode.com/JianFeeeee/HomeAgent/internal/memory/document"
"gitcode.com/JianFeeeee/HomeAgent/internal/memory/text"
"github.com/JianFeeeee/HomeAgent/internal/knowledge"
"github.com/JianFeeeee/HomeAgent/internal/memory"
doc "github.com/JianFeeeee/HomeAgent/internal/memory/document"
"github.com/JianFeeeee/HomeAgent/internal/memory/text"
)
// VirtualInstance 是完全隔离的虚拟存储集合,供内置插件(如 healthcheck)

View File

@ -1,6 +1,6 @@
package sdk
import pubsdk "gitcode.com/JianFeeeee/homeagent-sdk/sdk"
import pubsdk "github.com/JianFeeeee/homeagentsdk/sdk"
// SettingsAPI 是内置插件使用的全量配置接口。
type SettingsAPI interface {

View File

@ -4,7 +4,7 @@ import (
"fmt"
"strings"
internalConfig "gitcode.com/JianFeeeee/HomeAgent/internal/config"
internalConfig "github.com/JianFeeeee/HomeAgent/internal/config"
)
type settingsImpl struct {

View File

@ -3,7 +3,7 @@ package sdk
import (
"time"
"gitcode.com/JianFeeeee/HomeAgent/pkg/types"
"github.com/JianFeeeee/HomeAgent/pkg/types"
)
// SupervisorAPI provides access to agent lifecycle management.

View File

@ -1,7 +1,7 @@
package sdk
import (
agentIO "gitcode.com/JianFeeeee/HomeAgent/internal/agent/io"
agentIO "github.com/JianFeeeee/HomeAgent/internal/agent/io"
)
// toolImpl 桥接 StageHost(插件工具)与 IOManager(设备/通道工具)。