Companion is an advanced AI agent system designed to assist with deep research, analysis, and report writing. It operates as a persistent companion that learns and stores information using a structured file system.
The purpose of Companion is to bridge the gap between the industry standard "Chat Bots" and the "Overkill Deep Researchers" that often acompany them.
Companion meets in the middle. Allowing a user to do deeper controlled research, whilst maintaining a collection of source information found. Companion offers the ability to spin up parallel or sequential agents to research and write.
- Deep Research: Capable of performing iterative internet research using Tavily Search to gather comprehensive information on topics.
- File-System-First Memory: Unlike typical stateless chatbots, Companion maintains a persistent memory system (local or S3-backed) where it stores:
/sources: Raw research data and findings (JSONL format)./artifacts: Generated reports and final outputs./notes: Long-term knowledge, project overviews, and user preferences./uploads: User-provided reference files.
- Multi-Agent Architecture:
- Chat Agent: General assistant that manages the overall context and directs tasks.
- Research Agent: Specialized sub-agent for gathering and organizing information.
- Report Agent: Specialized sub-agent for synthesizing research into structured reports.
- CLI Interface: A command-line interface for interacting with the agent in a structured session.
- Backend: Python-based with support for pluggable storage backends (Local Filesystem or S3).
- AI Model: Powered by OpenAI-compatible LLMs (configured via
ChatOpenAI). - Orchestration: Built using LangChain and LangGraph (implied by
create_deep_agentandcheckpointer).
The system is designed to be run as a CLI application where users can interact with the agent, which then autonomously plans and executes research tasks, updates its persistent memory, and generates reports.
Try the 2 prompts in the demo.md file.