목차

도구

LetKite MCP 서버가 제공하는 모든 도구와 각 도구가 하는 일, 읽기만 하는지 변경할 수 있는지, 매개변수를 정리했습니다. 이 페이지는 게이트웨이 코드에서 생성되므로, AI 클라이언트가 보는 내용과 정확히 같습니다.

각 도구에는 표준 MCP 주석이 붙어 있습니다:

  • 읽기 전용 readOnlyHint: true: 기기와 LetKite에서 아무것도 바꾸지 않습니다.
  • 파괴적 destructiveHint: true: 명령 실행, 파일 쓰기나 삭제, 작업 중지, 화면 입력 등으로 기존 내용을 바꾸거나 제거할 수 있습니다.
  • 세션 열기·닫기 둘 다 해당하지 않음: 셸 세션, 로그 구독, 터널, 웹 공유처럼 되돌릴 수 있는 것을 추가하거나 제거합니다.

모든 도구에는 openWorldHint: false가 설정되어 있습니다. 도구는 여러분의 LetKite 계정에 있는 기기에서만 작동합니다. 도구의 주석과 관계없이 연결의 권한과 승인은 모든 호출에 그대로 적용되며, 모든 호출은 감사 로그에 기록됩니다.

대부분의 도구는 host를 받습니다. list_hosts에서 얻은 기기의 별칭 또는 노드 ID이며, IP 주소는 사용할 수 없습니다.

게이트웨이 코드(letkite/letkite@78168ef, 2026-10-19)에서 생성했습니다. 도구 47개: 읽기 전용 17개, 파괴적 22개, 세션을 열거나 닫는 도구 8개. 도구 설명은 AI 클라이언트가 받는 그대로 영어로 표시됩니다.

호스트와 명령
list_hostsList hosts읽기 전용
host_factsHost facts읽기 전용
fleet_statusGateway status읽기 전용
execRun command파괴적
exec_manyRun command on many hosts파괴적
shell_openOpen shell session세션 열기·닫기
shell_runRun in shell session파괴적
shell_closeClose shell session세션 열기·닫기
파일과 전송
list_dirList directory읽기 전용
read_fileRead file읽기 전용
write_fileWrite file파괴적
delete_pathDelete path파괴적
copy_between_hostsCopy file between hosts파괴적
transfer_startStart file transfer파괴적
transfer_statusTransfer status읽기 전용
transfer_cancelCancel transfer파괴적
작업, 로그, 터널, 노드
job_startStart background job파괴적
job_statusJob status읽기 전용
job_outputRead job output읽기 전용
job_killKill job파괴적
job_purgePurge job파괴적
log_openOpen log subscription세션 열기·닫기
log_readRead log lines읽기 전용
log_closeClose log subscription세션 열기·닫기
tunnel_openOpen tunnel세션 열기·닫기
tunnel_httpHTTP through tunnel파괴적
tunnel_closeClose tunnel세션 열기·닫기
wake_nodeWake node파괴적
wake_deviceWake LAN device파괴적
approval_waitWait for approval읽기 전용
audit_tailAudit log tail읽기 전용
예약 작업
schedule_createCreate schedule파괴적
schedule_listList schedules읽기 전용
schedule_deleteDelete schedule파괴적
schedule_runsSchedule run history읽기 전용
웹 공유
share_createCreate web share세션 열기·닫기
share_listList web shares읽기 전용
share_deleteDelete web share파괴적
터미널
terminal_openOpen terminal파괴적
terminal_sendType into terminal파괴적
terminal_readRead terminal output읽기 전용
terminal_askAsk person to type파괴적
terminal_resizeResize terminal세션 열기·닫기
terminal_closeClose terminal파괴적
화면
gui_observeObserve screen읽기 전용
gui_zoomZoom into screen읽기 전용
gui_actAct on screen파괴적

호스트와 명령

list_hosts List hosts 읽기 전용

List every host in the fleet: node_id, alias, address, user, tags, scopes, notes.

Entry point for every other tool. Their host argument takes an alias or a node_id, never a bare IP. Aliases may repeat; if one is ambiguous the call fails and lists the candidate node_ids. Read-only.

매개변수유형필수설명
tagsarray of string (optional)아니요filter by tag

host_facts Host facts 읽기 전용

Collect basic facts: distro, kernel, load, memory, disk, current user, containers.

Run this before doing real work on a host so you do not send Debian commands to Alpine, or assume you are root. Read-only: a fixed set of probes that change nothing; needs fleet.read.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts

fleet_status Gateway status 읽기 전용

Show the gateway's own state: SSH pool, shell sessions, log subscriptions, tunnels.

Read-only; lists this connection's handles only; needs fleet.read.

exec Run command 파괴적

Run one command on one host and wait for the result.

For work measured in seconds to a couple of minutes. Anything longer (builds, backups, large transfers) belongs in job_start, which survives SSH disconnects. Each call is a fresh process: cd and export do not carry over. Use shell_open when you need that state.

Side effects are whatever the command does. Needs fleet.exec; the connection's command rules and approvals apply (a high-risk command needs confirm=true). Output is capped (32 KB by default) and the timeout clamped (60 s by default, 900 s at most).

Batch several steps into one command rather than making many round trips.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
commandstring예bash in a login shell on SSH nodes; on agent nodes the node's default shell (PowerShell on Windows) unless shell= says otherwise
cwdstring (optional)아니요working directory
envobject of string (optional)아니요extra environment
timeoutinteger (minimum 1) (optional)아니요seconds
sudoboolean아니요run via sudo -n (host must allow it) (기본값 false)
confirmboolean아니요confirm a high-risk command (기본값 false)
shellstring (optional)아니요agent nodes only: sh, bash, zsh, pwsh, powershell or cmd; the node's default when omitted (host_facts lists them)

exec_many Run command on many hosts 파괴적

Run the same command on several hosts concurrently.

Use this for sweeps instead of looping over exec. One host failing does not stop the others. Same side effects and checks as exec on every target: the command rules check every target before any runs, and one approval covers the sweep. At most 8 hosts by default; each host's output is capped at half of exec's.

매개변수유형필수설명
commandstring예command to run on every target
hostsarray of string (optional)아니요aliases or node_ids
tagsarray of string (optional)아니요select by tag instead
timeoutinteger (minimum 1) (optional)아니요
concurrencyinteger (minimum 1, maximum 32)아니요 (기본값 5)
confirmboolean아니요confirm a high-risk command (기본값 false)

shell_open Open shell session 세션 열기·닫기

Open a persistent shell session; cwd, variables and functions persist.

bash on SSH hosts; on agent nodes the node's shell (PowerShell on Windows). For continuous debugging: cd somewhere, source an env, activate a venv, then keep working. Close it with shell_close; idle sessions are reaped after 30 min. Starts a shell process and runs nothing else; needs fleet.exec; at most 4 sessions per host; refused when the command rules are an allowlist.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
cwdstring (optional)아니요initial working directory
envobject of string (optional)아니요initial environment
shellstring (optional)아니요agent nodes only: pwsh or powershell on Windows, bash, sh or zsh elsewhere; the node's default when omitted

shell_run Run in shell session 파괴적

Run a command in an open session; returns exit code, merged output and cwd.

A command inside a session cannot be interrupted on its own: a timeout destroys the session. Use job_start for long work. Side effects are whatever the command does; needs fleet.exec, and the command rules, approvals and output cap of exec apply.

매개변수유형필수설명
session_idstring예id from shell_open
commandstring예command to run in that session
timeoutinteger (minimum 1) (optional)아니요
confirmboolean아니요confirm a high-risk command (기본값 false)

shell_close Close shell session 세션 열기·닫기

Close a persistent shell session and end its shell process. Needs fleet.exec.

매개변수유형필수설명
session_idstring예session to close

파일과 전송

list_dir List directory 읽기 전용

List a remote directory: type, size, mode, mtime. Optionally recursive.

Read-only; needs fleet.read. Recursion goes 4 levels deep at most and the answer holds at most 2000 entries.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
pathstring아니요absolute path, or relative to workdir (기본값 ".")
depthinteger (minimum 1, maximum 4)아니요recursion depth (기본값 1)
show_hiddenboolean아니요include dotfiles (기본값 false)

read_file Read file 읽기 전용

Read a remote file. Text is decoded as UTF-8; set binary=true for base64.

Read-only; needs fleet.read. Returns at most max_bytes per call, never more than the gateway's file limit (4 MB by default); continue from next_offset.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
pathstring예remote file path
max_bytesinteger (minimum 1)아니요max bytes to read (기본값 200000)
offsetinteger (minimum 0)아니요byte offset (기본값 0)
binaryboolean아니요return base64 for binary files (기본값 false)

write_file Write file 파괴적

Write a remote file: create, overwrite or append; parent directories are created.

Overwrites are backed up next to the file (<path>.bak-<time>) unless backup=false. Needs fleet.write and may need a person's approval; content is limited to the gateway's file limit (4 MB by default).

Config edits: read_file, write_file with backup, validate with exec (nginx -t, sshd -t), then reload.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
pathstring예target path; parent dirs are created
contentstring예file content
appendboolean아니요append instead of overwrite (기본값 false)
base64_contentboolean아니요content is base64-encoded (기본값 false)
modestring (optional)아니요octal mode, e.g. '0644'
backupboolean아니요back up before overwriting (기본값 true)

delete_path Delete path 파괴적

Delete a remote file, or a directory tree with recursive=true.

Irreversible: nothing is backed up. Requires confirm=true and fleet.write, and may need a person's approval; refuses system directories (/, /etc, /usr, /home, ...).

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
pathstring예absolute path to delete
recursiveboolean아니요recurse into directories (기본값 false)
confirmboolean아니요must be true to proceed (기본값 false)

copy_between_hosts Copy file between hosts 파괴적

Copy a file between two hosts through the gateway.

Replaces the destination file without a backup. Needs fleet.read on the source and fleet.write on the destination; the file must fit the gateway's file limit (4 MB by default). For large files use transfer_start between agent nodes, or exec with rsync/scp directly between the hosts.

매개변수유형필수설명
src_hoststring예source host
src_pathstring예source path
dst_hoststring예destination host
dst_pathstring예destination path

transfer_start Start file transfer 파괴적

Copy a file or a whole directory between two agent nodes, of any size.

Runs in the background through the gateway; returns when done or after wait_s with a transfer_id (follow it with transfer_status). Each file appears at its target only complete and checked (SHA-256); links are skipped. Writes on the destination node and replaces files already there only with overwrite=true. Both nodes' policies apply: read (fleet.read) at the source, write (fleet.write) at the destination. For SSH hosts use copy_between_hosts or rsync with exec.

매개변수유형필수설명
src_hoststring예source agent node
src_pathstring예a file or a directory there
dst_hoststring예destination agent node
dst_pathstring예where it goes: the file's new path (a directory that exists, or a path ending in / or \, receives the file inside it), or the directory to copy into
overwriteboolean아니요replace files already there (기본값 false)
wait_sinteger (minimum 0, maximum 60)아니요wait this long for it to finish (기본값 20)

transfer_status Transfer status 읽기 전용

Show a transfer's progress: files and bytes done, rate, what failed or was skipped.

Read-only; optionally waits up to wait_s for the transfer to finish.

매개변수유형필수설명
transfer_idstring예from transfer_start
wait_sinteger (minimum 0, maximum 60)아니요wait this long for it to finish (기본값 0)

transfer_cancel Cancel transfer 파괴적

Stop a transfer. Files already finished stay; the one in progress does not appear.

매개변수유형필수설명
transfer_idstring예from transfer_start

작업, 로그, 터널, 노드

job_start Start background job 파괴적

Start a detached job on the node and return a job_id immediately.

The job outlives the SSH connection, the gateway restart and this conversation. stdout/stderr land in ~/.letkite/jobs/<job_id>/ on the node. Use this for builds, backups, bulk transfers, benchmarks. Side effects are whatever the command does; needs fleet.exec, and the command rules and approvals of exec apply.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
commandstring예command to run in the background
labelstring아니요human-readable label
cwdstring (optional)아니요working directory
envobject of string (optional)아니요extra environment
confirmboolean아니요confirm a high-risk command (기본값 false)
shellstring (optional)아니요agent nodes only: sh, bash, zsh, pwsh, powershell or cmd; the node's default when omitted (host_facts lists them)

job_status Job status 읽기 전용

Show a job's state: running / finished / aborted, plus exit code and output sizes.

Omit job_id to list every job on the host. Read-only; needs fleet.read.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
job_idstring (optional)아니요omit to list all jobs on the host

job_output Read job output 읽기 전용

Read a job's stdout or stderr. Returns next_offset for a gap-free incremental follow-up.

Read-only; needs fleet.read; at most 32 KB per call by default.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
job_idstring예id from job_start
streamstring아니요stdout or stderr (기본값 "stdout")
offsetinteger (minimum 0)아니요byte offset; pass back next_offset for incremental reads (기본값 0)
max_bytesinteger (minimum 1)아니요max bytes to return (기본값 64000)
tailboolean아니요ignore offset, return the tail (기본값 false)

job_kill Kill job 파괴적

Send a signal (TERM by default) to the job's whole process group.

Usually ends the job and everything it started. Needs fleet.exec.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
job_idstring예job to terminate
signalstring아니요TERM / KILL / INT / HUP (기본값 "TERM")

job_purge Purge job 파괴적

Delete a finished job's directory and logs. Running jobs are left alone.

Its output cannot be read afterwards. Needs fleet.write.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
job_idstring예finished job to purge

log_open Open log subscription 세션 열기·닫기

Start collecting a log on the gateway; read it later with log_read.

Subscribe first, trigger something with exec, then read what appeared. That ordering is not possible with exec alone. On a Windows agent node a channel gives one line per event: time, level, provider, id and message. Starts a tail (journalctl, logread, an event log reader) on the node and changes nothing else; needs fleet.read. Close it with log_close.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
pathstring (optional)아니요log file path (or unit, or channel)
unitstring (optional)아니요systemd unit (Linux)
channelstring (optional)아니요Windows event log on agent nodes: System, Application, Security, or a channel such as Microsoft-Windows-PowerShell/Operational
syslogboolean아니요the system log of an agent node without journald: OpenWrt routers (logread) (기본값 false)
grepstring (optional)아니요line filter, ERE
initial_linesinteger (minimum 0, maximum 500)아니요initial history lines (기본값 50)

log_read Read log lines 읽기 전용

Read new log lines. dropped_lines > 0 means the ring buffer overflowed.

Read-only; needs fleet.read; at most 2000 lines per call.

매개변수유형필수설명
sub_idstring예id from log_open
since_seqinteger (minimum 0)아니요next_seq from the previous call, 0 to start (기본값 0)
limitinteger (minimum 1, maximum 2000)아니요max lines (기본값 300)

log_close Close log subscription 세션 열기·닫기

Close a subscription and kill the remote tail/journalctl.

매개변수유형필수설명
sub_idstring예subscription to close

tunnel_open Open tunnel 세션 열기·닫기

Forward a node-local port to the gateway.

Pair with tunnel_http to reach admin interfaces bound to 127.0.0.1 on the node (Grafana, Prometheus, pprof, database HTTP gateways), or a device on the node's network. On agent nodes the node's ceiling.toml (tunnel_targets) and this connection's policy decide which addresses and ports are reachable; a refusal says so. The gateway listens on its own loopback only and closes the tunnel after 1 hour; needs fleet.admin and may need a person's approval.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
remote_portinteger (minimum 1, maximum 65535)예remote port
remote_hoststring아니요target address as seen from the node (기본값 "127.0.0.1")

tunnel_http HTTP through tunnel 파괴적

Send one HTTP request through an open tunnel; returns status, headers and body.

Any method goes: a POST, PUT or DELETE changes whatever the service behind the tunnel does with it. Needs fleet.admin; the body read back is cut at 32 KB by default.

매개변수유형필수설명
tunnel_idstring예id from tunnel_open
pathstring아니요request path (기본값 "/")
methodstring아니요HTTP method (기본값 "GET")
headersobject of string (optional)아니요extra headers
bodystring (optional)아니요request body
timeoutinteger (minimum 1, maximum 120)아니요 (기본값 20)

tunnel_close Close tunnel 세션 열기·닫기

Close a tunnel; requests through it stop working. Needs fleet.admin.

매개변수유형필수설명
tunnel_idstring예tunnel to close

wake_node Wake node 파괴적

Wake a sleeping agent node with Wake-on-LAN, through another node of the account.

The other node must be online on the same network (same subnet, same public address) and the sleeping machine's network card set to wake on a magic packet. Powers the machine on; needs fleet.exec on it and may need a person's approval.

매개변수유형필수설명
hoststring예a sleeping agent node (list_hosts says asleep or offline)
waitinteger (minimum 0, maximum 180)아니요seconds to wait for it to connect (기본값 60)

wake_device Wake LAN device 파괴적

Wake a machine with no agent (a NAS, a PC) by Wake-on-LAN.

via sends the magic packet to the broadcast address of one of its own networks. Nothing confirms the machine woke: check it after a minute, e.g. exec ping on via. Its card must be set to wake on a magic packet. Needs fleet.exec on via and may need a person's approval.

매개변수유형필수설명
viastring예an online agent node on the device's LAN, e.g. the router
macstring예the device's hardware address, aa:bb:cc:dd:ee:ff
networkstring (optional)아니요which of via's networks the device is on (192.168.1.0/24, or an address in it); needed when via is on more than one

approval_wait Wait for approval 읽기 전용

Wait for a person to approve or turn down a call that needs approval.

Approved: call the same tool again with exactly the same arguments; the approval is for that call, once. Turned down or expired: do not retry, ask the user instead. Read-only: it only reports the decision.

매개변수유형필수설명
approval_idstring예the id a call said it is waiting for
wait_sinteger (minimum 0, maximum 60)아니요wait this long at most for a decision (기본값 40)

audit_tail Audit log tail 읽기 전용

Tail the gateway audit log: who ran what, where, when (newest last).

Read-only; needs fleet.admin; at most 500 records per call. The gateway's own records are all there; the sign-in service's may arrive up to 100 ms late.

매개변수유형필수설명
limitinteger (minimum 1, maximum 500)아니요how many records (기본값 50)
eventstring (optional)아니요only these events: "tool", "agent" (agent.*), "console" ...
hoststring (optional)아니요only records about this host

예약 작업

schedule_create Create schedule 파괴적

Run a command on a node on a schedule, e.g. a backup every night.

Every run starts the command as a detached job, with the same effects as job_start; needs fleet.exec and a plan that includes schedules. Runs under this connection: its policy, command rules and approvals apply at every run (a command that needs a person's approval asks at each run and is skipped if nobody approves). Revoking the connection stops it. Failed and missed runs are emailed to the user. Tell the user what you scheduled and when it next runs.

매개변수유형필수설명
hoststring예alias or node_id from list_hosts
namestring예what it is, e.g. nightly backup
cronstring예five fields "minute hour day-of-month month day-of-week", e.g. "0 3 * * *" (03:00 every day), "*/15 9-17 * * 1-5", or @daily / @hourly
commandstring예the command; it runs as a detached job
tzstring아니요IANA time zone of the times, e.g. Asia/Singapore (기본값 "UTC")
shellstring (optional)아니요agent nodes only: sh, bash, zsh, pwsh, powershell or cmd; the node's default when omitted (host_facts lists them)
timeout_sinteger (minimum 10, maximum 86400)아니요stop the run after this long (기본값 3600)
wakeboolean아니요wake the machine first when it sleeps (Wake-on-LAN through a node on its network) (기본값 true)
catch_upboolean아니요a run missed while the gateway was down runs late instead of being skipped (기본값 false)
confirmboolean아니요confirm a high-risk command (기본값 false)

schedule_list List schedules 읽기 전용

List the schedules this connection made, with their next and last run.

schedule_delete Delete schedule 파괴적

Remove a schedule this connection made; no further runs, a run in progress finishes.

매개변수유형필수설명
schedule_idstring예from schedule_create or schedule_list

schedule_runs Schedule run history 읽기 전용

List a schedule's recent runs: when, how (woken?), exit code, the end of the output.

Also says why a run failed, was missed or skipped. Read-only.

매개변수유형필수설명
schedule_idstring예from schedule_create or schedule_list
limitinteger (minimum 1, maximum 50)아니요most recent first (기본값 5)

웹 공유

share_create Create web share 세션 열기·닫기

Publish a web service running on a node at an https address, for this account.

A dev server or an admin page, for the people of this account: they sign in to open it. No ports opened on the node's router. The policy's tunnel_targets and the node's ceiling decide what can be shared; the person who connected you needs the permission shares.create there, and it may need a person's approval. Delete it with share_delete when done; it expires by itself after hours (24 by default, 30 days at most).

매개변수유형필수설명
hoststring예alias or node_id of the node the service runs on
portinteger (minimum 1, maximum 65535)예the service's port on that node
target_hoststring아니요the service's address as the node sees it (기본값 "127.0.0.1")
namestring (optional)아니요the address's first label: https://<name>.<share domain>; random when omitted
hoursnumber (maximum 720)아니요how long it stays up (기본값 24)

share_list List web shares 읽기 전용

List the web shares this connection created.

share_delete Delete web share 파괴적

Take a web share down: its address stops answering at once.

매개변수유형필수설명
sharestring예share_id or name from share_create

터미널

terminal_open Open terminal 파괴적

Open an interactive terminal (a shell on a pseudo-terminal) on a node.

For programs that need one: prompts that ask, menus, sign-ins (gh auth login), REPLs, top, less. Prefer exec or shell_run for plain commands. Give command= to start one right away. Type with terminal_send, close with terminal_close. Starts a shell, and with command= runs that command at once (command rules and approvals apply as for exec); needs fleet.exec; at most 8 terminals per connection; refused when the command rules are an allowlist.

Each answer has the output since the last call and, when the program looks like it asks something, waiting_for: {kind: choice | confirm | password | device_code | text, prompt, ...} with how to answer.

매개변수유형필수설명
hoststring예alias or node_id: an agent node (Linux, macOS, Windows) or an SSH node
colsinteger (minimum 20, maximum 500)아니요width (기본값 120)
rowsinteger (minimum 5, maximum 200)아니요height (기본값 40)
shellstring (optional)아니요sh, bash or zsh; pwsh, powershell or cmd on Windows; the node's default when omitted (bash over SSH, PowerShell on Windows)
cwdstring (optional)아니요working directory
commandstring (optional)아니요typed at the prompt once it shows, as terminal_send would (enter included)
untilstring (optional)아니요wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes); with command
wait_msinteger (minimum 0, maximum 600000)아니요how long to wait for the prompt (for the command's output with command) (기본값 3000)
confirmboolean아니요confirm a high-risk command (기본값 false)

terminal_send Type into terminal 파괴적

Type into a terminal and return what it printed since the last call.

Returns once the output stops with the cursor after a prompt (or a menu) on screen, or with until once that text shows up. waiting_for says what the program asks, if it asks. Keystrokes act as typed (enter runs a command, ctrl+c interrupts); typed text passes the command rules and approvals; needs fleet.exec.

매개변수유형필수설명
terminal_idstring예from terminal_open
textstring (optional)아니요typed as is; end a command with keys=["enter"] or \r
keysarray of string (optional)아니요pressed after the text, in order: enter, tab, escape, backspace, up, down, left, right, home, end, pageup, pagedown, delete, f1-f12, ctrl+c, ctrl+d, alt+x
untilstring (optional)아니요wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes)
wait_msinteger (minimum 0, maximum 600000)아니요wait this long at most: for the output to stop with a prompt on screen, or for until (기본값 3000)
confirmboolean아니요confirm a high-risk command (기본값 false)

terminal_read Read terminal output 읽기 전용

Show what a terminal printed since the last call, without typing.

With until, wait for it: a sign-in finishing, a build printing "done". Read-only; needs fleet.read.

매개변수유형필수설명
terminal_idstring예from terminal_open
untilstring (optional)아니요wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes)
wait_msinteger (minimum 0, maximum 600000)아니요wait this long at most for output (for until) (기본값 0)

terminal_ask Ask person to type 파괴적

Hand the program's next answer to the person who connected you.

A password, a passphrase, a one-time code, anything that should not pass through the conversation. They get a notification (phone, email) and type it in the LetKite console; it goes into the terminal followed by enter. You get what the program printed after it and how many characters were typed, never the text (masked if the program shows it). Needs fleet.exec.

Waits for them up to wait_ms, sending progress meanwhile; if they have not answered by then, call terminal_ask again to keep waiting for the same request (it stays open 15 minutes). Tell the user in the conversation that the console is waiting for them.

매개변수유형필수설명
terminal_idstring예from terminal_open
promptstring (maxLength 300) (optional)아니요what to tell the person, when the program's own prompt does not say it
untilstring (optional)아니요wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes); after the answer
wait_msinteger (minimum 1000, maximum 600000)아니요how long to wait for the person (then for the output) (기본값 300000)

terminal_resize Resize terminal 세션 열기·닫기

Change a terminal's size; full-screen programs redraw.

매개변수유형필수설명
terminal_idstring예from terminal_open
colsinteger (minimum 20, maximum 500)예width
rowsinteger (minimum 5, maximum 200)예height

terminal_close Close terminal 파괴적

Close a terminal; its shell and what runs in it end. Needs fleet.exec.

매개변수유형필수설명
terminal_idstring예from terminal_open

화면

gui_observe Observe screen 읽기 전용

연결의 정책에서 화면 도구를 켠 경우에만 목록에 표시됩니다.

Look at a window on an agent node (Windows), or the whole screen: who and what is on it.

The tree lists elements with short ids (e3) to use in gui_act; prefer it to images, which cost far more context. The first line says whether the desktop is active, locked or taken over at the machine. Read-only: nothing on the desktop changes; needs the connection's gui level observe or act.

매개변수유형필수설명
hoststring예alias or node_id of an agent node (list_hosts)
windowstring (optional)아니요window id from a previous gui_observe (w1); default: the focused window
appstring (optional)아니요or the app whose window to use, as the window list names it
screenboolean아니요or the whole screen, every display: a picture only, and only for a connection that may see every app; a point in it works in gui_act on the window there (기본값 false)
modestring아니요tree: the accessibility tree, cheapest (default); text: OCR words with positions, for canvases and remote desktops; image: a screenshot; marks: both (기본값 "tree")
regionarray of integer (optional)아니요[x, y, width, height] in screen pixels: only this part
tree_rootstring (optional)아니요only this element's subtree, e.g. the next page of a long list
child_offsetinteger (minimum 0)아니요with tree_root: from this child on (기본값 0)
max_nodesinteger (minimum 10, maximum 2000) (optional)아니요elements at most
include_textboolean아니요also static text elements (기본값 false)
last_image_idstring (optional)아니요image id you already have: if nothing changed, no new image is sent
max_long_edgeinteger (minimum 200, maximum 2576) (optional)아니요image size limit, pixels

gui_zoom Zoom into screen 읽기 전용

연결의 정책에서 화면 도구를 켠 경우에만 목록에 표시됩니다.

Capture part of a window (or of the screen) at its own resolution, to read small text.

Read-only; same permission as gui_observe.

매개변수유형필수설명
hoststring예alias or node_id of an agent node (list_hosts)
regionarray of integer예[x, y, width, height] in screen pixels
windowstring (optional)아니요window id from a previous gui_observe (w1); default: the focused window
appstring (optional)아니요or the app whose window to use, as the window list names it
screenboolean아니요or the whole screen, every display: a picture only, and only for a connection that may see every app; a point in it works in gui_act on the window there (기본값 false)

gui_act Act on screen 파괴적

연결의 정책에서 화면 도구를 켠 경우에만 목록에 표시됩니다.

Click, type and press keys in a window on an agent node, by element ids from gui_observe.

Points in an image gui_observe sent work too. This acts as a person at the machine would: whatever a click or keystroke does (send, delete, close) happens. Needs the connection's gui level act and may need a person's approval.

Batch the steps of one task; waiting happens on the node ({"wait": ..}), so there is no need to observe in between. Returns what changed.

매개변수유형필수설명
hoststring예alias or node_id of an agent node (list_hosts)
stepsarray of object예run in order on the node, stopping at the first that fails: {"click": "e3"} (or "double_click", "right_click"; "button", "count", "modifiers"), {"click": {"image": "i2", "x": 40, "y": 12}}, {"type": "text", "into": "e2", "replace": true}, {"key": "ctrl+s", "repeat": 1}, {"scroll": "e4", "dy": 3} (or "until_visible": "e40"), {"drag": "e10", "to": "e20"}, {"set_value": "e2", "value": "x"}, {"focus": "w2"}, {"launch": "app", "args": []}, {"close": "w2"} (or true: the target window; as its close button does), {"wait": {"appears": "e7"}} (or {"role": "dialog", "name": "Save"}; "disappears", "title": "regex", "stable_ms": 500; "timeout_ms")
windowstring (optional)아니요window id from a previous gui_observe (w1); default: the focused window
appstring (optional)아니요or the app whose window to use, as the window list names it
observestring아니요what to return afterwards: delta (what changed, default), tree, image or none (기본값 "delta")
base_snapshotstring (optional)아니요the delta is against this snapshot; default: the latest
timeoutinteger (minimum 1, maximum 300)아니요seconds for all steps (기본값 60)