Files
HomeAgent/internal/kernelmod/docstore/mod.go
JianFeeeee 4e70b8d5d8 refactor(module): 核心仓 Go module 路径改为 github.com/JianFeeeee/HologramAgent
批 1,不含 SDK 仓与目录改名。

- go.mod 第 1 行 module 路径
- 366 个 .go 文件的完整前缀 github.com/JianFeeeee/HomeAgent 机械替换
  (857 处,仅完整前缀;展示名/注释里的 HomeAgent 字样留给批 5)
- 未改:third_party 目录名、SDK 自身 go.mod module、go.mod replace 目标、
  homed/waiter 可执行名、.hmap 后缀
2026-10-21 12:17:19 +08:00

38 lines
1.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Package docstore 是 doc-store 模块:文档记忆(文本块 + 向量)。
//
// 依赖 config:`initDocStore(cfg)` 读 cfg.Daemon.DataDir。
package docstore
import (
"log"
"path/filepath"
"github.com/JianFeeeee/HologramAgent/internal/kernelboot"
"github.com/JianFeeeee/HologramAgent/internal/kernelmod"
"github.com/JianFeeeee/HologramAgent/internal/memory"
"github.com/JianFeeeee/HologramAgent/internal/memory/document"
)
// Module 提供文档记忆。
type Module struct{}
func (Module) Name() string { return "doc-store" }
func (Module) Requires() []string { return []string{kernelmod.FacConfig} }
func (Module) Provides() []string { return []string{kernelmod.FacDocStore} }
func (Module) Init(ks *kernelboot.KernelState) error {
docStore := document.NewStore(
filepath.Join(ks.Cfg.Daemon.DataDir, "memory", "documents"), memory.TokenizeWords)
if err := docStore.Start(); err != nil {
log.Printf("[homed] warning: document store: %v", err)
}
// 关停时落盘:文档记忆的内存态变更(迁移结果、访问计数等)只在 flush 里写盘,
// 而 flush 的唯一入口是 Stop() —— 此前全仓无人调用它,
// 于是迁移结果永不落盘、每次启动白算一遍。
ks.DocStore = docStore
ks.AddCloser(docStore.Stop)
return nil
}
func init() { kernelmod.Register(Module{}) }