dexter README

The project's README from github.com/virattt/dexter. As one markdown file: README.md.

Dexter 🤖

Dexter is an autonomous financial research agent that thinks, plans, and learns as it works. It performs analysis using task planning, self-reflection, and real-time market data. Think Claude Code, but built specifically for financial research.

Screenshot 2026-04-02 at 4 16 57 PM

Table of Contents

⚠️ Disclaimer

This project is for educational, entertainment, and informational purposes only. It is not intended for real trading or investment.

By using this software, you agree to use it solely for learning and informational purposes and accept all risks associated with its use.

👋 Overview

Dexter takes complex financial questions and turns them into clear, step-by-step research plans. It runs those tasks using live market data, checks its own work, and refines the results until it has a confident, data-backed answer.

Key Capabilities:

Twitter Follow Discord

Screenshot 2026-02-18 at 12 21 25 PM

✅ Prerequisites

Installing Bun

If you don't have Bun installed, you can install it using curl:

macOS/Linux:

curl -fsSL https://bun.com/install | bash

Windows:

powershell -c "irm bun.sh/install.ps1|iex"

After installation, restart your terminal and verify Bun is installed:

bun --version

💻 How to Install

  1. Clone the repository:
git clone https://github.com/virattt/dexter.git
cd dexter
  1. Install dependencies with Bun:
bun install
  1. Set up your environment variables:
# Copy the example environment file
cp env.example .env

# Edit .env and add your API keys (if using cloud providers)
# OPENAI_API_KEY=your-openai-api-key
# ANTHROPIC_API_KEY=your-anthropic-api-key (optional)
# GOOGLE_API_KEY=your-google-api-key (optional)
# XAI_API_KEY=your-xai-api-key (optional)
# OPENROUTER_API_KEY=your-openrouter-api-key (optional)

# Institutional-grade market data for agents
# FINANCIAL_DATASETS_API_KEY=your-financial-datasets-api-key

# (Optional) If using Ollama locally
# OLLAMA_BASE_URL=http://127.0.0.1:11434

# Web Search (Exa preferred, Tavily fallback)
# EXASEARCH_API_KEY=your-exa-api-key
# TAVILY_API_KEY=your-tavily-api-key

🚀 How to Run

Run Dexter in interactive mode:

bun start

Or with watch mode for development:

bun dev

📊 How to Evaluate

Dexter includes an evaluation suite that tests the agent against a dataset of financial questions. Evals use LangSmith for tracking and an LLM-as-judge approach for scoring correctness.

Run on all questions:

bun run src/evals/run.ts

Run on a random sample of data:

bun run src/evals/run.ts --sample 10

The eval runner displays a real-time UI showing progress, current question, and running accuracy statistics. Results are logged to LangSmith for analysis.

🐛 How to Debug

Dexter logs all tool calls to a scratchpad file for debugging and history tracking. Each query creates a new JSONL file in .dexter/scratchpad/.

Scratchpad location:

.dexter/scratchpad/
├── 2026-01-30-111400_9a8f10723f79.jsonl
├── 2026-01-30-143022_a1b2c3d4e5f6.jsonl
└── ...

Each file contains newline-delimited JSON entries tracking:

Example scratchpad entry:

{"type":"tool_result","timestamp":"2026-01-30T11:14:05.123Z","toolName":"get_income_statements","args":{"ticker":"AAPL","period":"annual","limit":5},"result":{...},"llmSummary":"Retrieved 5 years of Apple annual income statements showing revenue growth from $274B to $394B"}

This makes it easy to inspect exactly what data the agent gathered and how it interpreted results.

📱 How to Use with WhatsApp

Chat with Dexter through WhatsApp by linking your phone to the gateway. Messages you send to yourself are processed by Dexter and responses are sent back to the same chat.

Quick start:

# Link your WhatsApp account (scan QR code)
bun run gateway:login

# Start the gateway
bun run gateway

Then open WhatsApp, go to your own chat (message yourself), and ask Dexter a question.

For detailed setup instructions, configuration options, and troubleshooting, see the WhatsApp Gateway README.

🤝 How to Contribute

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Important: Please keep your pull requests small and focused. This will make it easier to review and merge.

📄 License

This project is licensed under the MIT License.

dexter (virattt/dexter)

Searching Database…

27.7K ·GitHub
Что это такое?Dexter — это автономный агент, который самостоятельно исследует финансовые вопросы: он планирует шаги исследования, получает актуальные рыночные данные, например отчёты о прибылях и убытках и отчёты о движении денежных средств, проверяет свою работу и продолжает уточнять ответ, пока не будет уверен в нём.
Это просто чат-бот или он сам проводит многоэтапный анализ?Это ближе к автономному агенту для написания кода, чем к чат-боту: он разбивает сложный финансовый вопрос на структурированный план, сам выбирает и запускает нужные инструменты и проверяет свои результаты, прежде чем дать окончательный ответ.
Как его запустить?Установите среду выполнения Bun, клонируйте репозиторий, выполните установку через Bun, задайте переменные окружения, а затем запустите в интерактивном режиме (или в режиме watch для разработки).
Какие ключи API нужны, чтобы начать пользоваться?Нужны ключ API OpenAI и ключ API Financial Datasets; ключ API Exa необязателен и нужен только для веб-поиска.
Можно ли доверять его исследованиям при принятии реальных торговых решений?Нет. В README прямо сказано, что результаты могут быть неверными или неполными, а проект предназначен только для образования и развлечения, а не как финансовая, инвестиционная, налоговая или юридическая консультация.
Можно ли общаться с Dexter через WhatsApp?Да, есть шлюз WhatsApp, который вы привязываете к своему телефону; сообщения, которые вы отправляете себе в WhatsApp, обрабатываются Dexter, и ответ приходит в том же чате.
Как проект проверяет, что его ответы действительно правильные?В проект входит набор для оценки: агент запускается на наборе финансовых вопросов, правильность ответов оценивается с помощью LLM-as-judge, а результаты записываются в LangSmith для анализа.
Как увидеть, что именно делал агент, чтобы прийти к ответу?Каждый запрос записывает файл-черновик JSONL в .dexter/scratchpad/, где фиксируются исходный запрос, каждый вызов инструмента с аргументами и результатом, а также шаги рассуждений агента.
Какие механизмы не дают агенту работать бесконечно?В Dexter встроены обнаружение зацикливания и ограничения на количество шагов, специально созданные для предотвращения неконтролируемого выполнения во время автономного исследования.
Creator
virattt
Size
1.7 MB
Stars
27.7K
Age
1y
Commits · 90 Days