
Автоматизированная платформа OSINT для разведки, сбора данных и разведки угроз с модульными краулерами, сканерами и конвейерами извлечения информации.
Harness для инвестирования по вибрации
LangAlpha создана, чтобы помогать интерпретировать финансовые рынки и поддерживать инвестиционные решения.
Начало работы • Документация API • Ядро агента • Бэкенд • Веб • TUI • Навыки • MCP
Закрепите курируемую новостную сводку с панели управления, запустите генерацию идей и отправьте параллельных саб-агентов для сканирования рынка — затем получите пять идей парных сделок long/short во встроенной интерактивной панели, откалиброванной под вашу книгу.
Сегодня каждый AI-финансовый инструмент рассматривает инвестирование как одноразовый запрос: задай вопрос, получи ответ, иди дальше. Но реальное инвестирование — это байесовский процесс: у вас есть гипотеза, каждый день поступают новые данные, и вы соответствующим образом корректируете свою уверенность. Это итеративный процесс, разворачивающийся в течение недель и месяцев: уточнение гипотез, пересмотр позиций, наслоение нового анализа на старый. Ни один отдельно взятый промпт этого не охватывает.
Вдохновлено разработкой ПО: кодовая база сохраняется, и каждый коммит строится на том, что было раньше. Harness для кодовых агентов, такие как Claude Code и OpenCode, добились успеха, создавая агентов, которые следуют этому шаблону — изучают существующий контекст и развивают предыдущую работу. LangAlpha применяет ту же идею: дайте агенту постоянное рабочее пространство, и исследования естественным образом накапливаются.
На практике вы создаёте рабочее пространство для каждой исследовательской задачи («ребалансировка Q2», «глубокий анализ спроса на дата-центры», «ротация энергетического сектора»). Агент опрашивает вас о ваших целях и стиле, создаёт первый результат и сохраняет всё в файловой системе рабочего пространства. Вернитесь завтра — ваши файлы, обсуждения и накопленные исследования всё ещё на месте.
agent.md), в котором накапливаются исследования между сессиями и обсуждениями. Отдельное долговременное хранилище памяти (.agents/user/memory/, .agents/workspace/memory/) сохраняет устойчивые предпочтения пользователя и знания между песочницами, а управляемое пользователем хранилище заметок (.agents/user/memo/) позволяет загружать PDF-файлы и исследовательские заметки в формате Markdown, которые агент может читать по запросу.Архитектура системы```mermaid %%{init: {'theme': 'neutral'}}%%
flowchart TB
Web["Web UI
React 19 · Vite · Tailwind"] -- "REST · SSE" --> API
Web -- "WebSocket" --> WSP
CLI["CLI / TUI"] -- "REST · SSE" --> API
subgraph Server ["FastAPI Backend"]
API["API Routers<br/>Threads · Workspaces · Market Data<br/>OAuth · Automations · Skills"]
WSP["WebSocket Proxy"]
API --> ChatHandler["Chat Handler<br/>LLM Resolution · Workflow Dispatch"]
ChatHandler --> BTM["Background Task Manager<br/>Decoupled Execution · Workflow Lifecycle"]
end
subgraph PostgreSQL ["PostgreSQL — Dual Pool"]
AppPool[("App Data<br/>Users · Workspaces · Threads<br/>Turns · BYOK Keys · Automations")]
CheckPool[("LangGraph Checkpointer<br/>Agent State · Checkpoints")]
end
subgraph Redis ["Redis"]
EventBuf[("SSE Event Buffer<br/>150K events · Reconnect Replay")]
DataCache[("API Cache<br/>Market Data · SWR")]
Steering[("Steering Queue<br/>User Messages Mid-workflow")]
end
BTM --> AppPool
BTM --> CheckPool
BTM --> EventBuf
BTM --> Steering
API --> DataCache
BTM -. "Sandbox API" .-> Daytona["Daytona<br/>Cloud Sandboxes"]
API -. "REST" .-> FinAPIs["Financial APIs<br/>FMP · SEC EDGAR"]
WSP -. "WebSocket" .-> GData["ginlix-data<br/>Polygon.io · Massive"]
### Много-провайдерский модельный слой
LangAlpha работает на модельном слое, не зависящем от провайдера, который абстрагирует несколько бэкендов LLM. Один и тот же стек промежуточного ПО, инструменты и рабочие процессы работают независимо от того, какая модель их приводит в действие. Он поставляется с двумя режимами:
- **Режим PTC** для глубоких многоэтапных инвестиционных исследований. Сильные рассуждения управляют многоэтапным анализом, где агент планирует свой подход, обдумывает финансовые данные и пишет код для сложного анализа. Длинный контекст позволяет перекрестно ссылаться на документы SEC и исследовательские отчеты за один проход.
- **Режим Flash** для быстрых диалоговых ответов и оркестрации рабочего пространства: быстрый поиск по рынку, графики и чат в MarketView, легковесные вопросы-ответы, а также секретарь, который управляет рабочими пространствами, отправляет глубокие PTC-анализы в фоновом режиме и передает результаты обратно через естественный разговор.
**Используйте свою модель** — Используйте свои существующие подписки и ключи API напрямую. Подключайте подписки ChatGPT или Claude через OAuth (OpenAI Codex OAuth, Claude Code OAuth), используйте планы кодирования от Kimi (Moonshot), GLM (Zhipu), MiniMax или Doubao (Volcengine), или предоставляйте свои собственные ключи API для любого поддерживаемого провайдера через BYOK. Все ключи зашифрованы в покое с помощью PostgreSQL pgcrypto (см. [Безопасность](#security)).
**Устойчивость модели** — автоматические повторные попытки при временных ошибках, затем переключение на настроенную резервную модель. Уровень рассуждений (`low`/`medium`/`high`) автоматически нормализуется между провайдерами.
### Программный вызов инструментов (PTC) и архитектура рабочего пространства
Большинство AI-агентов взаимодействуют с данными через разовые вызовы JSON-инструментов, которые сбрасывают результат прямо в окно контекста. Программный вызов инструментов меняет это: вместо передачи сырых данных через LLM, агент пишет и выполняет код в облачной песочнице [Daytona](https://www.daytona.io/), которая обрабатывает данные локально и возвращает только конечный результат. Это резко сокращает расход токенов, одновременно позволяя проводить анализ, который в противном случае превысил бы ограничения контекста.
**Поток выполнения PTC**```mermaid
%%{init: {'theme': 'neutral'}}%%
flowchart LR
LLM["LLM"] -- "1 — Writes Python" --> EC["ExecuteCode Tool"]
EC -- "2 — Sends to sandbox" --> Run["Code Runner"]
subgraph Sandbox ["Daytona Cloud Sandbox"]
Run -- "3 — import tools.*" --> Wrappers["Generated Wrappers<br/>One module per MCP server"]
Wrappers -- "4 — JSON-RPC stdio" --> MCP["MCP Servers<br/>Subprocesses in sandbox"]
end
MCP -- "5 — REST / WS" --> APIs["Financial APIs<br/>FMP · Yahoo · Polygon"]
APIs -- "6 — Data" --> MCP
Run -- "7 — stdout · charts · files" --> EC
EC -- "8 — Result" --> LLM
Кроме того, среда рабочего пространства обеспечивает постоянство данных за пределами одного сеанса. Каждая песочница имеет структурированную структуру каталогов: work/<task>/ для рабочих областей по задачам (данные, графики, код), results/ для финализированных отчетов и data/ для общих наборов данных — так что промежуточные результаты сохраняются между сеансами. В корне находится agent.md, файл заметок рабочего пространства, который агент поддерживает между потоками: цели рабочего пространства, ключевые выводы, указатель потоков и указатель файлов важных артефактов. Промежуточный слой внедряет agent.md в каждый вызов модели, так что агент всегда имеет полный контекст предыдущей работы без повторного чтения файлов. Ортогонально к этому, система долговременной памяти на основе хранилища (.agents/user/memory/, .agents/workspace/memory/) сохраняет долговременные предпочтения пользователя и знания между песочницами, которые сохраняются после сброса рабочего пространства, а управляемое пользователем хранилище заметок (.agents/user/memo/) хранит загружаемые вами документы — PDF-файлы извлекаются по тексту на стороне сервера, а метаданные асинхронно генерируются LLM, чтобы агент мог находить их и цитировать по теме. Каждое рабочее пространство поддерживает несколько потоков обсуждения, привязанных к одной исследовательской цели.
Каждое рабочее пространство соответствует постоянной песочнице — организуйте исследования по теме, портфелю или тезису.
Агент пишет код для создания интерактивных дашбордов — здесь календарь катализаторов Mag 7 + полупроводников.
Хотя PTC отлично справляется со сложными задачами, такими как многоэтапная обработка данных, финансовое моделирование и создание графиков, запускать выполнение кода для каждого поиска данных — это излишне. Поэтому мы также создали собственный набор инструментов для финансовых данных, который преобразует часто используемые данные в формат, удобный для LLM. Эти инструменты также поставляются с артефактами, которые отображаются непосредственно во фронтенде, предоставляя человеческому уровню немедленный визуальный контекст наряду с анализом агента.
Собственные инструменты для быстрого поиска через прямые вызовы инструментов:
MCP-серверы для сырых данных, потребляемых через выполнение кода PTC:
Агент автоматически выбирает правильный слой: собственные инструменты для быстрых поисков, помещающихся в контекст, MCP-инструменты, когда задача требует пакетной обработки данных, построения графиков или многолетнего трендового анализа в песочнице.
MCP-серверы настраиваются для каждого рабочего пространства. Встроенные серверы можно отключать по отдельности, а также можно добавлять пользовательские HTTP- или stdio-серверы — включая те, которые читают учетные данные из хранилища рабочего пространства — через API или UI, и они вступают в силу в течение нескольких секунд без перезапуска.
LangAlpha поддерживает трехуровневую иерархию поставщиков данных. Каждый уровень является необязательным — система корректно деградирует, когда более высокие уровни недоступны:
Все уровни включены по умолчанию. Чтобы запустить только с бесплатными данными (Yahoo Finance), выполните make config с выбором по запросу. Вы также можете вручную отредактировать agent_config.yaml.
[!NOTE] Данные Yahoo Finance берутся из сообщества и имеют ограничения: нет внутридневных данных с интервалом менее 1 часа, задержанные котировки, ограниченное макро-покрытие и возможные ограничения скорости. Настоятельно рекомендуется использовать
FMP_API_KEY(доступен бесплатный тариф).
Агент поставляется с 23 предустановленными навыками финансовых исследований, каждый из которых активируется слэш-командой или автоматическим обнаружением. Навыки соответствуют Спецификации навыков агентов и могут быть расширены путем помещения файла SKILL.md в рабочее пространство.
Примечание: некоторые навыки адаптированы из anthropics/financial-services-plugins.
Навык сравнительного анализа поставляет модель Excel и отчет в PDF — с предполагаемыми ценовыми диапазонами на основе мультипликаторов группы аналогов.
Агент нативно читает изображения (PNG, JPG, GIF, WebP) и PDF-файлы — мультимодальный промежуточный слой перехватывает чтение файлов, загружает контент из песочницы или URL-адресов и вставляет его в формате base64 в разговор для прямого визуального анализа. В MarketView пользовательский график свечей в реальном времени может быть захвачен и отправлен агенту как мультимодальный контекст — захват включает как изображение графика, так и структурированные метаданные (символ, интервал, OHLCV, скользящие средние, RSI, 52-недельный диапазон), чтобы агент мог рассуждать как о визуальном паттерне, так и о базовых данных.
MarketView отправляет живой график агенту для технического анализа в реальном времени.
Попросите агента разметить график MarketView, и он нарисует прямо на холсте — ценовые уровни, линии тренда, коррекции Фибоначчи, значки событий, прямоугольники и текстовые метки. Аннотации передаются в реальном времени через SSE, сохраняются для каждого рабочего пространства и для каждой пары символ:таймфрейм (рисунок на NVDA:1day отделен от NVDA:1hour) и воспроизводятся при повторном подключении. Когда разговор происходит вне MarketView, стенограмма чата показывает мини-карточку предварительного просмотра с легендой аннотации и ссылкой в один клик на живой график. Навык создания аннотаций к графикам загружается автоматически, когда сообщение отправляется из MarketView, так что агент всегда знает, к какому тикеру и таймфрейму относится «график».
Агент может планировать собственные задачи прямо из разговора — отдельный интерфейс не нужен. Пользователи также могут управлять автоматизациями на специальной странице «Автоматизации» с полным CRUD, историей выполнения и ручным запуском. Для всех типов автоматизаций используется один и тот же AutomationExecutor, настраиваемый режим агента (PTC или Flash) и автоматическое отключение после последовательных сбоев.
По времени — Стандартные cron-выражения для повторяющихся расписаний («запускать этот анализ каждый понедельник в 9 утра») и одноразовое планирование по дате и времени для однократного выполнения в будущем.
По цене — Установите целевой уровень цены или процентного изменения для любой акции или крупного индекса, и агент выполнит ваши инструкции в момент выполнения условия. PriceMonitorService подписывается на общее вышестоящее WebSocket-соединение с ginlix-data для получения тиков в реальном времени (акции на уровне реального времени, индексы на уровне задержки). Дедупликация на основе Redis предотвращает срабатывание триггеров несколько раз на разных экземплярах сервера.
| Условие | Пример |
|---|---|
| Цена выше / ниже | Сработать, когда AAPL пересечет $200 |
| Процентное изменение выше / ниже | Сработать, когда SPX изменится на +2% от предыдущего закрытия |
Условия можно комбинировать (логика И), и каждая ценовая автоматизация поддерживает режим однократный (срабатывает один раз) или повторяющийся с настраиваемым периодом охлаждения (минимум 4 часа или один раз за торговый день по умолчанию).
[!NOTE] Автоматизации по цене требуют ленты WebSocket в реальном времени от ginlix-data. Во время бета-тестирования эта функция доступна исключительно на хостируемой платформе. Поддержка более широкого спектра источников данных WebSocket запланирована на будущие релизы.
Планируйте повторяющиеся исследования — здесь пред-доходные анализы Mag 7 запускаются автоматически перед каждым отчетом.
Архитектура агента```mermaid %%{init: {'theme': 'neutral'}}%%
flowchart TB subgraph Orchestrator ["BackgroundSubagentOrchestrator"] direction TB Agent["Main Agent · LangGraph ReAct"] end
Agent -- "Task(init · update · resume)" --> SubPool
SubPool -- "results" --> Orchestrator
subgraph SubPool ["Subagent Pool — Parallel Async"]
direction LR
S1["general-purpose"]
S2["research"]
S3["user-defined"]
end
subgraph Middleware ["Middleware Stack"]
direction LR
MW1["Tool Safety<br/>Leak Detection<br/>Protected Paths<br/>Error Handling"]
MW2["Context & Skills<br/>agent.md Injection<br/>Skill Loading<br/>Multimodal"]
MW3["Coordination<br/>HITL · Plan Mode<br/>Steering<br/>Subagent Dispatch"]
MW4["Resilience<br/>Compaction<br/>Retry + Fallback<br/>Prompt Caching"]
end
Agent -- "wraps model + tool calls" --> Middleware
Middleware --> LLM["Multi-Provider LLM<br/>OpenAI · Anthropic · Gemini · DeepSeek<br/>Qwen · Kimi · Doubao · GLM · MiniMax · ..."]
Agent <--> Tools
subgraph Tools ["Tool Layer"]
direction LR
T1["execute_code<br/>bash"]
T2["Filesystem<br/>read · write · edit<br/>glob · grep"]
T3["Finance<br/>Market Data · SEC<br/>Options · Screener"]
T4["Web<br/>Search · Fetch"]
T5["ShowWidget<br/>Inline HTML"]
end
T1 <--> Workspace
T2 <--> Workspace
subgraph Workspace ["Workspace — Daytona Sandbox"]
direction LR
W1["agent.md<br/>Workspace Notes"]
W2["work/‹task›/<br/>data · charts"]
W3["results/<br/>Reports"]
W4["tools/<br/>MCP Wrappers"]
end
### Рой агентов
Основной агент работает на [LangGraph](https://github.com/langchain-ai/langgraph) и порождает параллельные асинхронные подагенты через инструмент `Task()`. Подагенты выполняются одновременно в изолированных контекстных окнах, что предотвращает отклонение в длинных цепочках рассуждений. Каждый подагент возвращает синтезированные результаты основному агенту, сохраняя оркестратор лёгким. Основной агент может выбрать ожидание результата подагента или продолжить другую ожидающую работу. Вы также можете переключиться на представление **Подагенты** в интерфейсе, чтобы видеть их прогресс в реальном времени (только веб-интерфейс).
Помимо простой отправки, основной агент может отправлять дополнительные инструкции всё ещё работающему подагенту или возобновить завершённого с полным контекстом для итеративного улучшения. Если сервер перезагружается, состояние подагента автоматически восстанавливается из последней контрольной точки.
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/13458/dd8d54f3a8879372cf72c8a05d6ecce70c53ed0d86c8aed6a49c49276d4f97e4.png" alt="Parallel subagents researching the data center compute chain with an interactive AI compute timeline" width="800" />
</p>
<p align="center"><em>Исследовательские подагенты работают параллельно по всей вычислительной цепочке — результаты объединяются в интерактивную временную шкалу вычислений ИИ, охватывающую NVIDIA, Google, AMD, AWS и остальную часть индустрии.</em></p>
### Стек промежуточного ПО
Агент поставляется со стеком промежуточного ПО, включающим:
- **Живое управление** — агенты могут принимать неверные решения, гнаться за нерелевантными данными или неправильно понимать ваши намерения в середине анализа. Управление позволяет вам корректировать курс без ожидания. Отправьте дополнительное сообщение в любое время, пока агент работает — обновлённые инструкции, уточнения или совершенно новые вопросы — и агент подхватит их перед следующим шагом, как если бы вы сказали это в реальном времени. Управление работает на всех уровнях: перенаправьте основного агента, отправьте дополнительные инструкции отдельным фоновым подагентам или позвольте системе корректно вернуть неиспользованные сообщения в ваше поле ввода, если рабочий процесс завершится первым. Никакая работа не теряется, перезапуски не требуются.
- **Динамическая загрузка навыков** через инструмент `LoadSkill`, который позволяет агенту обнаруживать и активировать наборы инструментов навыков по требованию, сохраняя поверхность инструментов по умолчанию лёгкой, но делая специализированные возможности доступными при необходимости
- **Мультимодальный** перехват чтения файлов для изображений и PDF, загрузка контента из песочницы или URL и вставка его в формате base64 в беседу, чтобы мультимодальные модели могли интерпретировать его нативно
- **Режим планирования** с прерываниями человеческого цикла позволяет вам просматривать и утверждать стратегию агента перед выполнением
- **Автосжатие** сжимает историю беседы при приближении к лимитам токенов, сохраняя ключевой контекст и освобождая место
- **Управление контекстом** автоматически выгружает большие результаты инструментов в файловую систему рабочего пространства, оставляя краткий предварительный просмотр в контексте, и сжимает длинные беседы по мере их роста — обобщая более старые повороты, но сохраняя полную стенограмму восстановимой в рабочем пространстве. Исследовательские сессии могут работать бесконечно, не достигая ограничений контекста.
См. [`src/ptc_agent/agent/middleware/`](https://github.com/ginlix-ai/langalpha/blob/HEAD/src/ptc_agent/agent/middleware/) для полного набора.
Благодарность: некоторые компоненты промежуточного ПО адаптированы или вдохновлены реализацией в [LangChain DeepAgents](https://github.com/langchain-ai/deepagents).
### Потоковая передача и инфраструктура
Сервер транслирует всю активность агента через SSE: фрагменты текста, вызовы инструментов с аргументами и результатами, обновления статуса подагентов, артефакты файловых операций и прерывания человеческого цикла. Каждое решение агента полностью отслеживается в интерфейсе.
Рабочие процессы выполняются как независимые фоновые задачи, полностью отделённые от HTTP/SSE-соединения. Если вкладка браузера закрывается или сеть падает, агент продолжает работать. При повторном подключении воспроизводятся до 150 000 буферизированных событий, так что клиент продолжает именно с того места, где остановился.
PostgreSQL поддерживает контрольные точки LangGraph, историю беседы и пользовательские данные (списки наблюдения, портфели, настройки), так что состояние агента и пользовательский контекст сохраняются между сессиями. Redis буферизирует SSE-события, чтобы обновления браузера и обрывы сети не приводили к потере сообщений в пути: клиент автоматически переподключается и воспроизводит события. Пользовательские данные предоставляются агенту в виде виртуальных JSON-файлов, поддерживаемых непосредственно базой данных — чтение сериализует живые строки по требованию, а запись применяется в одной проверенной транзакции без синхронизации с песочницей, в то время как навыки синхронизируются с песочницей при инициализации сессии через кеш на основе манифеста, повторно загружаясь только при изменении. Подробнее см. полную [справку по API](https://github.com/ginlix-ai/langalpha/blob/HEAD/docs/api/README.md).
### Происхождение источников
Каждый внешний источник данных, к которому обращается агент, отслеживается и отображается. Промежуточное ПО происхождения записывает каждый веб-поиск, загрузку страницы, подачу SEC, вызов рыночных данных, вызов инструмента MCP и чтение файла рабочего пространства — включая обращения, сделанные фоновыми подагентами — и генерирует событие потока `provenance` для каждого источника, ни одно из которых не попадает в контекст LLM. Интерфейс отображает их в виде панели «Источники» рядом с каждым поворотом: источники сгруппированы по типу, фавиконы для веб-источников, и детальное представление с указанием провайдера, временной метки, захваченных аргументов, отпечатка содержимого и фрагмента. Переключатель *Этот поворот / Все источники* показывает полный след данных по всей ветке, а щелчок по источнику файла или заметки открывает его непосредственно в файловой панели рабочего пространства — полностью аудируемый след данных, стоящих за каждым исследовательским результатом.
## Безопасность и хранилище рабочего пространства
LangAlpha применяет многоуровневую модель безопасности для учётных данных, выполнения кода и пользовательских секретов.
**Шифрование в состоянии покоя** — Все конфиденциальные данные (ключи API BYOK, токены OAuth, секреты хранилища) шифруются внутри PostgreSQL с помощью `pgcrypto`. Открытый текст никогда не хранится в базе данных.
**Обнаружение утечки учётных данных** — Каждый вывод инструмента сканируется перед попаданием в контекст LLM. Промежуточное ПО разрешает все известные секретные значения (ключи сервера MCP, токены песочницы, секреты хранилища) и заменяет любое совпадение на `[REDACTED:KEY_NAME]`. Такое же редактирование применяется к поверхностям, видимым человеком — чтение и загрузка файлов очищаются перед отправкой клиенту.
**Выполнение кода в песочнице** — Каждое рабочее пространство работает в собственной [Daytona](https://www.daytona.io/) облачной песочнице с выделенной файловой системой и сетевой границей. Защищённые ограничения путей предотвращают доступ агента к внутренним системным каталогам — блокируя как ввод инструмента (прерывая вызов до выполнения), так и вывод инструмента (редактируя утёкшие пути).
### Хранилище рабочего пространства
Каждое рабочее пространство имеет встроенное хранилище секретов для хранения ключей API и учётных данных, которые агент может использовать во время выполнения кода — полезно для доступа к сторонним источникам данных (брокерские API, внешние поставщики данных и т.д.) или создания рабочих процессов на базе LLM внутри рабочего пространства. Сохраните секрет один раз в интерфейсе, и он будет доступен для каждого сеанса агента в этом рабочем пространстве через простой Python API:```python
from vault import get, list_names, load_env
api_key = get("MY_API_KEY") # retrieve a single secret
names = list_names() # list available secret names
load_env() # bulk-load all secrets as env vars
Секреты хранилища наследуют все уровни защиты выше — зашифрованы в покое, скрыты из всех выходных данных агента и человека, и заблокированы от прямого доступа к файлам. Только владелец рабочего пространства может создавать, обновлять, раскрывать или удалять секреты.
Веб-интерфейс — это больше, чем просто чат; это полноценная исследовательская рабочая станция:
ShowWidget, с тематической стилизацией и изолированными iframeresults/, обслуживаемые с реальной семантикой браузера (скрипты выполняются, CDN-библиотеки загружаются, относительные ресурсы разрешаются), доступные для просмотра на весь экран и экспорта в PDF — отличаются от встроенных виджетов и живых панелейsymbol:timeframe и предварительно просматривается встроенно в чате
Панель управления отображает рыночные индексы, персонализированный обзор и ваш список наблюдения — любую плитку можно закрепить за агентом как контекст чата, чтобы начать исследовательский поток.
|
Используйте LangAlpha из инструментов, в которых вы уже работаете. Шлюз интеграции передает сообщения между платформами обмена сообщениями и основным агентом, при этом каждый канал получает ответы в своем родном формате. Интеграции каналов доступны исключительно в нашем хостинг-сервисе с настройкой в один клик и быстрой привязкой учетной записи — посетите integrations, чтобы начать.
Slack и Discord предлагают нативные каналы и группы на уровне тредов, которые естественным образом сопоставляются с рабочими пространствами и тредами LangAlpha — контекст управляется нативно. В Telegram и WhatsApp нет этих примитивов, поэтому они используют упрощенный режим оркестрации. Feishu имеет полноценный обмен сообщениями и карточный интерфейс, скоро появится OAuth. Telegram имеет частичную поддержку, полное покрытие планируется в ближайшее время. WhatsApp запланирован.
[!TIP] Не хотите размещать самостоятельно? Попробуйте хостинг-версию — она включает полную инфраструктуру данных (FMP, рыночные данные в реальном времени, облачные песочницы) из коробки. Используйте свой собственный ключ LLM (BYOK) и начинайте сразу без настройки.
Вы можете запустить LangAlpha только с Docker — никаких ключей API для данных, никакой облачной песочницы. Просто Docker для инфраструктуры и ваша собственная подписка LLM для модели ИИ.```bash git clone https://github.com/ginlix-ai/langalpha.git cd langalpha make config # interactive wizard — creates .env, configures LLM, data sources, sandbox, and search make up # starts PostgreSQL, Redis, backend, and frontend
- **Фронтенд:** [http://localhost:5173](http://localhost:5173)
- **API бэкенда:** [http://localhost:8000](http://localhost:8000) (интерактивная документация по адресу `/docs`)
- **Проверка:** `curl http://localhost:8000/health`
Для полного функционала мастер установки предложит ввести опциональные ключи — или добавьте их в `.env` позже:
| Ключ | Что открывает |
| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| `DAYTONA_API_KEY` | Персистентные облачные песочницы с поддержкой межсессионных рабочих пространств ([daytona.io](https://www.daytona.io/)) |
| `FMP_API_KEY` | Высококачественные фундаментальные показатели, макроэкономика, отчёты SEC, опционы ([есть бесплатный тариф](https://site.financialmodelingprep.com/)) |
| `SERPER_API_KEY` или `TAVILY_API_KEY` | Веб-поиск |
| `LANGSMITH_API_KEY` | Трассировка LangSmith для запусков LangGraph |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Трассы и метрики OpenTelemetry в любой OTLP-бэкенд (Jaeger, Grafana Tempo, Datadog, Honeycomb, ...) |
| `SANDBOX_PROVIDER` | Переопределить провайдера песочницы (`daytona` или `docker`); автоматически определяется из `DAYTONA_API_KEY`, если не задан |
> [!NOTE]
> Без внешних ключей сервисов вы получаете функциональный, но урезанный опыт: Yahoo Finance предоставляет бесплатные исторические котировки, фундаментальные данные, отчёты о прибылях и аналитику, но не имеет котировок в реальном времени, внутридневных тиков, макроэкономических данных и аналитики опционов. Песочница Docker заменяет облачные песочницы Daytona — полное выполнение кода PTC работает, но с пониженной безопасностью и изоляцией. Добавляйте ключи постепенно, чтобы открыть больше возможностей.
Выполните `make help`, чтобы увидеть все доступные команды. Для ручной установки без Docker смотрите [CONTRIBUTING.md](https://github.com/ginlix-ai/langalpha/blob/HEAD/CONTRIBUTING.md#manual-setup).
## Документация
- **[Справочник API](https://github.com/ginlix-ai/langalpha/blob/HEAD/docs/api/README.md)** с конечными точками для потоковой передачи чата, рабочих пространств, состояния рабочего процесса и многого другого
- **Интерактивная документация API** по адресу `http://localhost:8000/docs`, когда сервер запущен
## Контакты
По вопросам партнёрства, сотрудничества или общим вопросам пишите на [[email protected]](mailto:[email protected]).
## Отказ от ответственности
LangAlpha — это исследовательский инструмент, а не финансовый консультант. Ничто из созданного этим программным обеспечением не является инвестиционной рекомендацией, советом или предложением купить или продать какие-либо ценные бумаги. Все результаты предназначены только для информационных и образовательных целей. Используйте на свой страх и риск — всегда проводите собственное исследование перед принятием инвестиционных решений.
## Лицензия
Apache License 2.0
| Уровень | Поставщик | Требуется ключ | Что добавляет |
|---|
| 1 | ginlix-data (хостируемый прокси) | GINLIX_DATA_URL | Лента цен в реальном времени через WebSocket, внутридневные данные, данные расширенных торговых часов, данные по опционам |
| 2 | FMP (Financial Modeling Prep) | FMP_API_KEY | Качественные фундаментальные данные, финансовые отчеты, макро-данные, аналитические данные |
| 3 | Yahoo Finance (yfinance) | Нет — бесплатно | История цен, базовые фундаментальные данные, доходы, холдинги, инсайдерские транзакции, ESG, скринер |
| Категория | Навыки |
|---|
| Оценка и моделирование | DCF-модель, Сравнительный анализ, Модель из 3 отчетов, Обновление модели, Аудит модели |
| Анализ акций | Инициация покрытия (отчет на 30–50 стр.), Предварительный обзор доходов, Анализ доходов, Трекер тезисов |
| Рыночная аналитика | Утренняя заметка, Календарь катализаторов, Обзор сектора, Конкурентный анализ, Генерация идей, Исследование X |
| Генерация документов | PDF, DOCX, PPTX, XLSX, HTML — создание, редактирование, извлечение |
| Операции | Проверка качества инвестиционного портфеля, Автоматизации по расписанию, Профиль пользователя и портфель |

| Начните с готового макета — Morning Brief, Agent Desk, Researcher или Trader. | Или составьте свой из галереи виджетов — рынки, разведданные, личное, агент и рабочее пространство. |
| Функция | Slack | Discord | Feishu | Telegram |
|---|
| Форматированный текст / Markdown | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Загрузка файлов (пользователь → агент) | ✅ | ✅ | ✅ | ❌ | ➖ |
| Скачивание файлов (агент → пользователь) | ✅ | ✅ | ✅ | ❌ | ➖ |
| Отображение изображений | ✅ | ✅ | ✅ | ❌ | ➖ |
| Прерывания с участием человека | ✅ | ✅ | ✅ | ⚠️ | ➖ |
| Отслеживание сабагентов | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Выбор рабочего пространства / модели | ✅ | ✅ | ✅ | ✅ | 🔜 |
| Доставка автоматизаций (исходящие) | ✅ | ✅ | ❌ | ➖ | ➖ |
| Упрощенная привязка учетной записи | ✅ | ✅ | ❌ | ❌ | ➖ |
| Слеш-команды | ✅ | ✅ | ✅ | ✅ | ➖ |