- Add SkillService: scans data/skills/ directory, parses _meta.json and SKILL.md frontmatter - Add SkillEndpoint: REST API for listing skills and managing agent-skill assignments - Add agent_skills DB table for agent-to-skill mapping (only relation in DB, skills live on filesystem) - Extend SystemPromptBuilder: inject assigned skills' SKILL.md content into system prompt - Extend ChatEndpoint + SessionEndpoint: load agent skills and pass to prompt builder - Frontend: skill checkboxes in agent form, API functions for skill management - Add form.css styling for skill list items
34 lines
976 B
C#
34 lines
976 B
C#
using System;
|
|
using System.IO;
|
|
using Gott.Endpoints;
|
|
using Gott.Services;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
var builder = WebApplication.CreateBuilder(args);
|
|
builder.Services.AddHttpClient();
|
|
|
|
var dataDir = Path.Combine(AppContext.BaseDirectory, "data");
|
|
|
|
builder.Services.AddSingleton(new ToolService());
|
|
builder.Services.AddSingleton(new ImageService());
|
|
builder.Services.AddSingleton(new StreamingTracker());
|
|
builder.Services.AddSingleton(new MemoryService(dataDir));
|
|
builder.Services.AddSingleton(new SkillService(dataDir));
|
|
builder.Services.AddSingleton(new DatabaseService(Path.Combine(dataDir, "gott.db")));
|
|
|
|
var app = builder.Build();
|
|
app.UseDefaultFiles();
|
|
app.UseStaticFiles();
|
|
|
|
app.MapChatEndpoint();
|
|
app.MapHistoryEndpoint();
|
|
app.MapSessionEndpoints();
|
|
app.MapAgentEndpoints();
|
|
app.MapWorkspaceEndpoint();
|
|
app.MapInfoEndpoint();
|
|
app.MapBackupEndpoint();
|
|
app.MapSkillEndpoints();
|
|
|
|
app.Run("http://0.0.0.0:19000");
|