gskaro-v1/.skaro/docs/completed-work.md

9.1 KiB
Raw Blame History

Завершённая работа

Конституция проекта

  • Язык: Go 1.25.6
  • Рамка: нет определённой рамки (голый Go)
  • База данных: Нет базы данных
  • Инфраструктура: Web сервер на Go

Кодинг Стандарты

  • Линтер: gofmt
  • Форматтер: gofmt
  • Название: ниже указанные конвенции
  • Максимальная длина функции: нет определённой максимальной длины
  • Максимальная вложенность: нет определённой максимальной вложенности

Тестирование

  • Минимальный порог покрытия: нет определённого минимума покрытия
  • Фреймворк: тесты написаны в Go, используется стандартная библиотека
  • Требования: тесты должны быть написаны для каждого функционала и проверить все важные сценарии

Ограничения

  • Не использовать секреты в коде (хранить их в .skaro/secrets.yaml)
  • Не использовать неинициализированные переменные
  • Не использовать глобальные переменные, если это возможно
  • Не использовать устаревшие функции и пакеты

Безопасность

  • Авторизация: нет авторизации в коде (доступ к API ограничен по IP)
  • Валидация ввода: проверяется валидность данных перед обработкой
  • Секреты: хранятся в .skaro/secrets.yaml

Правила для работы с LLM

  • Не оставлять пустые stubs без явного TODO с обоснованием
  • Не копировать код: предпочитать реюза и чистую абстракцию
  • Не делать неявные допущения — если не уверен, спрашивать
  • Всегда генерировать AI_NOTES.md по шаблону
  • Следовать кодинг стилю описанному выше

Архитектура проекта

Обзор

Монолитная архитектура.

Компоненты

  • cmd/gskaro — основной модуль, содержит главный файл main.go, отвечающий за запуск сервера.
  • internal/llm — пакет, содержащий модели, состояния и потоков для работы с LLM (Language Learning Machine).
  • internal/server — пакет, содержащий серверный код, включая обработчики и сервер.
  • internal/server/web — подпакет, содержащий HTML файлы и Go-код для работы с веб-интерфейсом.

Данные хранения

Не используется база данных.

Связь

Используется REST (Web сервер на Go).

Инфраструктура

Не обнаружено конкретной инфраструктуры, но присутствуют скрипты build.bat, init-gskaro.bat и start-gskaro.bat.

Внешние интеграции

Нет обнаруженных внешних интеграций третьих услуг или API.

Безопасность

  • Авторизация отсутствует, доступ к API ограничен по IP.
  • Валидация ввода происходит перед обработкой.
  • Секреты хранятся в .skaro/secrets.yaml.

Известные торговые компромиссы

Не обнаружено явных торговых компромиссов, но присутствует отсутствие авторизации и использование монолитной архитектуры.

Структура репозитория

.git/
.gitignore
.skaro/
.skaroignore
build.bat
cmd/
cmd/gskaro/
cmd/gskaro/main.go
go.mod
init-gskaro.bat
internal/
internal/llm/
internal/llm/models.go
internal/llm/state.go
internal/llm/stream.go
internal/server/
internal/server/handlers_llm.go
internal/server/server.go
internal/server/web/
internal/server/web/index.html
internal/server/web_static.go
README.md
start-gskaro.bat

Источники файлов

# ── Skaro (auto-generated, do not remove this marker) ──
# This section is managed by `skaro init`. Do NOT delete it.
# You may add your own rules below the closing marker.
#
# Secrets — API keys, never commit!
.skaro/secrets.yaml

# Usage tracking — local stats, not project artifacts
.skaro/token_usage.yaml
.skaro/usage_log.jsonl
# ── /Skaro ─────────────────────────────────────────────
# .skaroignore — файлы исключенные от LLM анализа во время `skaro init`
# Синтаксис идентичен .gitignore.
# Добавьте пути, содержащие чувствительную, приватную или неактуальную информацию.
#
# ── Секреты & кредиентали ──────────────────────────────
.env
.env.*
!.env.example
*.pem
*.key
*.p12
*.pfx
secrets.*
credentials.*
*_secret*
*_credentials*
# ── Частные данные & дампы ───────────────────────────────
*.sql
*.dump
*.db
*.sqlite
*.sqlite3
data/
datasets/
fixtures/private/
# ── Генерированные & вендированные ──────────────────────
vendor/
third_party/
generated/
auto_generated/
# ── Крупные ассеты ───────────────────────────────────────
assets/
media/
uploads/
storage/
go build -o gskaro-v1.exe ./cmd/gskaro

pause
package main

import "gskaro-v1/internal/server"

func main() {
	server.Start()
}

module gskaro-v1

go 1.25.6

gskaro-v1.exe init

pause


init

Функциональная область LLM Console

  • LLM консоль: веб-интерфейс для работы с моделями языкового обучения машин (LLM) (internal/server/web/index.html, internal/server/handlers_llm.go)
    • Статус: complete
    • Детали: позволяет выбирать модель, вводить запросы и просматривать результаты работы модели

Функциональная область LLM Models

  • LLM Модели: список доступных моделей языкового обучения машин (internal/llm/models.go, internal/server/handlers_llm.go)
    • Статус: complete
    • Детали: позволяет выбирать модель для работы с LLM Console

Функциональная область LLM History

  • История LLM: просмотр истории запросов и ответов модели (internal/llm/state.go, internal/server/handlers_llm.go)
    • Статус: complete
    • Детали: позволяет просматривать историю работы модели с LLM Console

Функциональная область LLM Streaming

  • Стриминг ответов: получение результатов работы модели по частям (internal/llm/stream.go, internal/server/handlers_llm.go)
    • Статус: complete
    • Детали: используется для обработки длинных ответов модели

Функциональная область Web Server

  • Web сервер: веб-сервер на Go, обеспечивающий доступ к LLM Console и другим функционалам (internal/server/server.go, internal/server/web_static.go)
    • Статус: complete
    • Детали: позволяет запустить веб-сервер с различными ресурсами, включая HTML и Go код для LLM Console

Функциональная область Build Scripts

  • Скрипты сборки: скрипты для сборки и запуска проекта (build.bat, init-gskaro.bat, start-gskaro.bat)
    • Статус: complete
    • Детали: позволяют собрать и запустить веб-сервер на Windows