Built-in Tools

The power of seekr lies in its toolset. These tools allow the AI agent to interact with your system and the web to fulfill your requests.

Included Tools

🐚 Shell Tool

The shell tool allows the agent to execute commands on your system.

  • Capabilities: Run scripts, install packages, check system logs, etc.
  • Background Execution: Long-running tasks like server starts or complex builds can be run in the background (background: true), allowing the agent to continue its loop.
  • Safety: Features a 5-minute execution timeout and a blacklist of dangerous commands to prevent system instability.

📂 File Edit Tool

A specialized tool for managing files in your repository.

  • Capabilities: Read file contents, create new files, apply patches to existing files.
  • Intelligence: The agent understands file structures and can perform precise edits without overwriting unrelated data.

🌐 Web Tool

Connects the agent to the internet.

  • Capabilities: Search for information using Google-like queries, fetch and parse webpage content into markdown.
  • Use Case: Researching documentation, finding solutions to bugs, or staying updated with latest library versions.

📋 Task Tool

Used by the agent to manage its own internal state and goals.

  • Capabilities: Break down complex objectives into smaller, manageable tasks.
  • Tracking: Users can see the current active task and the history of completed tasks in the Tasks tab.

Concurrency & Parallelism

seekr features a high-performance execution engine that allows for:

  1. Multi-Tool Parallelism: Independent tool calls (e.g., reading multiple files or fetching multiple URLs) are executed concurrently in separate threads.
  2. Asynchronous Observation: The agent can observe results as they come in, significantly reducing wait times for slow I/O operations.
  3. Thread Tracking: Every activity in the log is tagged with its thread ID (e.g., 1/3, 2/3), providing clear visibility into parallel execution.

🛠 Extensible Skills

Beyond built-in tools, you can extend seekr with custom skills.

How it works:

  1. Create a directory in ~/.config/seekr/skills/ (global) or ./.seekr/skills/ (repository-specific).
  2. Add a skill.json to define your tools and their parameters.
  3. Write scripts that the tools will execute.

Seekr handles the argument passing and captures the output back into the agent's context.

Tool Safety & Approvals

seekr is designed with safety in mind. Every tool invocation that could modify your system is presented for confirmation. You can choose to:

  • [Y]es: Approve the current execution.
  • [N]o: Reject the execution.
  • [A]lways: Enter auto-approval mode for the remainder of the session.

You can see:

  1. The exact command or edit being proposed.
  2. The agent's reasoning behind the action.
  3. A real-time preview of file diffs in the activity log.

Next: User Interface