Это базовый шаблон модуля для расширения Modular KB с архитектурой Detached-Core.
base-module.zip
├─ lib/Module.Base.dll (скомпилированный модуль)
├─ module.json (метаданные модуля)
└─ README.md (документация)
{
"id": "base-module",
"version": "1.0.0",
"entryType": "BaseModule.Module, BaseModule"
}public interface IKbModule
{
void Configure(IServiceCollection services, IMcpRegistry mcpRegistry);
}public class BaseModule : IKbModule
{
public void Configure(IServiceCollection services, IMcpRegistry mcpRegistry)
{
// Регистрация сервисов
services.AddScoped<IContextService, ContextService>();
// Регистрация MCP-инструментов
mcpRegistry.RegisterTool("kb_getContext", typeof(GetContextTool));
// Регистрация фоновых сервисов
services.AddHostedService<BackgroundWorker>();
}
}Этот проект является базовым шаблоном для создания модулей расширения Modular KB Extension. Используйте его как основу для разработки собственных модулей, которые будут загружаться в основное расширение.
Существует два способа установки этого модуля:
- Скачайте или клонируйте этот репозиторий
- Соберите модуль с помощью команды
npm install && npm run build - В VS Code выполните команду "Modular KB: Load External Module"
- Выберите директорию с этим модулем
Если в основном расширении реализован механизм загрузки модулей из репозитория, вы можете просто указать URL этого репозитория в настройках расширения.
Этот модуль добавляет команду "Modular KB: External Module Action", которая показывает информационное сообщение о том, что внешний модуль успешно выполнил действие.
Для создания нового модуля на основе этого шаблона:
- Скопируйте этот шаблон в новую директорию и переименуйте его в соответствии с назначением вашего модуля
- Измените информацию в
package.json(имя, версия, описание) - Модифицируйте класс в
src/index.ts, реализующий интерфейсIModule - Добавьте свою функциональность в методы
initialize()иactivate() - Соберите модуль с помощью команды
npm install && npm run build - Заархивируйте модуль и поместите его в папку
modules-buildосновного расширения
После этого ваш модуль будет автоматически загружен при следующем запуске VS Code или при вызове команды "Загрузить новые модули".
external-module/
├── dist/ # Скомпилированные файлы
├── src/ # Исходный код
│ ├── interfaces/ # Интерфейсы, скопированные из основного расширения
│ ├── ExternalModule.ts # Реализация модуля
│ └── index.ts # Точка входа
├── package.json # Описание пакета
└── tsconfig.json # Конфигурация TypeScript