mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-24 19:08:10 +00:00
feat: complete P0/P1/P2 — WebUI SPA, OpenClaw sidecar+simulator, healthcheck auto-sched+perf
P0: WebUI重构
- 完整 SPA 仪表盘 (7标签页), //go:embed dashboard.html
P1: OpenClaw兼容 (三通道: SKILL.md / sidecar / simulator)
- Node.js 模拟进程统一加载任意 OpenClaw 插件
- JSON-RPC 2.0 over stdio 协议, go:embed 内嵌
P2: Healthcheck 优化
- 定时自动执行 (startAutoCheck, 30min)
- healthcheck_perf 性能监控工具
其他: agentcli/cmd 插件, integration_test, status.go,
test_deepseek 清理, 多项 bug 修复
This commit is contained in:
54
internal/agent/api/quickchat_test.go
Normal file
54
internal/agent/api/quickchat_test.go
Normal file
@ -0,0 +1,54 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
luaVM "gitcode.com/JianFeeeee/HomeAgent/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"))
|
||||
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user