opencrabs 0.3.80

The autonomous, self-improving AI agent. Single Rust binary. Every channel. Recommended: the 40MB prebuilt binary for macOS, Linux and Windows: https://github.com/adolfousier/opencrabs/releases
# English keyword families for prompt analyzer

plan = [
    "make a plan",
    "create a plan",
    "plan for",
    "plan to implement",
    "plan out",
    "planning",
    "create plan",
    "make plan",
]

read_file = [
    "read file",
    "read the file",
    "show me file",
    "show me the file",
    "show file content",
    "what's in",
    "what is in",
    "display file",
    "view file",
    "look at file",
    "check file",
]

search = [
    "search for",
    "find",
    "look for",
    "grep",
    "search code",
    "find in files",
    "search in",
    "where is",
    "locate",
]

write_file = [
    "create file",
    "create a file",
    "write file",
    "write to file",
    "make a file",
    "make file",
    "new file",
]

edit_file = [
    "edit file",
    "modify file",
    "update file",
    "change file",
    "fix in file",
    "update the file",
    "modify the file",
]

bash = [
    "run command",
    "execute command",
    "run shell",
    "shell command",
    "terminal command",
    "bash command",
]

web_search = [
    "search online",
    "search the web",
    "google",
    "search internet",
    "find online",
    "look up online",
    "web search",
]

# "Stop what you are doing" (#965). Single-word entries match only a whole
# message, so "stop the docker container" is left alone; multi-word entries
# may also open a message, so "hold on, I need to check something" cancels.
stop_intent = [
  "stop", "halt", "abort", "cancel", "wait", "freeze", "pause",
  "stop it", "stop now", "stop please", "please stop", "stop stop",
  "hold on", "hold up", "hang on", "hold off",
  "wait a sec", "wait a second", "wait a minute", "wait up",
  "one sec", "one second", "one moment", "just a sec", "just a second",
  "stop and wait", "dont do anything", "do not do anything",
]

# Vocatives stripped from the END of a message before matching stop_intent
# (#965), so "stop crab", "hold on crabs" and "stop please" all reduce to a
# bare interrupt. Never stripped from the middle, so "stop the bot container"
# is untouched.
stop_address = ["crab", "crabs", "opencrabs", "opencrabsbot", "bot", "bro", "dude", "man", "guys", "please", "pls", "plz", "now", "already"]