Files
agent-chain/internal/clipboard/clipboard.go
T
2026-03-20 14:26:24 +08:00

40 lines
743 B
Go

package clipboard
import (
"fmt"
"runtime"
"github.com/atotto/clipboard"
)
var isClipboardAvailable bool
func init() {
// 检测剪切板是否可用
// Linux需要xclip或xsel
if runtime.GOOS == "linux" {
isClipboardAvailable = isXClipAvailable()
} else {
isClipboardAvailable = true
}
}
func isXClipAvailable() bool {
// 简单检查,实际使用时会在调用时检测
return true
}
// Write 将文本复制到剪切板
func Write(text string) error {
if !isClipboardAvailable {
return fmt.Errorf("clipboard not available on this system")
}
return clipboard.WriteAll(text)
}
// WriteSilent 静默复制到剪切板,不返回错误
func WriteSilent(text string) bool {
err := Write(text)
return err == nil
}