opsctl

package
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2026 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Overview

Package opsctl 实现 opsctl binder:对 opsctl CLI 暴露的 Unix socket 桥(审批 + 资产 + SSH 池代理)。

只有一个 Wails 绑定方法(RespondOpsctlApproval);其它都是底层服务。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExtToolExecutor

type ExtToolExecutor interface {
	ExecuteExtTool(ctx context.Context, extName, tool string, args []byte) ([]byte, error)
}

ExtToolExecutor 在 opsctl Unix socket 收到 ext_tool 请求时回调到 ai/extension binder。 由 main.go 注入:通常实现是 extension binder 的 service.Bridge().CallTool 包装。

type ExtensionAssetHandler

type ExtensionAssetHandler struct {
	// contains filtered or unexported fields
}

ExtensionAssetHandler serves extension static files from the extensions directory at /extensions/{name}/..., falling back to the default handler for all other paths.

func NewExtensionAssetHandler

func NewExtensionAssetHandler(extensionsDir string, defaultHandler http.Handler) *ExtensionAssetHandler

NewExtensionAssetHandler creates a handler that serves extension files.

func (*ExtensionAssetHandler) ServeHTTP

type LangProvider

type LangProvider interface {
	Lang() string
}

LangProvider 由 system binder 实现。

type Opsctl

type Opsctl struct {
	// contains filtered or unexported fields
}

Opsctl binder。

func New

func New(
	appCtx context.Context,
	lang LangProvider,
	window WindowActivator,
	proxySrv *sshpool.Server,
) *Opsctl

New 构造 opsctl binder。

func (*Opsctl) Cleanup

func (o *Opsctl) Cleanup()

Cleanup 关闭两个 Unix socket 服务。

func (*Opsctl) RespondOpsctlApproval

func (o *Opsctl) RespondOpsctlApproval(confirmID string, resp permission.ApprovalResponse)

RespondOpsctlApproval 前端响应 opsctl 审批请求(统一入口)

func (*Opsctl) SetAuthToken

func (o *Opsctl) SetAuthToken(token string)

SetAuthToken main.go 注入 socket 鉴权 token,供 startApprovalServer/startSSHPoolServer 使用。

func (*Opsctl) SetExtToolExecutor

func (o *Opsctl) SetExtToolExecutor(e ExtToolExecutor)

SetExtToolExecutor main.go 注入扩展工具执行器。

func (*Opsctl) Startup

func (o *Opsctl) Startup(ctx context.Context)

Startup 启动 Unix socket 服务(审批 + SSH 代理)。

type WindowActivator

type WindowActivator interface {
	ActivateWindow()
}

WindowActivator 由 system binder 实现,审批弹窗时把窗口拉到前台。

Jump to

Keyboard shortcuts

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