$ show virattt/dexter
Dexter is a CLI-based AI agent framework specifically designed for deep financial research. It implements a sophisticated agent loop that combines task planning, autonomous tool execution, and self-validation to answer complex financial queries. The system features a modular architecture with specialized systems for memory management, tool execution, permissions, and skills. Key capabilities include access to real-time financial data through multiple APIs, web search functionality, file system operations, browser automation, and specialized workflows like DCF valuation. The agent maintains persistent memory across sessions using vector embeddings and keyword search with temporal decay weighting. Dexter can be deployed via CLI or as a WhatsApp bot, and includes an evaluation framework for testing agent performance against financial questions. The system emphasizes security through a robust permission system that controls access to potentially dangerous operations like shell commands.
The LLM identified 5 files worth highlighting for reuse:
A comprehensive memory system that combines vector embeddings for semantic search, FTS5 for keyword search, temporal decay for relevance scoring, and MMR re-ranking. Includes session-based storage, context compaction strategies, and periodic insight flushing. Demonstrates non-obvious skill in integrating multiple retrieval techniques with time-aware relevance modeling for AI agent context management.
Implements a clean tool registry pattern that provides a consistent interface for all agent tools based on LangChain's StructuredTool. Features dynamic tool discovery, separation of tool definition from execution, and integration with the permission system for secure tool use. Demonstrates skill in creating an extensible, secure tool architecture that could be reused in other LLM-based applications.
A sophisticated rule-based permission system that controls tool access for AI agents. Includes special handling for dangerous operations (bash commands), read-only modes, session-based approvals, and configurable security policies. Demonstrates non-obvious skill in balancing usability with security in autonomous agent systems.
An append-only JSONL log system that tracks tool results within agent conversations, monitors tool usage against suggested limits, and integrates with context management strategies. Demonstrates skill in managing context window limitations in agent loops while providing visibility into tool usage patterns.
Implements progressive context management strategies including microcompaction (removing intermediate thinking steps) and compaction (summarizing older conversations). Demonstrates skill in preserving important context while managing token limits in LLM-based agent systems.