SCREENERBOTDocs
DocsAssistantChat & Tool Calling
ASSISTANT / CHAT

Conversation inside the running app

The Assistant is ScreenerBot's dashboard conversation surface. It calls your selected LLM provider, keeps session history locally, and can use the same app-owned tools exposed to scheduled tasks and paired agents.

One consumer, not the whole model system

Assistant owns conversation

The Assistant calls provider clients directly. It does not send chat through the model-scored filtering/trading analysis engine, and it does not own tool authorization.

Agent Control owns the tool registry and permission decision. The Assistant supplies conversation context, shows progress, and persists user, assistant, and tool events to the local chat database.

Provider transport

[llm]

Master switch, one default provider, credentials, model IDs, and per-provider rate limits.

Model-scored analysis

[llm_analysis]

Filtering, entry/exit decisions, confidence thresholds, background checks, and analysis cache.

Assistant

[assistant]

Dashboard conversation and scheduled-task runtime settings.

Agent Control

[agent_control]

Shared tool boundary and the policy used by the in-app Assistant and scheduled tasks.

17 shared tools

The registry is grouped into five capability categories. It is shared with scheduled automation and Agent Connections, so a tool has one implementation and one authorization path.

Analysis

Read token metrics, market data, and security findings.

  • analyze_token
  • get_market_data
  • check_security

Portfolio

Read open positions, wallet balance, and realized/unrealized P&L.

  • get_positions
  • get_position
  • get_balance
  • get_pnl

Trading

Spend SOL and close positions through the live trading engine.

  • buy_token
  • sell_token
  • close_position

Config

Discover the schema and read or change any non-secret app setting.

  • get_config
  • describe_config
  • update_config

System

Read runtime status and events; halt or resume execution.

  • get_status
  • get_events
  • force_stop
  • clear_force_stop

Permission and confirmation behavior

Allow

Read-only tools run immediately. The interactive Assistant still confirms tools explicitly marked as mutating, including trades, config writes, and force-stop changes.

Ask user

Every tool in the category waits for an in-app decision. Confirmation state is stored with the conversation so refreshes and retries do not manufacture a second action.

Deny

The category is unavailable. The Assistant explains that the action is blocked instead of calling a parallel or lower-level implementation.

Wallet keys are outside the permission system

No Assistant permission can read or write wallet_encrypted or wallet_nonce. ScreenerBot signs locally; the model receives tool results, never signing material.

Configuration

config.toml
[llm]
enabled = true
default_provider = "groq"

[llm.providers.groq]
enabled = true
api_key = "<api-key>"
model = "<model-id>"

[assistant]
enabled = true
max_session_messages = 100
auto_summarize = true

[agent_control]
analysis = "allow"
portfolio = "allow"
trading = "allow"
config = "allow"
system = "allow"

Provider credentials and model selection live under [llm]. Assistant lifecycle settings live under [assistant]. The five capability values above govern the in-app Assistant and scheduled tasks only; each paired MCP connection carries its own policy.

Related pages