v0.7.0.es.md
docs/i18n/release-notes/v0.7.0.es.md
Tesserae v0.7.0 — tesserae ask responde sin una clave de API
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Français · Deutsch
<!-- translations:end -->
Fecha de publicación 2026-06-10 · PyPI · GitHub release · pip install --upgrade tesserae==0.7.0
tesserae ask ahora sintetiza respuestas reales sobre la CLI en la que ya has iniciado sesión —sin necesidad de ANTHROPIC_API_KEY— y rota entre todas las cuentas de tu máquina, de modo que un límite de tasa nunca lo detiene. Además, dos correcciones que hacen que las sesiones sobre las que preguntas sean buscables, y una compilación que ya no se aborta.
1. tesserae ask sintetiza sobre la CLI de claude/codex — sin clave de API
Antes, tesserae ask solo podía redactar una respuesta a través del SDK de Anthropic, que necesita ANTHROPIC_API_KEY. Si usas la configuración habitual —con sesión iniciada en la CLI de claude o codex mediante OAuth— ask se degradaba silenciosamente a resultados de búsqueda en bruto con (no LLM answer: LLM disabled).
Ahora la ruta de respuesta reutiliza los mismos clientes OAuth que ya emplean los extractores de JSON. tesserae ask --llm "<question>" (o TESSERAE_QUERY_LLM=1) sintetiza una respuesta con citas con cero claves de API — exactamente la promesa de «sin clave» que hace el resto del motor.
2. Rota entre todas las cuentas de la máquina
Los clientes de la CLI ya descubren automáticamente cada directorio de configuración ~/.claude* y cada home ~/.codex*. v0.7.0 hace que ask lo aproveche —y lo encadena entre proveedores: una pregunta solo se rinde una vez que todas las cuentas se han agotado.
En la práctica: con todas tus cuentas de Claude en su límite de Sonnet/semanal, un tesserae ask --llm real rota entre ellas, luego cae a Codex y responde (model=cli-oauth) — sin clave, sin cambio manual de cuenta. Una cuenta con límite de tasa alcanzado o con sesión cerrada se omite, no es fatal.
3. Corrección: los títulos de sesión ya no colapsan en el preámbulo del harness
Codex antepone # AGENTS.md instructions for <path> a cada transcripción, de modo que la heurística del título de sesión tomaba eso como el título de todas las sesiones — y la búsqueda por palabras clave devolvía un muro de texto repetitivo indistinguible con puntuaciones idénticas. Los títulos ahora omiten el preámbulo inyectado de AGENTS/CLAUDE/GEMINI.md (y las envolturas del sistema) y provienen de tu primera instrucción real; ask vuelve a devolver resultados distintos y relevantes.
Dos correcciones menores de ask viajan de la mano: la compuerta del LLM (--llm / TESSERAE_QUERY_LLM) se respeta en la ruta de búsqueda del wiki (antes estaba deshabilitada de forma rígida), y cuando --backend auto recurre a una alternativa porque un backend más rico falló (p. ej., un fallo de autenticación de cognee), ahora lo indica en lugar de aparentar silenciosamente que el wiki fue el único backend intentado.
4. Corrección: la compilación ya no se aborta ante una referencia en caché obsoleta
Un tesserae compile / refresh completo podía fallar con KeyError: 'CodeFunction:…' — un id de nodo de código que ya no existe. Los hallazgos (findings) de sesión filtran sus referencias contra el grafo de documentos en el momento de la extracción, pero los hallazgos se almacenan en caché por fragmento; cuando el id de un nodo referenciado cambia más tarde (p. ej., una función de código cuyo id basado en content-hash se desplaza al editar el código) o desaparece, el hallazgo en caché reproducía una referencia obsoleta, fabricando un nodo colgante que rompía un paso posterior del code-graph. Las referencias ahora se vuelven a validar contra el grafo en vivo en el momento de la fusión — se enlazan cuando el destino aún existe y se descartan cuando no.
Actualizar desde v0.6.1
Plug-and-play. Para obtener respuestas de ask sin una clave de API, basta con tener la sesión iniciada en la CLI de claude o codex y pasar --llm. Si te habías topado con el KeyError de compilación, vuelve a ejecutar tesserae compile (o refresh) — ahora omite las referencias obsoletas en lugar de abortar.