cli

package
v0.3.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BuiltinCLITools = []CLIToolSpec{
	{
		Name:         "claude",
		DisplayName:  "Claude Code",
		Binary:       "claude",
		InstallCmd:   "npm install -g @anthropic-ai/claude-code",
		DetectCmd:    "claude --version",
		VersionRegex: `Claude CLI[,:]? v?(\d+\.\d+\.\d+)`,
		Default:      true,
	},
	{
		Name:         "codex",
		DisplayName:  "Codex CLI",
		Binary:       "codex",
		InstallCmd:   "npm install -g @openai/codex",
		DetectCmd:    "codex --version",
		VersionRegex: `(\d+\.\d+\.\d+)`,
		Default:      false,
	},
	{
		Name:         "opencode",
		DisplayName:  "OpenCode",
		Binary:       "opencode",
		InstallCmd:   "npm install -g opencode-ai",
		DetectCmd:    "opencode --version",
		VersionRegex: `(\d+\.\d+\.\d+)`,
		Default:      false,
	},
}

BuiltinCLITools lists the external AI coding CLIs Leros can detect.

Functions

func Chat

func Chat(ctx context.Context, serverAddr, authToken, initialMessage string) error

Chat 启动交互式聊天会话,连接至指定的 Leros 服务端。 如果 initialMessage 为非空字符串,则将其作为首条消息发送,否则提示用户输入。

func DetailProject

func DetailProject(ctx context.Context, serverAddr, authToken, publicID string) (*contract.ProjectDetail, error)

DetailProject 调用服务端 DetailProject API 并返回解析后的结果。

func GetDigitalAssistantByID

func GetDigitalAssistantByID(ctx context.Context, serverAddr, authToken string, id uint) (*contract.DigitalAssistantDetail, error)

GetDigitalAssistantByID 调用服务端 GetDigitalAssistant API 并返回解析后的结果。

func GetDigitalAssistantByPublicID added in v0.1.26

func GetDigitalAssistantByPublicID(ctx context.Context, serverAddr, authToken string, publicID string) (*contract.DigitalAssistantDetail, error)

GetDigitalAssistantByPublicID 通过 PublicID 调用服务端 GetDigitalAssistant API。

func GetPresignUploadURL added in v0.1.17

func GetPresignUploadURL(ctx context.Context, serverAddr, authToken, bucket, key string) (string, error)

GetPresignUploadURL fetches a presigned upload URL for the given bucket and key.

func GetProject

func GetProject(ctx context.Context, serverAddr, authToken, publicID string) (*contract.Project, error)

GetProject 调用服务端 GetProject API 并返回解析后的结果。

func GetSession

func GetSession(ctx context.Context, serverAddr, authToken, sessionID string) (*contract.Session, error)

GetSession 调用服务端 GetSession API 并返回解析后的结果。

func GetSessionMessages

func GetSessionMessages(ctx context.Context, serverAddr, authToken, sessionID string, page, perPage int) (*contract.MessageList, error)

GetSessionMessages 调用服务端 GetSessionMessages API 并返回解析后的结果。

func GetTask

func GetTask(ctx context.Context, serverAddr, authToken, publicID string) (*contract.Task, error)

GetTask 调用服务端 GetTask API 并返回解析后的结果。

func ListProjectFiles added in v0.1.19

func ListProjectFiles(ctx context.Context, serverAddr, authToken, projectID, resourceType, taskID string) ([]contract.FileTreeNode, error)

ListProjectFiles 调用服务端项目文件树接口,按 project + resource_type + task 过滤。

func ListProjects

func ListProjects(ctx context.Context, serverAddr, authToken string, req *contract.ListProjectsRequest) (*contract.ProjectList, error)

ListProjects 调用服务端 ListProjects API 并返回解析后的结果。

func ListSessions

func ListSessions(ctx context.Context, serverAddr, authToken string, req *contract.ListSessionsRequest) (*contract.SessionList, error)

ListSessions 调用服务端 ListSessions API 并返回解析后的结果。

func ListTasks

func ListTasks(ctx context.Context, serverAddr, authToken string, req *contract.ListTasksRequest) (*contract.TaskList, error)

ListTasks 调用服务端 ListTasks API 并返回解析后的结果。

func PreferredCLIName added in v0.1.22

func PreferredCLIName(available []CLIToolStatus) string

PreferredCLIName chooses the preferred installed runtime from detected CLI status.

func ResolveUserName

func ResolveUserName(ctx context.Context, serverAddr, authToken string, uin uint) string

ResolveUserName 通过 Uin 解析用户名称。

Types

type CLIToolSpec added in v0.1.22

type CLIToolSpec struct {
	Name         string
	DisplayName  string
	Binary       string
	InstallCmd   string
	DetectCmd    string
	VersionRegex string
	Default      bool
}

CLIToolSpec describes a built-in external AI coding CLI.

func GetCLIToolSpec added in v0.1.22

func GetCLIToolSpec(name string) *CLIToolSpec

GetCLIToolSpec returns the built-in CLI spec with the given runtime name.

type CLIToolStatus added in v0.1.22

type CLIToolStatus struct {
	Name        string `json:"name"`
	DisplayName string `json:"display_name"`
	Binary      string `json:"binary"`
	Installed   bool   `json:"installed"`
	Version     string `json:"version,omitempty"`
	Path        string `json:"path,omitempty"`
	InstallCmd  string `json:"install_cmd"`
	Default     bool   `json:"is_default"`
}

CLIToolStatus reports whether a built-in CLI is available in the current environment.

func DiscoverAvailableCLI added in v0.1.22

func DiscoverAvailableCLI() []CLIToolStatus

DiscoverAvailableCLI detects all built-in CLI tools from the current PATH.

func GetCLIStatusSummary added in v0.1.22

func GetCLIStatusSummary() []CLIToolStatus

GetCLIStatusSummary returns the current detection status for all built-in CLI runtimes.

type StorageConfig added in v0.1.17

type StorageConfig struct {
	Scheme string `json:"scheme"`
	Bucket string `json:"bucket"`
}

StorageConfig represents storage configuration returned by the server.

func GetStorageConfig added in v0.1.17

func GetStorageConfig(ctx context.Context, serverAddr, authToken string) (*StorageConfig, error)

GetStorageConfig fetches the storage configuration from the server.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL