Genera notas de versión a partir de commits de git con IA
Un agente convierte una lista de commits en notas de versión para clientes, agrupadas y con los cambios incompatibles destacados primero.
- Archivos
- Límite de presupuesto
Mira una ejecución real
Una ejecución real del 7 oct 2026, reproducida. Modelo: openai/gpt-6-luna.
- En colapresupuesto de $0.03 reservado
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- Archivo
read commits.txt - MicroVMmicroVM destroyed
- Completada2 llamadas al modelo, 2,265 tokensResultado grabado (en inglés)
Breaking changes
- Update
/v1/runsrequests to usemax_cost_microsinstead oflimit; the old field is no longer supported.
New
- Schedule email delivery for saved reports.
- Use dark mode on the dashboard.
- View invoices on a dedicated page linked from Settings.
Improved
- Large report CSV exports stream to avoid timing out.
- Dashboard summary queries are cached for 60 seconds.
Fixed
- Users stay signed in after resetting their password.
- An error is shown when an Excel row cannot be parsed.
- Opening an empty report on mobile no longer crashes.
- Update
- Worker destruido$0.002963 cobrados, $0.027037 liberados
Ejecútalo tú mismo
Abre el ejemplo en el playground con la solicitud completa ya rellenada. Se ejecuta en tu propia cuenta, dentro del presupuesto indicado, contra los mismos sistemas de ejemplo de solo lectura.
Presupuesto de este ejemplo: $0.03
Cómo funciona
Pega la salida de git log y obtén notas escritas para clientes en lugar de desarrolladores: se omiten las tareas internas y los cambios incompatibles van primero, con lo que hay que hacer al respecto. Los commits son un archivo de solo lectura, así que no hace falta acceso al repositorio.
Lo que el agente puede y no puede hacer
Los permisos forman parte de la solicitud. Todo lo que no figura aquí no está disponible para la ejecución.
| Ajuste | Permitido |
|---|---|
| Conexiones | Ninguna |
| Web | Desactivado |
| Shell | Desactivado |
| Archivos | commits.txt (solo lectura) |
| Retención cero de datos | Desactivada: el registro se conserva 30 días |
| Presupuesto | $0.03, límite estricto |
| Tiempo límite | 60 segundos |
Las credenciales nunca entran en la máquina: un broker las añade a cada llamada y aplica los métodos indicados arriba.
El código
Esta es la solicitud exacta que envía el ejemplo. Define EPHEMERAL_API_KEY con una clave de miembro de tu organización.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.jsonArchivos de la solicitud
Se pasan en línea, así que no hay que subir nada antes. El agente ve cada uno como un archivo de solo lectura.
commits.txt
a1f3c9e feat(reports): add scheduled email delivery for saved reports
b72d0aa fix(export): stream CSV exports so large reports no longer time out
c9e4d11 chore(deps): bump eslint to 9.12
d03a6be feat(api)!: rename /v1/runs field "limit" to "max_cost_micros" (old name removed)
e5b1f72 fix(auth): keep users signed in after a password reset
f8c0a34 docs: clarify webhook signature verification
0a9d7be refactor(db): move report queries into their own module
1b2c3d4 feat(ui): dark mode for the dashboard
2c3d4e5 fix(import): show an error when an Excel row cannot be parsed
3d4e5f6 test: add integration tests for billing proration
4e5f607 fix(mobile): prevent crash when opening an empty report
5f60718 perf(dashboard): cache the summary query for 60 seconds
6071829 ci: speed up the build with a dependency cache
718293a feat(billing): show invoices on a dedicated page linked from Settings
Cuerpo completo de la solicitud request.json
El mismo cuerpo, con los archivos en línea.
{
"prompt": "commits.txt lists the commits of the next release (hash, then a conventional-commit message; '!' marks a breaking change). Write release notes for customers in Markdown, at most 200 words. First a 'Breaking changes' section with what a customer must change (omit it if none), then 'New', 'Improved' and 'Fixed'. Leave out chores, tests, CI, docs-only and refactor commits. Write in plain language, one line per change, no hashes. Use only what the messages say and never invent details.",
"files": [
{
"path": "commits.txt",
"content": "a1f3c9e feat(reports): add scheduled email delivery for saved reports\nb72d0aa fix(export): stream CSV exports so large reports no longer time out\nc9e4d11 chore(deps): bump eslint to 9.12\nd03a6be feat(api)!: rename /v1/runs field \"limit\" to \"max_cost_micros\" (old name removed)\ne5b1f72 fix(auth): keep users signed in after a password reset\nf8c0a34 docs: clarify webhook signature verification\n0a9d7be refactor(db): move report queries into their own module\n1b2c3d4 feat(ui): dark mode for the dashboard\n2c3d4e5 fix(import): show an error when an Excel row cannot be parsed\n3d4e5f6 test: add integration tests for billing proration\n4e5f607 fix(mobile): prevent crash when opening an empty report\n5f60718 perf(dashboard): cache the summary query for 60 seconds\n6071829 ci: speed up the build with a dependency cache\n718293a feat(billing): show invoices on a dedicated page linked from Settings\n"
}
],
"shell": false,
"timeout_seconds": 60,
"max_cost_micros": 30000
}