| Файл | Описание |
|---|---|
package.json |
Конфигурация npm, скрипты сборки и запуска |
tsconfig.json |
Конфигурация TypeScript компилятора |
esbuild.config.js |
Конфигурация esbuild для бандлинга |
eslint.config.js |
Конфигурация ESLint линтера |
.prettierrc.json |
Конфигурация форматирования кода |
README.md |
Основная документация проекта |
CHANGELOG.md |
История изменений |
CONTRIBUTING.md |
Руководство для контрибьюторов |
SECURITY.md |
Политика безопасности |
REFACTORING_PLAN.md |
План рефакторинга проекта |
Dockerfile |
Docker-образ для контейнеризации |
Makefile |
Команды make для сборки |
| Файл | Описание |
|---|---|
launch.json |
Конфигурации отладки (Debug CLI, Tests, Attach) |
tasks.json |
Задачи VSCode (Build, Test, Lint, Start) |
settings.json |
Настройки редактора (formatting, excludes, ESLint) |
extensions.json |
Рекомендуемые расширения VSCode |
| Файл/Папка | Описание |
|---|---|
OLLAMA_API.md |
Документация Ollama REST API |
developers/ |
Документация для разработчиков |
developers/architecture.md |
Архитектура проекта |
developers/roadmap.md |
Дорожная карта развития |
developers/tools/ |
Документация инструментов (shell, grep, edit и др.) |
developers/sdk-typescript.md |
Документация SDK |
users/ |
Документация для пользователей |
users/quickstart.md |
Быстрый старт |
users/configuration/ |
Настройки (settings, auth, memory) |
users/features/ |
Возможности (mcp, sandbox, skills) |
| Файл | Описание |
|---|---|
start.js |
Точка входа для npm run start |
dev.js |
Режим разработки |
build.js |
Основной скрипт сборки |
build_package.js |
Сборка отдельного пакета |
clean.js |
Очистка артефактов сборки |
lint.js |
Запуск линтера |
test-ollama-api.sh |
Тестирование Ollama API |
sandbox_command.js |
Конфигурация песочницы |
pre-commit.js |
Хук pre-commit (lint-staged) |
| Файл | Описание |
|——|———-|
| src/index.ts | Экспорт публичного API |
| package.json | Зависимости и скрипты core |
| Файл | Описание |
|——|———-|
| ollamaNativeClient.ts | Нативный клиент Ollama API (chat, generate, models) |
| ollamaNativeContentGenerator/ | Генератор контента через Ollama |
| ollamaNativeContentGenerator/converter.ts | Конвертер форматов Ollama ↔ Internal |
| ollamaNativeContentGenerator/ollamaNativeContentGenerator.ts | Основной генератор |
| ollamaChat.ts | Логика чата |
| ollamaClient.ts | Клиент для OpenAI-совместимого API |
| prompts.ts | Системные промпты |
| logger.ts | Логирование |
| contentGenerator.ts | Базовый генератор контента |
| tokenLimits.ts | Лимиты токенов моделей |
| coreToolScheduler.ts | Планировщик инструментов |
| turn.ts | Управление ходами диалога |
| baseLlmClient.ts | Базовый клиент LLM |
| Файл | Описание |
|——|———-|
| tools.ts | Регистрация всех инструментов |
| tool-registry.ts | Реестр инструментов |
| read-file.ts | Чтение файлов |
| write-file.ts | Запись файлов |
| edit.ts | Редактирование файлов (Edit, MultiEdit) |
| ls.ts | Листинг директорий |
| glob.ts | Поиск файлов по паттерну |
| grep.ts / ripGrep.ts | Поиск в файлах (ripgrep) |
| shell.ts | Выполнение shell команд |
| web-fetch.ts | Загрузка веб-страниц |
| web-search/ | Веб-поиск (Tavily, Google) |
| memoryTool.ts | Долгосрочная память |
| todoWrite.ts | Управление TODO списком |
| task.ts | Субагенты (Task tool) |
| mcp-tool.ts | MCP инструменты |
| mcp-client.ts | MCP клиент |
| mcp-client-manager.ts | Менеджер MCP клиентов |
| lsp.ts | Language Server Protocol |
| exitPlanMode.ts | Выход из режима планирования |
| skill.ts | Загрузка skills |
| diffOptions.ts | Опции diff |
| tool-error.ts | Ошибки инструментов |
| tool-names.ts | Имена инструментов |
| Файл | Описание |
|——|———-|
| errors.ts | Базовые классы ошибок |
| ollamaErrors.ts | Ошибки Ollama API (новое) |
| debugLogger.ts | Логирование отладки в файл |
| apiLogger.ts | Логирование API запросов |
| openaiLogger.ts | Логирование OpenAI запросов |
| fetch.ts | HTTP клиент с retry |
| retry.ts | Логика повторных попыток |
| rateLimit.ts | Rate limiting |
| safeJsonParse.ts | Безопасный JSON парсинг |
| safeJsonStringify.ts | Безопасная сериализация JSON |
| schemaValidator.ts | Валидация JSON Schema |
| schemaConverter.ts | Конвертация схем |
| fileUtils.ts | Работа с файлами |
| editor.ts | Открытие в редакторе |
| gitUtils.ts | Git операции |
| gitIgnoreParser.ts | Парсинг .gitignore |
| ollamaIgnoreParser.ts | Парсинг .ollamaignore |
| shell-utils.ts | Утилиты для shell |
| shellReadOnlyChecker.ts | Проверка read-only команд |
| terminalSerializer.ts | Сериализация терминала |
| textUtils.ts | Текстовые утилиты |
| formatters.ts | Форматирование вывода |
| paths.ts | Работа с путями |
| pathReader.ts | Чтение путей |
| configResolver.ts | Разрешение конфигурации |
| envVarResolver.ts | Разрешение env переменных |
| environmentContext.ts | Контекст окружения |
| workspaceContext.ts | Контекст workspace |
| promptIdContext.ts | ID контекста промпта |
| thoughtUtils.ts | Утилиты для thinking |
| nextSpeakerChecker.ts | Определение следующего спикера |
| readManyFiles.ts | Чтение множества файлов |
| getFolderStructure.ts | Получение структуры папок |
| projectSummary.ts | Суммаризация проекта |
| summarizer.ts | Суммаризация контента |
| memoryDiscovery.ts | Обнаружение памяти |
| memoryImportProcessor.ts | Импорт памяти |
| installationManager.ts | Управление установкой |
| subagentGenerator.ts | Генерация субагентов |
| browser.ts | Браузерные утилиты |
| secure-browser-launcher.ts | Безопасный запуск браузера |
| yaml-parser.ts | Парсер YAML |
| toml-to-markdown-converter.ts | Конвертер TOML → Markdown |
| jsonl-utils.ts | Утилиты JSONL |
| language-detection.ts | Определение языка |
| messageInspectors.ts | Инспекция сообщений |
| quotaErrorDetection.ts | Детекция ошибок квоты |
| errorParsing.ts | Парсинг ошибок |
| errorReporting.ts | Отчёты об ошибках |
| partUtils.ts | Утилиты для частей контента |
| ignorePatterns.ts | Паттерны игнорирования |
| ripgrepUtils.ts | Утилиты ripgrep |
| systemEncoding.ts | Системная кодировка |
| request-tokenizer/ | Токенизация запросов |
| filesearch/ | Поиск файлов (crawler, cache) |
| LruCache.ts | LRU кэш |
| testUtils.ts | Утилиты для тестов |
| Файл | Описание |
|——|———-|
| config.ts | Основная конфигурация |
| storage.ts | Хранилище настроек |
| constants.ts | Константы |
| models.ts | Модели конфигурации |
| Файл | Описание |
|——|———-|
| modelRegistry.ts | Реестр моделей |
| modelConfigResolver.ts | Разрешение конфигурации модели |
| modelsConfig.ts | Конфигурация моделей |
| modelConfigErrors.ts | Ошибки конфигурации |
| constants.ts | Константы моделей |
| types.ts | Типы моделей |
| Файл | Описание |
|——|———-|
| content.ts | Типы контента (Content, Part, FunctionDeclaration) |
| index.ts | Экспорт типов |
| Файл | Описание |
|——|———-|
| oauth-provider.ts | OAuth провайдер |
| oauth-utils.ts | OAuth утилиты |
| oauth-token-storage.ts | Хранилище OAuth токенов |
| google-auth-provider.ts | Google аутентификация |
| sa-impersonation-provider.ts | Service Account impersonation |
| token-storage/ | Хранилище токенов (file, keychain, hybrid) |
| constants.ts | Константы MCP |
| Файл | Описание |
|——|———-|
| subagent.ts | Основной класс субагента |
| subagent-manager.ts | Менеджер субагентов |
| subagent-events.ts | События субагентов |
| subagent-hooks.ts | Хуки субагентов |
| subagent-statistics.ts | Статистика субагентов |
| builtin-agents.ts | Встроенные агенты |
| validation.ts | Валидация субагентов |
| types.ts | Типы субагентов |
| index.ts | Экспорт |
| Файл | Описание |
|——|———-|
| fileSystemService.ts | Сервис файловой системы |
| fileDiscoveryService.ts | Обнаружение файлов |
| gitService.ts | Git сервис |
| shellExecutionService.ts | Выполнение shell |
| chatRecordingService.ts | Запись чата |
| chatCompressionService.ts | Сжатие чата |
| sessionService.ts | Сервис сессий |
| loopDetectionService.ts | Детекция циклов |
| Файл | Описание |
|——|———-|
| extensionManager.ts | Менеджер расширений |
| extensionSettings.ts | Настройки расширений |
| marketplace.ts | Маркетплейс расширений |
| github.ts | GitHub интеграция |
| settings.ts | Настройки |
| storage.ts | Хранилище |
| variables.ts | Переменные |
| override.ts | Переопределения |
| claude-converter.ts | Конвертер Claude расширений |
| gemini-converter.ts | Конвертер Gemini расширений |
| variableSchema.ts | Схема переменных |
| index.ts | Экспорт |
| Файл | Описание |
|——|———-|
| ide-client.ts | Клиент IDE |
| ide-installer.ts | Установщик IDE |
| ideContext.ts | Контекст IDE |
| detect-ide.ts | Определение IDE |
| process-utils.ts | Утилиты процессов |
| types.ts | Типы IDE |
| constants.ts | Константы IDE |
| Файл | Описание |
|——|———-|
| skill-manager.ts | Менеджер skills |
| skill-load.ts | Загрузка skills |
| types.ts | Типы skills |
| index.ts | Экспорт |
| Файл | Описание |
|——|———-|
| NativeLspService.ts | LSP сервис |
| NativeLspClient.ts | LSP клиент |
| LspServerManager.ts | Менеджер LSP серверов |
| LspConnectionFactory.ts | Фабрика соединений |
| LspConfigLoader.ts | Загрузчик конфигурации |
| LspLanguageDetector.ts | Определение языка |
| LspResponseNormalizer.ts | Нормализация ответов |
| types.ts | Типы LSP |
| constants.ts | Константы LSP |
| Файл | Описание |
|——|———-|
| uiTelemetry.ts | UI телеметрия |
| types.ts | Типы телеметрии |
| index.ts | Экспорт |
| Файл | Описание |
|——|———-|
| prompt-registry.ts | Реестр промптов |
| mcp-prompts.ts | MCP промпты |
| Файл | Описание |
|——|———-|
| index.ts | Экспорт типов Ollama |
| Файл | Описание |
|——|———-|
| json-formatter.ts | JSON форматирование |
| types.ts | Типы вывода |
| Файл | Описание |
|——|———-|
| index.ts | Точка входа CLI |
| package.json | Зависимости и скрипты CLI |
| docs/README.md | Документация CLI |
| Файл | Описание |
|——|———-|
| App.tsx | Главный компонент приложения |
| AppContainer.tsx | Контейнер приложения |
| colors.ts | Цветовая схема |
| semantic-colors.ts | Семантические цвета |
| constants.ts | Константы UI |
| types.ts | Типы UI |
| keyMatchers.ts | Мэтчеры клавиш |
| Файл | Описание |
|——|———-|
| Header.tsx | Заголовок |
| Footer.tsx | Подвал |
| InputPrompt.tsx | Поле ввода |
| Composer.tsx | Компоновщик |
| LoadingIndicator.tsx | Индикатор загрузки |
| Help.tsx | Справка |
| AboutBox.tsx | Информация о приложении |
| ModelDialog.tsx | Диалог выбора модели |
| ModelSwitchDialog.tsx | Диалог переключения модели |
| SettingsDialog.tsx | Диалог настроек |
| ThemeDialog.tsx | Диалог темы |
| ApprovalModeDialog.tsx | Диалог режима подтверждения |
| SessionPicker.tsx | Выбор сессии |
| TodoDisplay.tsx | Отображение TODO |
| ContextUsageDisplay.tsx | Использование контекста |
| MemoryUsageDisplay.tsx | Использование памяти |
| messages/ | Компоненты сообщений |
| shared/ | Общие компоненты |
| subagents/ | Компоненты субагентов |
| views/ | Представления |
| Файл | Описание |
|——|———-|
| useOllamaStream.ts | Потоковая обработка Ollama |
| useInputHistory.ts | История ввода |
| useKeypress.ts | Обработка клавиш |
| useTerminalSize.ts | Размер терминала |
| useThemeCommand.ts | Команда темы |
| useModelCommand.ts | Команда модели |
| useSettingsCommand.ts | Команда настроек |
| useResumeCommand.ts | Команда возобновления |
| useApprovalModeCommand.ts | Команда режима подтверждения |
| useDialogClose.ts | Закрытие диалога |
| useFocus.ts | Фокус |
| useLoadingIndicator.ts | Индикатор загрузки |
| useMemoryMonitor.ts | Мониторинг памяти |
| useVisionAutoSwitch.ts | Автопереключение VLM |
| vim.ts | Vim режим |
| Файл | Описание |
|——|———-|
| helpCommand.ts | /help |
| clearCommand.ts | /clear |
| quitCommand.ts | /quit |
| modelCommand.ts | /model |
| themeCommand.ts | /theme |
| settingsCommand.ts | /settings |
| mcpCommand.ts | /mcp |
| memoryCommand.ts | /memory |
| resumeCommand.ts | /resume |
| exportCommand.ts | /export |
| statsCommand.ts | /stats |
| toolsCommand.ts | /tools |
| extensionsCommand.ts | /extensions |
| skillsCommand.ts | /skills |
| agentsCommand.ts | /agents |
| compressCommand.ts | /compress |
| Файл | Описание |
|——|———-|
| theme.ts | Базовая тема |
| theme-manager.ts | Менеджер тем |
| default.ts | Темная тема по умолчанию |
| default-light.ts | Светлая тема по умолчанию |
| ollama-dark.ts | Ollama темная |
| ollama-light.ts | Ollama светлая |
| dracula.ts | Dracula |
| github-dark.ts | GitHub Dark |
| github-light.ts | GitHub Light |
| atom-one-dark.ts | Atom One Dark |
| ayu.ts | Ayu Dark |
| ayu-light.ts | Ayu Light |
| googlecode.ts | Google Code |
| xcode.ts | Xcode |
| shades-of-purple.ts | Shades of Purple |
| no-color.ts | Без цветов |
| Файл | Описание |
|——|———-|
| AppContext.tsx | Контекст приложения |
| SessionContext.tsx | Контекст сессии |
| ConfigContext.tsx | Контекст конфигурации |
| SettingsContext.tsx | Контекст настроек |
| UIStateContext.tsx | Состояние UI |
| UIActionsContext.tsx | Действия UI |
| StreamingContext.tsx | Контекст стриминга |
| KeypressContext.tsx | Контекст клавиш |
| VimModeContext.tsx | Контекст Vim режима |
| ShellFocusContext.tsx | Контекст фокуса shell |
| Файл | Описание |
|——|———-|
| highlight.ts | Подсветка синтаксиса |
| MarkdownDisplay.tsx | Отображение Markdown |
| InlineMarkdownRenderer.tsx | Inline Markdown |
| CodeColorizer.tsx | Раскраска кода |
| TableRenderer.tsx | Рендеринг таблиц |
| clipboardUtils.ts | Работа с буфером обмена |
| displayUtils.ts | Утилиты отображения |
| textUtils.ts | Текстовые утилиты |
| formatters.ts | Форматирование |
| terminalSetup.ts | Настройка терминала |
| export/ | Экспорт (HTML, JSON, Markdown) |
| Файл | Описание |
|——|———-|
| config.ts | Конфигурация |
| settings.ts | Настройки |
| settingsSchema.ts | Схема настроек |
| auth.ts | Аутентификация |
| keyBindings.ts | Привязки клавиш |
| trustedFolders.ts | Доверенные папки |
| sandboxConfig.ts | Конфигурация песочницы |
| webSearch.ts | Веб-поиск |
| modelProvidersScope.ts | Область провайдеров моделей |
| Файл | Описание |
|——|———-|
| mcp.ts | MCP команды (add, list, remove) |
| extensions/ | Команды расширений |
| Файл | Описание |
|——|———-|
| CommandService.ts | Сервис команд |
| BuiltinCommandLoader.ts | Загрузчик встроенных команд |
| FileCommandLoader.ts | Загрузчик файловых команд |
| McpPromptLoader.ts | Загрузчик MCP промптов |
| markdown-command-parser.ts | Парсер markdown команд |
| command-factory.ts | Фабрика команд |
| command-migration-tool.ts | Инструмент миграции команд |
| prompt-processors/ | Процессоры промптов |
| Файл | Описание |
|——|———-|
| errors.ts | Ошибки |
| checks.ts | Проверки |
| cleanup.ts | Очистка |
| gitUtils.ts | Git утилиты |
| sandbox.ts | Песочница |
| processUtils.ts | Процессы |
| relaunch.ts | Перезапуск |
| updateCheck.ts | Проверка обновлений |
| version.ts | Версия |
| windowTitle.ts | Заголовок окна |
| Файл | Описание |
|——|———-|
| acp.ts | ACP протокол |
| acpAgent.ts | ACP агент |
| authMethods.ts | Методы аутентификации |
| errorCodes.ts | Коды ошибок |
| schema.ts | Схема ACP |
| session/ | Управление сессиями |
| service/ | Сервисы |
| Файл | Описание |
|——|———-|
| session.ts | Сессия |
| io/ | Ввод/вывод (JSON, Stream) |
| control/ | Управление |
| Файл | Описание |
|——|———-|
| index.ts | Экспорт |
| languages.ts | Языки |
| Файл | Описание |
|---|---|
src/index.ts |
Точка входа SDK |
src/query/Query.ts |
Класс Query для запросов |
src/query/createQuery.ts |
Создание Query |
src/mcp/ |
MCP для SDK |
src/transport/ProcessTransport.ts |
Транспорт процесса |
src/types/ |
Типы SDK |
src/utils/Stream.ts |
Потоковая обработка |
src/utils/logger.ts |
Логирование |
src/utils/validation.ts |
Валидация |
README.md |
Документация SDK |
| Файл | Описание |
|---|---|
src/index.ts |
Экспорт компонентов |
src/components/ChatViewer/ |
Просмотр чата |
src/components/layout/ |
Компоненты layout |
src/adapters/ |
Адаптеры (ACP, JSONL) |
src/context/ |
Контексты React |
src/hooks/ |
React хуки |
src/types/ |
Типы |
src/styles/ |
Стили |
vite.config.ts |
Конфигурация Vite |
| Файл | Описание |
|---|---|
index.ts |
Экспорт утилит |
| Файл | Описание |
|---|---|
test-helper.ts |
Хелперы для тестов |
test-mcp-server.ts |
Тестовый MCP сервер |
globalSetup.ts |
Глобальная настройка |
file-system.test.ts |
Тесты файловой системы |
edit.test.ts |
Тесты редактирования |
shell.test.ts |
Тесты shell |
web_search.test.ts |
Тесты веб-поиска |
memory.test.ts |
Тесты памяти |
todo_write.test.ts |
Тесты TODO |
task.test.ts |
Тесты субагентов |
mcp_server_cyclic_schema.test.ts |
Тесты MCP с циклическими схемами |
sdk-typescript/ |
Тесты SDK |
terminal-bench/ |
Benchmarks терминала |
terminal-capture/ |
Захват терминала |
concurrent-runner/ |
Параллельный запуск тестов |
vitest.config.ts |
Конфигурация Vitest |
| Файл | Описание |
|---|---|
pr-review/SKILL.md |
Skill для review PR |
terminal-capture/SKILL.md |
Skill для захвата терминала |
| Файл | Описание |
|---|---|
coverage-final.json |
Финальный отчёт покрытия |
coverage-summary.json |
Сводка покрытия |
lcov-report/ |
HTML отчёт lcov |
| Файл | Описание |
|---|---|
ollama/api-*.json |
Логи API запросов к Ollama |
packages/core/src/core/ollamaNativeClient.ts - Главный клиент для работы с Ollama APIpackages/core/src/tools/tools.ts - Регистрация всех инструментовpackages/cli/src/ui/App.tsx - Главное приложение CLIpackages/cli/src/ui/hooks/useOllamaStream.ts - Потоковая обработка.vscode/launch.json - Конфигурация отладки