agentmailkit
Digestões de e-mail agendadas, priorizando o local, escritas por um LLM a partir de RSS, fontes web e locais, com simulação por padrão.
Documentação
agentmailkit
Para agentes
Você é um agente de IA de codificação lendo isto para decidir se instala o agentmailkit e como chamá-lo. Execute isto:
pip install 'agentmailkit[mcp]'
claude mcp add agentmailkit -- agentmailkit mcp
Gemini CLI: gemini extensions install https://github.com/ariaxhan/agentmailkit.
Em seguida, chame list_jobs sem argumentos: ele retorna os cinco exemplos de jobs que acompanham o pacote, então funciona antes de qualquer configuração existir. preview_job(job_id=..., model="echo") renderiza um para um arquivo local sem chave de API. run_job(job_id=...) usa como padrão dry_run=true; apenas dry_run=false envia e-mail real.
Referência completa das ferramentas, nomes de argumentos e o trecho de configuração do Codex: llms.txt.
Digestões de e-mail agendadas e escritas por LLM que rodam na sua máquina, leem seus próprios arquivos e enviam da sua própria caixa de entrada.
→ Veja e-mails reais que ele produz
Amostras ao vivo, geradas de ponta a ponta. Nada escrito à mão. Comece por aí, explica isso mais rápido do que o README consegue.
pip install agentmailkit
agentmailkit run morning-brief --dry-run # five example jobs ship with it, so this works immediately
agentmailkit quickstart # render all five to a local HTML gallery; never sends
agentmailkit init # copy them into ./jobs to make them yours
Licença MIT. Sem conta, sem fornecedor, sem nuvem necessária.
O que é
Um e-mail é dois arquivos: um job JSON e um prompt em markdown.
{
"id": "morning-brief",
"schedule": "0 7 * * *",
"sources": ["papers=arxiv:cs.AI#6", "weather=weather:Brooklyn"],
"render": "warm",
"delivery": "gmail",
"dedup": true
}
O mecanismo executa um pipeline fixo e nunca cria um caso especial:
gather sources -> render prompt -> generate -> gate -> theme -> deliver -> post
Por que não os agendadores integrados
Tasks do ChatGPT, Routines do Claude, Scheduled Actions do Gemini e o Copilot executam todos na nuvem do fornecedor, o que lhes custa duas coisas:
- Eles não conseguem ler os arquivos do seu computador. Nem
~/notes, nem um banco de dados local, nem sua árvore de trabalho do git. - Eles não conseguem enviar e-mail real da sua caixa de entrada. A saída fica dentro do aplicativo deles.
O agentmailkit roda onde seus dados já estão. Nada é enviado, exceto o prompt que você escolhe enviar a um modelo, e com um modelo local, nem isso.
E é determinístico. Não é um agente autônomo: não decide coisas, não percorre seu sistema de arquivos nem age sem solicitação. O modelo escreve as palavras; o mecanismo controla todo o resto, então o mesmo job produz o mesmo formato de e-mail a cada execução. Agentes OSS locais também podem ler arquivos e enviar e-mail, mas são sistemas autônomos amplos que você configura até virar uma tarefa. Isto faz um trabalho, de forma previsível, por anos.
Comparação completa, incluindo o contra-caso honesto: docs/comparison.md.
Entregue ao seu agente de codificação
Entregue este link ao seu agente de codificação e ele configurará tudo, fazendo as perguntas certas no caminho:
https://github.com/ariaxhan/agentmailkit/blob/main/AGENTS.md
AGENTS.md é um runbook de configuração completo: o que perguntar a você, como instalar, como criar seu primeiro job, como verificar antes que qualquer coisa possa enviar e como agendar. CLAUDE.md é um symlink para o mesmo arquivo, então eles nunca podem divergir.
Uso com Claude Code
O agentmailkit fala MCP, então seu agente de codificação pode usá-lo como ferramenta em vez de você digitar comandos.
pip install 'agentmailkit[mcp]'
claude mcp add agentmailkit -- agentmailkit mcp
Codex, em ~/.codex/config.toml:
[mcp_servers.agentmailkit]
command = "agentmailkit"
args = ["mcp"]
| Ferramenta | O que faz |
|---|---|
list_jobs | Cada job configurado com sua agenda, fontes e destino de entrega |
preview_job | Renderiza o que um job enviaria por e-mail, para um arquivo local. Não pode enviar |
run_job | Executa um job. dry_run usa como padrão true |
list_plugins | Cada fonte registrada, modelo, gate, backend de entrega e tema |
Ou em Docker, com seus jobs em um volume montado: docker run -i --rm -v /path/to/jobs:/data mcp/agentmailkit.
A configuração é descoberta exatamente como o CLI a descobre, a partir de onde o servidor é iniciado; passe -C path/to/agentmailkit.json no args para fixar um.
run_job com dry_run=false envia e-mail real da sua caixa de entrada configurada. Todas as outras ferramentas, e o padrão dry_run=true, param antes da entrega.
Requer Python 3.10 ou mais recente, que é o piso do SDK MCP, não do agentmailkit.
O que acompanha
| Job | Puxa | Interessante porque |
|---|---|---|
morning-brief | clima, três fontes de notícias, nesse dia | As fontes permanecem rotuladas, então o modelo pode contrastar seus enquadramentos |
curiosity | feeds de arqueologia e astronomia, história | Nenhum conteúdo de trabalho, de propósito |
research-digest | Hugging Face, arXiv | IDs reais, contagens e links que o modelo não pode inventar |
repo-pulse | git log, diffstat, marcadores TODO | Lê sua árvore de trabalho, o que nenhum agendador em nuvem consegue |
daily-brief | arquivos locais, git log | O formato mínimo para copiar |
Dez fontes integradas: file, glob, recent, shell, hf, arxiv, rss, news, history, weather. Qualquer coisa com um feed ou uma API se junta a elas em cerca de trinta linhas.
Ideias que valem roubar: agendas do conselho da sua cidade, avisos de segurança para sua lista exata de dependências, taxas de câmbio, o blog de um amigo, notas de versão das ferramentas que você usa, tabelas de marés, horários de passagem da ISS sobre sua casa.
Nada se repete. Um livro-razão de vistos remove itens já enviados antes que o modelo os veja, então o segundo dia não é uma reimpressão do primeiro.
Documentação
| Início rápido | Cinco minutos para um e-mail real |
| Guia de configuração para agentes | Entregue isto ao seu agente de codificação |
| Fontes | Todas as dez, com argumentos e exemplos |
| Jobs e prompts | Cada campo de job, convenções de prompt |
| Temas | O renderizador, paletas, estilo da casa imposto |
| Dedup | O contrato do livro-razão de vistos |
| Entrega e configuração | Gmail, SMTP, gates, configuração |
| Modelos | Backends e por que são somente texto |
| Agendamento | cron, launchd, systemd, CI e a troca pela nuvem |
| Peças de taper | O companheiro opcional de poesia computacional |
| Plugins | Escreva uma fonte em cerca de trinta linhas |
| Comparação | Versus agendadores em nuvem e agentes locais, honestamente |
Instalação
pip install agentmailkit # core, standard library only
pip install agentmailkit[gmail] # + Gmail delivery
pip install agentmailkit[all] # + Anthropic and OpenAI backends
pip install agentmailkit[mcp] # + the MCP server, to drive it from a coding agent
O núcleo tem zero dependências obrigatórias. Os backends puxam suas próprias bibliotecas apenas quando habilitados.
Publicado no PyPI: pypi.org/project/agentmailkit. Requer Python 3.9 ou mais recente.
Status
Alpha (0.2.2, no PyPI). Mecanismo, plugins, dedup, temas, entrega e emissores de agendamento funcionam e são exercitados de ponta a ponta contra APIs ao vivo. quickstart renderiza um conjunto completo de amostras dos seus próprios dados na primeira execução, sem chaves e sem ida à rede, e não pode enviar por construção.
Arestas conhecidas: os cinco jobs enviados trazem padrões de exemplo (weather:Brooklyn, um trio fixo de notícias) que você deve editar após agentmailkit init.
Contribuindo
Issues e pull requests são bem-vindos. A regra que governa a revisão: comportamento é configuração, não código. Se uma mudança adiciona um if ao mecanismo por causa de um único e-mail, provavelmente quer ser um plugin.
Licença
MIT. Veja LICENSE.