ESC
Start typing to search...

Journal, Web, Workspace, Exec & Bot Tools

Business journal for P&L tracking, web search and extraction via Tavily, sandboxed file operations with security protections, system administration via exec tools, and inline bot result sending.

Journal Tools (3)

Trading journal for logging business operations with reasoning, querying performance history, and updating outcomes with P&L. All entries are stored in SQLite.

ToolScopeDescription
journal_logDM onlyLog a business operation (trade, gift, middleman, or KOL activity) with assets, amounts, counterparty, platform, and reasoning. Outcome defaults to "pending".
journal_updateDM onlyUpdate a journal entry with final outcome (profit/loss/neutral/cancelled), P&L in TON and percentage, and transaction hash. Auto-sets closed_at timestamp.
journal_queryAnyQuery journal entries with filters by type, asset, outcome, time period (last N days), and limit. Returns entries with a P&L performance summary including win rate.
Example: Log a Gift Sale
# Log the operation
journal_log:
  type: gift
  action: sell_gift
  asset_from: "Deluxe Heart"
  asset_to: "TON"
  amount_from: 1
  amount_to: 58.5
  price_ton: 58.5
  counterparty: "@alice"
  platform: "telegram_deals"
  reasoning: "Sold at 120% of floor - buyer was eager, market cooling"
  outcome: pending

# Later, update with final P&L
journal_update:
  id: 42
  outcome: profit
  pnl_ton: 8.5
  pnl_pct: 17.0

# Review performance
journal_query:
  type: gift
  days: 7
  # Returns entries + summary: trades count, win rate, total P&L

Web Tools (2)

Web access powered by Tavily. Requires tavily_api_key in config.

ToolDescription
web_searchSearch the web via Tavily. Returns results with title, URL, content snippet, and relevance score. Supports topic filter: general, news, or finance. Configurable result count.
web_fetchExtract readable text content from a URL using Tavily Extract. Only http/https schemes allowed. Content truncated to configurable max length. Returns clean text suitable for analysis.
Example
# Search for news
web_search:
  query: "TON blockchain latest news"
  topic: news
  count: 5

# Read an article
web_fetch:
  url: "https://docs.ton.org/develop/overview"
  max_length: 10000

Workspace Tools (6)

Sandboxed file operations within ~/.teleton/workspace/. All paths are validated with path traversal protection, recursive URL decode defense, and symlink detection.

ToolScopeDescription
workspace_listAnyList files and directories. Supports subdirectory path, recursive listing, and filter by type (files/directories/all).
workspace_readAnyRead a file with utf-8 or base64 encoding. Text extensions read directly; binary files return metadata only unless base64 requested. Max size limit enforced.
workspace_writeDM onlyWrite or create a file. Supports utf-8 and base64 encoding, append mode, and auto-creation of parent directories. 50 MB max file size.
workspace_deleteDM onlyDelete a file or directory. Protected files (SOUL.md, MEMORY.md, IDENTITY.md, USER.md, STRATEGY.md, SECURITY.md) cannot be deleted. Recursive option for non-empty directories.
workspace_infoAnyGet workspace structure overview with directory sizes, file counts, total usage percentage, and security notes about protected locations.
workspace_renameDM onlyRename or move a file within workspace. Creates parent directories if needed. Optional overwrite flag for existing destinations.
Workspace Structure
~/.teleton/workspace/
  SOUL.md          # Personality guidelines (protected)
  MEMORY.md        # Persistent memory (protected)
  IDENTITY.md      # Identity info (protected)
  STRATEGY.md      # Business strategy (protected)
  memory/          # Daily logs and notes
  downloads/       # Downloaded media
  uploads/         # Files to send
  temp/            # Temporary files
  memes/           # Meme collection

Protected system files outside workspace (config.yaml, wallet.json, telegram_session.txt, memory.db) are never accessible through workspace tools.

Memory Tools (2)

Persistent agent memory stored in SQLite. Used to remember facts, preferences, and context across conversations.

ToolScopeDescription
memory_writeDM onlyWrite a fact or piece of information to the agent's long-term memory store.
memory_readAnyRead stored memory entries, optionally filtered by topic or keyword.

Exec / System Administration Tools (4)

Server administration tools for running commands, installing packages, managing services, and checking system status. All exec tools share a configurable scope via capabilities.exec.scope in config.

Linux only. Exec tools are available on Linux hosts only. They are disabled by default and require explicit enablement in the capabilities config section.

ToolScopeDescriptionParameters
exec_runConfigurable (capabilities.exec.scope)Execute a bash command on the host system. Output is captured and returned.command (string)
exec_installConfigurable (capabilities.exec.scope)Install one or more packages using the specified package manager.manager (apt | pip | npm | docker), packages (string)
exec_serviceConfigurable (capabilities.exec.scope)Manage a systemd service by name.action (start | stop | restart | status | enable | disable), name (string)
exec_statusConfigurable (capabilities.exec.scope)Get server status: disk usage, RAM, CPU load, uptime, and OS info. No parameters.
Example
# Run a command
exec_run:
  command: "df -h"

# Install packages
exec_install:
  manager: apt
  packages: "curl wget git"

# Manage a service
exec_service:
  action: restart
  name: nginx

# Server overview (no params)
exec_status: {}

Scope and allowlist are configured under capabilities.exec in config.yaml. See Config Schema for details.

Bot / Inline Mode Tools (1)

Tools for plugins that operate in Telegram inline bot mode. Requires telegram.bot_username to be configured.

ToolScopeDescriptionParameters
bot_inline_sendAlwaysSend an inline bot result to a user querying the bot inline. Used by plugins that handle inline queries to return results with optional colored buttons.plugin (string — plugin namespace), query (string — the inline query text), resultIndex (number, optional — index of the result variant to send)

Requires bot. bot_inline_send requires telegram.bot_token and telegram.bot_username to be set in config. The bot must be configured for inline mode via @BotFather.