Skip to content
Alex Kuleshov edited this page Feb 23, 2026 · 6 revisions

Tools

Built-in tools that the agent can call via tool/function calling.

See also: Configuration, Skills, MCP.

Tool Safety Model

  • Most tools can be enabled/disabled at runtime in preferences/runtime-config.json.
  • File and shell access are sandboxed to the configured tool workspace.
  • Destructive actions can require user confirmation when enabled in security settings.

Runtime Configuration

Tools are primarily configured under tools and security in runtime-config.json:

{
  "tools": {
    "filesystemEnabled": true,
    "shellEnabled": true,
    "browserEnabled": true,
    "braveSearchEnabled": false,
    "braveSearchApiKey": "...",
    "skillManagementEnabled": true,
    "skillTransitionEnabled": true,
    "tierEnabled": true,
    "goalManagementEnabled": true
  },
  "security": {
    "toolConfirmationEnabled": false,
    "toolConfirmationTimeoutSeconds": 60
  }
}

Workspace Sandboxing (FileSystem and Shell)

File and shell tools operate only inside configured workspaces:

  • bot.tools.filesystem.workspace
  • bot.tools.shell.workspace

In Docker, map persistent workspace/sandbox volumes:

docker run -d \
  -e STORAGE_PATH=/app/workspace \
  -e TOOLS_WORKSPACE=/app/sandbox \
  -v golemcore-bot-data:/app/workspace \
  -v golemcore-bot-sandbox:/app/sandbox \
  -p 8080:8080 \
  golemcore-bot:latest

Dashboard IDE API vs filesystem Tool

The dashboard embedded IDE uses direct authenticated HTTP endpoints under /api/files. This API is separate from the filesystem tool used in agent tool loops.

  • Dashboard IDE API (/api/files) is deterministic UI/backend integration.
  • filesystem tool is an LLM-callable tool with tool-loop semantics.

Both are sandboxed to the same filesystem workspace root.

Built-in Tools

filesystem

Sandboxed file operations under the tool workspace.

Operations:

  • read_file, write_file, list_directory, create_directory, delete, file_info, send_file

shell

Sandboxed command execution under the tool workspace.

Input fields:

  • command (required)
  • timeout (seconds; default/max enforced)
  • workdir (relative to tool workspace)

browse

Headless browsing (Playwright) for text, html, or screenshot modes.

Input fields:

  • url (required)
  • mode: text | html | screenshot

brave_search

Web search via Brave Search API.

Requires:

  • tools.braveSearchEnabled=true
  • tools.braveSearchApiKey configured

skill_management

Create/list/get/delete skills at runtime (writes to workspace skill storage).

skill_transition

Switch active skill or pipeline step.

set_tier

Switch model tier in-session (balanced, smart, coding, deep).

goal_management

Auto Mode goal/task/diary management.

plan_get and plan_set_content

Plan-work tools for canonical plan drafting.

  • Exposed when plan mode is active for the session.
  • plan_get returns current canonical Markdown plan draft.
  • plan_set_content accepts full Markdown in plan_markdown (optional title) and requests finalization.

memory

Structured memory operations.

Operations:

  • memory_add, memory_search, memory_update, memory_promote, memory_forget

imap / smtp

Email tools configured in runtime config under tools.imap and tools.smtp.

send_voice

Synthesize and send voice responses (when voice is enabled/configured).

datetime / weather

Utility tools for date/time and weather.

See Also

Clone this wiki locally