feat: add settings to chose timzone and add markdown readability on main page

This commit is contained in:
2026-04-20 08:22:47 +02:00
parent 71513ea62c
commit 8a0edc3d59
7 changed files with 87 additions and 16 deletions

View File

@ -116,10 +116,12 @@ func (p *Pipeline) GenerateForUser(ctx context.Context, userID string) (*models.
systemPrompt = DefaultSystemPrompt
}
tz, _ := p.repo.GetSetting("timezone")
// Passe 2 : résumé complet
fmt.Printf("[pipeline] Passe 2 — résumé : génération sur %d articles…\n", len(articles))
t2 := time.Now()
prompt := buildPrompt(systemPrompt, symbols, articles)
prompt := buildPrompt(systemPrompt, symbols, articles, tz)
summary, err := provider.Summarize(ctx, prompt)
if err != nil {
return nil, fmt.Errorf("AI summarize: %w", err)
@ -266,7 +268,7 @@ func (p *Pipeline) callProviderForReport(ctx context.Context, excerpt, question
return provider.Summarize(ctx, prompt)
}
func buildPrompt(systemPrompt string, symbols []string, articles []models.Article) string {
func buildPrompt(systemPrompt string, symbols []string, articles []models.Article, tz string) string {
var sb strings.Builder
sb.WriteString(systemPrompt)
sb.WriteString("\n\n")
@ -275,7 +277,11 @@ func buildPrompt(systemPrompt string, symbols []string, articles []models.Articl
sb.WriteString(strings.Join(symbols, ", "))
sb.WriteString(".\n\n")
}
sb.WriteString(fmt.Sprintf("Date d'analyse : %s\n\n", time.Now().Format("02/01/2006 15:04")))
loc, err := time.LoadLocation(tz)
if err != nil || tz == "" {
loc = time.UTC
}
sb.WriteString(fmt.Sprintf("Date d'analyse : %s\n\n", time.Now().In(loc).Format("02/01/2006 15:04")))
sb.WriteString("/think\n\n")
sb.WriteString("## Actualités\n\n")