Teleprompter
Um servidor para gerenciar e reutilizar prompts com Modelos de Linguagem de Grande Escala (LLMs).
Documentação
Teleprompter
Um servidor MCP que gerencia e expõe ferramentas para permitir a reutilização de prompts com LLMs.
Sumário
- Recursos
- Configuração do MCP
- Exemplos de Uso
- Variáveis de Ambiente
- Testes
- Contribuição
- Licença
- Agradecimentos
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}.mdno 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
-
Use IDs descritivos: Escolha IDs de prompt que indiquem claramente seu propósito (ex.:
meeting-notes,code-review-checklist) -
Inclua variáveis úteis: Use
{{variable_name}}para conteúdo dinâmico que muda cada vez que você usa o prompt -
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.jsone.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