Teleprompter

Um servidor para gerenciar e reutilizar prompts com Modelos de Linguagem de Grande Escala (LLMs).

Documentação

Teleprompter

Teleprompter Logo

Um servidor MCP que gerencia e expõe ferramentas para permitir a reutilização de prompts com LLMs.


Sumário


Recursos

  • Armazenamento e Reutilização de Prompts: Armazene, pesquise e recupere modelos de prompts para LLMs.
  • Servidor MCP: Expõe ferramentas de prompt via Model Context Protocol (MCP).
  • Variáveis de Prompt: Suporta variáveis de modelo (ex.: {{name}}) para geração dinâmica de prompts.
  • Pesquisa: Pesquisa rápida de texto completo sobre prompts armazenados usando MiniSearch.
  • TypeScript: Base de código moderna e type-safe.
  • Testes Extensivos: Inclui testes unitários e de integração com Vitest.

Configuração do MCP

Para usar o Teleprompter com seu cliente LLM, adicione esta configuração:

{
  "mcpServers": {
    "teleprompter": {
      "command": "npx",
      "args": ["-y", "mcp-teleprompter"],
      "env": {
        "PROMPT_STORAGE_PATH": "/path/to/your/prompts-directory"
      }
    }
  }
}

Nota: Substitua /path/to/your/prompts-directory pelo caminho absoluto onde você deseja armazenar os prompts.


Exemplos de Uso

Depois de configurado, você pode usar o Teleprompter com seu LLM usando tags de prompt em suas conversas. Aqui está um exemplo detalhado que mostra como ele resolve o problema de repetir instruções complexas:

🎵 Descoberta de Música no Spotify

O Problema: Toda vez que você quer recomendações de música, precisa lembrar seu LLM de todas as suas preferências e restrições:

  • "Não sugira músicas que já tenho nas minhas playlists"
  • "Evite letras explícitas"
  • "Adicione músicas à minha fila para revisão, não diretamente às playlists"
  • "Foque em descobrir novos artistas, não apenas sucessos populares"
  • "Considere minha atividade e humor atuais"
  • "Forneça breves explicações sobre por que cada música se encaixa"

A Solução: Crie um prompt que capture todas essas instruções de uma vez.

Criando o prompt: Pergunte ao seu LLM: "Crie um prompt chamado 'spotify-discover' que me ajude a encontrar novas músicas com todas as minhas preferências específicas e requisitos de fluxo de trabalho."

Isso cria um modelo abrangente como:

I'm looking for music recommendations for Spotify based on:

**Current mood:** {{mood}}
**Activity/setting:** {{activity}}
**Preferred genres:** {{genres}}
**Recent artists I've enjoyed:** {{recent_artists}}

**Important constraints:**
- DO NOT suggest songs I already have in my existing playlists
- Avoid explicit lyrics (clean versions only)
- Focus on discovering new/lesser-known artists, not just popular hits
- Provide 5-7 song recommendations maximum

**Workflow:**
- Add recommendations to my Spotify queue (not directly to playlists)
- I'll review and save the ones I like to appropriate playlists later

**For each recommendation, include:**
- Artist and song name
- Brief explanation (1-2 sentences) of why it fits my current mood/activity
- Similar artists I might also enjoy

Please help me discover music that matches this vibe while following these preferences.

Usando:

>> spotify-discover

Agora você só preenche seu humor e atividade atuais e recebe recomendações perfeitamente adaptadas que seguem todas as suas regras—sem precisar repetir suas restrições toda vez.

🔄 Outros Casos de Uso Comuns

📋 Gerenciamento de Tickets de Trabalho

  • Crie prompts para formatação de tickets JIRA/Linear com os requisitos específicos do seu time
  • Inclua campos padrão, níveis de prioridade, modelos de critérios de aceitação
  • Evite repetir os padrões de tickets da sua empresa toda vez

📧 Modelos de E-mail

  • Respostas de suporte ao cliente com o tom da sua empresa e avisos legais necessários
  • Sequências de acompanhamento que correspondem ao seu estilo de comunicação
  • Inclusão automática de assinaturas, links e informações padrão

📝 Diretrizes de Revisão de Código

  • Checklists de revisão técnica com os padrões específicos do seu time
  • Considerações de segurança e critérios de desempenho
  • Requisitos de documentação e expectativas de teste

O ponto em comum: pare de se repetir. Se você perceber que está dando as mesmas instruções detalhadas ao seu LLM repetidamente, crie um prompt para isso.

🔍 Descobrindo Prompts Existentes

Você pode pesquisar em sua biblioteca de prompts:

Can you search my prompts for "productivity" or "task management"?

Ou listar todos os prompts disponíveis:

What prompts do I have available?

✏️ Edição Manual

Os prompts são armazenados como arquivos markdown simples no diretório PROMPT_STORAGE_PATH. Você também pode criá-los e editá-los diretamente com seu editor de texto favorito:

  • Cada prompt é salvo como {id}.md no seu diretório de prompts
  • Use a sintaxe {{variable_name}} para variáveis de modelo
  • A formatação padrão de markdown é suportada
  • Alterações em arquivos são detectadas automaticamente pelo servidor

💡 Melhores Práticas

  1. Use IDs descritivos: Escolha IDs de prompt que indiquem claramente seu propósito (ex.: meeting-notes, code-review-checklist)

  2. Inclua variáveis úteis: Use {{variable_name}} para conteúdo dinâmico que muda cada vez que você usa o prompt

  3. Organize por categoria: Considere usar prefixos como task-, content-, analysis- para agrupar prompts relacionados

Testes

Execute todos os testes:

npm test

Execute testes com cobertura:

npm run test:coverage

Os testes são escritos com Vitest. Os relatórios de cobertura são gerados no diretório coverage/.


Contribuição

Contribuições são bem-vindas! Por favor:

  • Siga o estilo de código existente (veja .prettierrc.json e .eslintrc.mjs).
  • Adicione testes para novos recursos ou correções de bugs.

Licença

Este projeto é licenciado sob a Licença MIT. Veja LICENSE para detalhes.


Agradecimentos


Feito com ❤️ por John Anderson