Repository navigation
feat: добавить поддержку GitHub Copilot Chat агента #166
Copy link
Copy link
Closed
Description
Summary
GitHub Copilot Chat (расширение VS Code) хранит историю разговоров локально в workspaceStorage/*/chatSessions/ в формате JSON и JSONL. Эти данные можно загружать и отображать в CodeDash наравне с остальными агентами.
Предлагается добавить Copilot как 6-й поддерживаемый агент: обнаружение сессий, детальный просмотр, поиск, leaderboard, полная интеграция в UI.
Почему это нужно
Copilot Chat — один из самых распространённых AI-агентов в VS Code. Многие разработчики используют его параллельно с Claude Code / Codex / Cursor. Без поддержки Copilot дашборд показывает неполную картину активности.
Что нужно реализовать
Backend (src/data.js)
- Константы путей VS Code storage:
%APPDATA%/Code(Windows),~/Library/Application Support/Code(macOS),~/.config/Code(Linux) - Маппинг workspace-hash → проект через
workspace.json(декодирование file URI, нормализация Windows-путей), с дисковым кэшем - Поддержка двух форматов хранения:
- JSON — полное состояние сессии как один объект
- JSONL — mutation log (kind:0 init, kind:1 set, kind:2 splice), нужен целевой replay для извлечения requests и responses
- Оптимизация парсинга: пропуск нерелевантных JSONL-мутаций (inputState, image byte-array вложения) до
JSON.parse— файлы бывают 200+ МБ - Дисковый кэш метаданных сессий по ключу
path|mtime|size - Обработка формата Copilot в
_computeSessionDailyBreakdown()для корректной работы leaderboard computeSessionCost()→ пустая стоимость (Copilot не хранит данные о токенах локально, как Cursor/Kiro)
Frontend
- Sidebar фильтр с иконкой и
data-view="copilot-only" - CSS класс
.tool-copilot(фиолетовый#8b6fc0) - Calendar toggle, analytics label, heatmap color,
AGENT_INSTALLentry
Документация
- Обновить таблицы агентов и data sources в README.md, CLAUDE.md, ARCHITECTURE.md, README_RU.md, README_ZH.md
Критерии приёмки
- Copilot сессии отображаются в списке с фиолетовым бейджем
- Фильтр "Copilot" в сайдбаре работает корректно
- Клик по сессии — detail panel с user/assistant сообщениями
- Leaderboard загружается без зависаний при наличии больших Copilot-файлов
- Analytics и heatmap учитывают Copilot с корректным цветом/меткой
- На машине без VS Code — 0 Copilot сессий, без ошибок
- Обратная совместимость: существующие агенты работают как прежде
Известные ограничения
- Стоимость недоступна — Copilot не хранит usage-данные локально
- Active session detection не поддерживается — Copilot работает внутри VS Code, не как отдельный процесс
- Вариант
Code - Insidersпока не сканируется
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
MaxRyabov commentedon Apr 10, 2026
Привет! У меня готова реализация этой фичи — ветка
feat/copilot-agent, 6 коммитов, 12 файлов, +503 строки.Протестировано локально на реальных данных VS Code (319 сессий, 50+ проектов):
PR: #171
ABIvan-Tech commentedon Apr 10, 2026
на Маках сессии хранятся тут .copiolt/session-state для copilot cli в том числе
MaxRyabov commentedon Apr 10, 2026
Связь с PR #167 (Copilot CLI)
Изучил PR #167 от @ABIvan-Tech — он добавляет поддержку Copilot CLI (терминальный агент,
~/.copilot/session-state/), а моя реализация покрывает Copilot Chat (расширение VS Code,workspaceStorage/*/chatSessions/).Это два разных агента с разными форматами хранения:
~/.copilot/session-state/{uuid}/events.jsonl+workspace.yamlworkspaceStorage/*/chatSessions/*.jsonи*.jsonluser.message,assistant.turn_start/message/turn_end)workspace.json(folder URI)~/.copilot/jb/(partition-1.jsonl)inuse.{pid}.lockфайлыЧтобы избежать конфликта по
toolname, переименовал агент вcopilot-chat— PR #167 используетcopilotдля CLI, я используюcopilot-chatдля VS Code. Реализации дополняют друг друга и не конфликтуют по коду.PR: #171
vakovalskii commentedon Apr 16, 2026
PR #171 (Copilot Chat) waiting for rebase.