zeuszhao 3 tháng trước cách đây
mục cha
commit
503347a3cc
4 tập tin đã thay đổi với 25 bổ sung9 xóa
  1. 7 1
      go.mod
  2. 8 0
      go.sum
  3. 9 7
      kimi/kimi.go
  4. 1 1
      llm.go

+ 7 - 1
go.mod

@@ -4,4 +4,10 @@ go 1.23.1
 
 require github.com/go-rod/rod v0.116.2
 
-require github.com/ysmood/gson v0.7.3 // indirect
+require (
+	github.com/ysmood/fetchup v0.2.3 // indirect
+	github.com/ysmood/goob v0.4.0 // indirect
+	github.com/ysmood/got v0.40.0 // indirect
+	github.com/ysmood/gson v0.7.3 // indirect
+	github.com/ysmood/leakless v0.9.0 // indirect
+)

+ 8 - 0
go.sum

@@ -1,8 +1,16 @@
 github.com/go-rod/rod v0.116.2 h1:A5t2Ky2A+5eD/ZJQr1EfsQSe5rms5Xof/qj296e+ZqA=
 github.com/go-rod/rod v0.116.2/go.mod h1:H+CMO9SCNc2TJ2WfrG+pKhITz57uGNYU43qYHh438Mg=
+github.com/ysmood/fetchup v0.2.3 h1:ulX+SonA0Vma5zUFXtv52Kzip/xe7aj4vqT5AJwQ+ZQ=
+github.com/ysmood/fetchup v0.2.3/go.mod h1:xhibcRKziSvol0H1/pj33dnKrYyI2ebIvz5cOOkYGns=
+github.com/ysmood/goob v0.4.0 h1:HsxXhyLBeGzWXnqVKtmT9qM7EuVs/XOgkX7T6r1o1AQ=
+github.com/ysmood/goob v0.4.0/go.mod h1:u6yx7ZhS4Exf2MwciFr6nIM8knHQIE22lFpWHnfql18=
 github.com/ysmood/gop v0.2.0 h1:+tFrG0TWPxT6p9ZaZs+VY+opCvHU8/3Fk6BaNv6kqKg=
 github.com/ysmood/gop v0.2.0/go.mod h1:rr5z2z27oGEbyB787hpEcx4ab8cCiPnKxn0SUHt6xzk=
 github.com/ysmood/got v0.40.0 h1:ZQk1B55zIvS7zflRrkGfPDrPG3d7+JOza1ZkNxcc74Q=
 github.com/ysmood/got v0.40.0/go.mod h1:W7DdpuX6skL3NszLmAsC5hT7JAhuLZhByVzHTq874Qg=
+github.com/ysmood/gotrace v0.6.0 h1:SyI1d4jclswLhg7SWTL6os3L1WOKeNn/ZtzVQF8QmdY=
+github.com/ysmood/gotrace v0.6.0/go.mod h1:TzhIG7nHDry5//eYZDYcTzuJLYQIkykJzCRIo4/dzQM=
 github.com/ysmood/gson v0.7.3 h1:QFkWbTH8MxyUTKPkVWAENJhxqdBa4lYTQWqZCiLG6kE=
 github.com/ysmood/gson v0.7.3/go.mod h1:3Kzs5zDl21g5F/BlLTNcuAGAYLKt2lV5G8D1zF3RNmg=
+github.com/ysmood/leakless v0.9.0 h1:qxCG5VirSBvmi3uynXFkcnLMzkphdh3xx5FtrORwDCU=
+github.com/ysmood/leakless v0.9.0/go.mod h1:R8iAXPRaG97QJwqxs74RdwzcRHT1SWCGTNqY8q0JvMQ=

+ 9 - 7
kimi/kimi.go

@@ -120,10 +120,12 @@ func (k *Kimi) NewChat(ctx context.Context) (llm.Chat, error) {
 	if err != nil {
 		return nil, err
 	}
-	localStorage, ok := k.userContext.LocalStorage[k.GetName()]
-	if ok {
-		for key, val := range localStorage {
-			c.Page.MustEval(fmt.Sprintf("() => {window.localStorage.setItem('%s','%s')}", key, val))
+	if k.userContext != nil {
+		localStorage, ok := k.userContext.LocalStorage[k.GetName()]
+		if ok {
+			for key, val := range localStorage {
+				c.Page.MustEval(fmt.Sprintf("() => {window.localStorage.setItem('%s','%s')}", key, val))
+			}
 		}
 	}
 	wait()
@@ -135,16 +137,16 @@ func (k *Kimi) Close(ctx context.Context) error {
 	return nil
 }
 
-func (k *Kimi) Init(ctx context.Context) (llm.AI, error) {
+func (k *Kimi) Init(ctx context.Context, debug bool) (llm.AI, error) {
 	path, ok := launcher.LookPath()
 	if !ok {
 		return nil, errors.New("浏览器未找到")
 	}
 	launcherHandler := launcher.New().
 		Bin(path).
-		HeadlessNew(true).
+		HeadlessNew(!debug).
 		Set("disable-gpu").
-		Devtools(false)
+		Devtools(debug)
 	browser := rod.New().ControlURL(launcherHandler.MustLaunch()).MustConnect()
 	return &Kimi{
 		browser:  browser,

+ 1 - 1
llm.go

@@ -11,7 +11,7 @@ type Chat interface {
 
 type AI interface {
 	UserBrowserAgent
-	Init(ctx context.Context) (AI, error)
+	Init(ctx context.Context, debug bool) (AI, error)
 	NewChat(ctx context.Context) (Chat, error)
 	Close(ctx context.Context) error
 	GetName() string