WorkspaceReader
WorkspaceReader 用于读取工作区特定的数据。
创建
NewWorkspaceReader
通过 CursorClient 创建:
go
workspace, err := client.Workspace("/path/to/workspace")
if err != nil {
log.Fatal(err)
}
defer workspace.Close()方法
GetWorkspaceInfo
获取工作区信息。
go
func (r *WorkspaceReader) GetWorkspaceInfo() (*Workspace, error)返回值:
*Workspace- 工作区信息error- 错误信息
示例:
go
info, err := workspace.GetWorkspaceInfo()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Path: %s\n", info.Path)
fmt.Printf("Name: %s\n", info.Name)GetComposers
获取工作区的 Composer 数据。
go
func (r *WorkspaceReader) GetComposers() ([]Composer, error)返回值:
[]Composer- Composer 列表error- 错误信息
示例:
go
composers, err := workspace.GetComposers()
if err != nil {
log.Fatal(err)
}
for _, composer := range composers {
fmt.Printf("Composer: %s\n", composer.ID)
}GetAIGenerations
获取 AI 生成记录。
go
func (r *WorkspaceReader) GetAIGenerations() ([]AIGeneration, error)返回值:
[]AIGeneration- AI 生成记录列表error- 错误信息
示例:
go
generations, err := workspace.GetAIGenerations()
if err != nil {
log.Fatal(err)
}
for _, gen := range generations {
fmt.Printf("Prompt: %s\n", gen.Prompt)
fmt.Printf("Response: %s\n", gen.Response)
}GetAIPrompts
获取 AI 提示记录。
go
func (r *WorkspaceReader) GetAIPrompts() ([]AIPrompt, error)返回值:
[]AIPrompt- AI 提示记录列表error- 错误信息
示例:
go
prompts, err := workspace.GetAIPrompts()
if err != nil {
log.Fatal(err)
}
for _, prompt := range prompts {
fmt.Printf("Content: %s\n", prompt.Content)
}数据结构
Workspace
go
type Workspace struct {
Path string // 工作区路径
Name string // 工作区名称
}AIGeneration
go
type AIGeneration struct {
ID string // ID
Prompt string // 提示
Response string // 响应
Model string // 模型
Timestamp time.Time // 时间戳
}AIPrompt
go
type AIPrompt struct {
ID string // ID
Content string // 内容
Type string // 类型
Timestamp time.Time // 时间戳
}完整示例
go
package main
import (
"fmt"
"log"
cursor "github.com/vibe-coding-labs/go-cursor-sdk"
)
func main() {
client, err := cursor.NewCursorClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
// 创建工作区 reader
workspace, err := client.Workspace("/path/to/workspace")
if err != nil {
log.Fatal(err)
}
defer workspace.Close()
// 获取工作区信息
info, err := workspace.GetWorkspaceInfo()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Workspace: %s\n", info.Name)
// 获取 Composer 数据
composers, err := workspace.GetComposers()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Composers: %d\n", len(composers))
// 获取 AI 生成记录
generations, err := workspace.GetAIGenerations()
if err != nil {
log.Fatal(err)
}
fmt.Printf("AI Generations: %d\n", len(generations))
}相关文档
- CursorClient - 客户端 API
- Composer - Composer 数据结构