cd /news/ai-tools/get-tiny-agent-that-gets-things-from… · home topics ai-tools article
[ARTICLE · art-32024] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Get – tiny agent that gets things from your computer

Developer Water-Run released 'get', an open-source command-line tool that uses a large language model to convert natural language queries into shell commands for retrieving information from a computer. The tool, licensed under AGPL-3.0, includes multiple security layers such as dangerous command blocking and optional manual confirmation to ensure read-only operations.

read6 min views1 publishedJun 18, 2026

get

is a compact command-line binary tool that calls a Large Language Model (LLM) via natural language to generate shell commands, then executes them on your device to retrieve any information you need.

get

is open-sourced under the AGPL-3.0

license on GitHub.

Usage examples:

get "IP address of this device"
get "code structure in the current directory"
get "latest get version at https://github.com/Water-Run/get"

Download from GitHub Release. Just run the installation script directly:

python get_ready.py

Follow the on-screen instructions. If an older installation is found, the installer asks whether to keep the existing configuration while replacing only the binary. Once done, run get version

to verify the installation.

Before use, you must configure at least the LLM-related parameters. get

is compatible with the OpenAI API specification. Use the following commands to configure:

get set model your-model-name
get set url your-api-endpoint
get set key your-api-key

After configuration, run get isok

to verify.

To clear a configuration value, leave the value empty. For example, to clear the key:

get set key

Usage is straightforward:

get "your question"

get

is designed to perform read-only operations only. Every generated command goes through multiple layers of security validation before execution (built-in dangerous command regex blocking, plus optional double-check and manual confirmation).

Integer options accept false

to disable the feature entirely (equivalent to 0).

Option Description Value Type Default
key
LLM API key String Empty
url
LLM API endpoint URL String (URL) https://api.xiaomimimo.com/v1
model
LLM model name String mimo-v2.5-pro
manual-confirm
Require manual confirmation before execution true / false
false
double-check
Enable secondary safety review of commands true / false
true
instance
Use single-call fast mode true / false
false
timeout
Timeout per API request Positive integer (s) / false
300
max-token
Maximum token consumption per request Positive integer / false
20480
max-rounds
Maximum loop rounds in agent mode Positive integer / false
3
command-pattern
Regex pattern to block commands Regex string Built-in blocklist (omit value to restore; "" to disable)
system-prompt
Custom system prompt String Empty
shell
Shell used to execute commands String Windows: powershell ; Linux: bash
log
Log each request and execution true / false
true
hide-process
Hide intermediate steps true / false
false
cache
Enable response caching true / false
true
cache-expiry
Cache entry expiry in days Positive integer (days) / false
30
cache-max-entries
Maximum number of cache entries to retain Positive integer / false
1000
cache-trigger-threshold
Number of prior executions required before cache decision Positive integer / false
1
log-max-entries
Maximum number of log entries to retain Positive integer / false
1000
vivid
Enable vivid output mode (semantic colors and progress spinners) true / false
true

Examples of disabling integer options:

get set timeout false
get set cache-expiry false
get set log-max-entries false

command-pattern

is matched against the command string before shell expansion. Blocking a literal filename can be bypassed by globbing (for example, cat *.txt

), so reliable policies should target command verbs (cat

, head

, cp

, etc.) instead.

The following flags can override persistent configuration for a single query, placed after the query string:

Flag Description
--no-cache
Bypass cache for this query
--cache
Force cache use for this query
--manual-confirm
Require confirmation before execution
--no-manual-confirm
Skip confirmation prompt
--double-check
Enable secondary safety review
--no-double-check
Skip secondary safety review
--instance
Fast single-call mode
--no-instance
Multi-round agent mode
--hide-process
Hide intermediate process output
--no-hide-process
Show intermediate process output
--vivid
Enable vivid output mode
--no-vivid
Use plain text output mode
--model <name>
Override the LLM model for this query
--timeout <seconds>
Override the request timeout this query

Examples:

get "disk usage" --no-cache
get "list files" --model mimo-v2.5-pro --vivid

The config

command is used to inspect the current configuration.

get config                # Show all current configuration
get config --reset        # Reset all configuration to defaults
get config --<option>     # Show the current value of a single option

--<option>

accepts all option names from the set

table above. get config --key

shows whether a key is configured. The stored value is encrypted and cannot be retrieved. Disabled integer options display false

.

get config --command-pattern   # View active pattern (full regex when default)
get set command-pattern        # Restore built-in default
get set command-pattern ""     # Disable pattern filtering

get

uses a deferred-decision caching mechanism. Queries are not cached on first execution. Cache strategy classification is triggered only after a query has been seen at least cache-trigger-threshold

times (default 1

, which means classification on the second run), or when --cache

is explicitly passed. During this decision step, get

shows checking whether to cache...

as progress text (when process output is not hidden). Five strategies are supported: GLOBAL_COMMAND

(cache the command globally, re-execute on hit), GLOBAL_RESULT

(cache the output globally, return directly), CONTEXT_COMMAND

(cache the command for the current directory context, re-execute on hit), CONTEXT_RESULT

(cache the output for the current directory context, return directly), or NOCACHE

(do not cache).

Global entries work across any working directory; context entries are tied to the directory where the query was originally executed.

When hide-process

is enabled, get

suppresses its own intermediate progress and warning text (including cache checks and model advisory warnings), and only prints the final result or required errors.

When config cache

is false

, get

emits a warning in normal process mode: warning: cache is disabled in config; all cache logic is bypassed

.

get cache                       # Show cache status
get cache --clean               # Clear all cache entries and seen records
get cache --unset "system version"  # Remove cache entries matching the query
get set cache false             # Disable caching (disables all cache logic)

get

records each query execution to a local file. When the number of entries exceeds the log-max-entries

limit, the oldest entries are automatically removed.

get log              # Show log status
get log --clean      # Clear all log entries
get set log false    # Disable logging
get get             # Show basic information about get (name, version, author, ...)
get get --intro     # Show introduction
get get --version   # Show version (equivalent to get version)
get get --license   # Show license identifier
get get --github    # Show GitHub link
get isok            # Verify that the current configuration is usable
get help            # Show usage help

Config file: Linux~/.config/get/config.json

/ Windows%APPDATA%/get/config.json

API key: Linux~/.config/get/key

(permissions 0600) / Windows%APPDATA%/get/key

(DPAPI encrypted)Execution log: Linux~/.config/get/get.log

/ Windows%APPDATA%/get/get.log

Response cache: Linux~/.config/get/cache.json

/ Windows%APPDATA%/get/cache.json

0

: Completed successfully1

: Configuration error, LLM communication failure, security check rejection, or general error130

: Interrupted by Ctrl+C (SIGINT)N

: When a generated command exits with a non-zero code, that exit code is passed through asget

's exit code

── more in #ai-tools 4 stories · sorted by recency
── more on @water-run 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/get-tiny-agent-that-…] indexed:0 read:6min 2026-06-18 ·