Files
HomeAgent/internal/agent/api/quickchat_test.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

55 lines
1.2 KiB
Go

package api
import (
"context"
"os"
"testing"
"time"
luaVM "github.com/JianFeeeee/HologramAgent/internal/lua"
)
func TestQuickChatWithRealKey(t *testing.T) {
apiKey := os.Getenv("DEEPSEEK_API_KEY")
if apiKey == "" {
t.Skip("DEEPSEEK_API_KEY not set — skipping real LLM test")
}
tmpDir := t.TempDir()
vm := luaVM.NewVM(tmpDir + "/adapters")
if err := vm.Start(); err != nil {
t.Fatal(err)
}
defer vm.Stop()
pm := NewProviderManager()
pm.Register("deepseek", NewLuaAdaptedProvider(BaseConfig{
Model: "deepseek-v4-flash",
BaseURL: "https://api.deepseek.com",
APIKey: apiKey,
}, vm, "deepseek", "deepseek"))
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
start := time.Now()
resp, err := pm.QuickChat(ctx, "请回复'OK',不要输出其他内容")
elapsed := time.Since(start)
if err != nil {
t.Fatalf("QuickChat failed: %v", err)
}
if resp.Content == "" {
t.Fatal("empty response")
}
t.Logf("Response: %q", resp.Content)
t.Logf("Time: %v", elapsed.Round(time.Millisecond))
if resp.TokenUsage.Total > 0 {
t.Logf("Tokens: %d (prompt %d + completion %d)",
resp.TokenUsage.Total, resp.TokenUsage.Prompt, resp.TokenUsage.Completion)
}
}