尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result.
The frontend workflow in .github/workflows/frontend-ci.yml
runs on pushes and pull requests targeting main. It installs the dependencies, runs
npm run lint, npm test and npm run build with Node.js 24, matching the Docker image.
The workflow currently uses npm install --package-lock=false because the lockfile is
missing optional @emnapi entries and npm ci cannot install it yet. Once the lockfile
is regenerated and validated, replace that step with npm ci.
La configuración EPS existente conserva su flujo local y ofrece una conexión server-side
con Confianza. En desarrollo, define WAYLO_BACKEND_URL y WAYLO_BACKEND_KEY en el
entorno de Next.js; la clave nunca debe llevar el prefijo NEXT_PUBLIC_ ni llegar al
navegador. Las rutas BFF /api/ips/* mantienen la sesión Waylo y delegan al backend
adaptador, que es el único que consulta Confianza.
El alcance, los contratos, la seguridad, las responsabilidades de cada repositorio y la
secuencia completa están documentados en docs/001-ips-integration-mvp-prd.md.
El Route Handler /api/triage mantiene la sesión de Waylo y envía el historial al
backend privado /internal/chat/completion. Cuando la conexión con Confianza está activa,
el backend expone al agente las herramientas patient-scoped de perfil, catálogo,
disponibilidad, citas, historia institucional y constancias. Crear, cancelar y
reprogramar siempre requieren confirmación explícita.
La memoria entre conversaciones no reutiliza transcripciones: solo se carga la memoria
clínica estructurada que la persona confirmó, y puede editarse o eliminarse desde
Configuración → Memoria. La tabla se crea al ejecutar npm run db:migrate; las variables
WAYLO_BACKEND_URL y WAYLO_BACKEND_KEY deben existir únicamente en el entorno server-side.
El diseño y los contratos están en docs/003-chat-ips-tools-memory-prd.md.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
Cada vez que alguien marca un mensaje de la IA como útil o no útil, /api/feedback envía un
aviso a un canal de Discord. Solo viaja el voto, el id del mensaje, el idioma y si la persona
tiene cuenta; nunca el texto de la conversación. Para activarlo, crea un webhook en el canal
(Configuración del servidor → Integraciones → Webhooks) y define DISCORD_FEEDBACK_WEBHOOK_URL
en .env.local y en el entorno de despliegue. Sin la variable, el botón funciona igual y no se
envía nada. La URL del webhook es un secreto: quien la tenga puede escribir en el canal.
Con DISCORD_ERRORS_WEBHOOK_URL definida, el servidor avisa en un canal (por ejemplo #errores)
de lo que falla en producción: el gateway de IA, la voz, la integración IPS, la base de datos y
cualquier error que nadie atrape (gancho onRequestError de Next.js, en src/instrumentation.ts).
Cada aviso lleva el sitio, el error, su código y las primeras líneas de la pila. Se ocultan
contraseñas en URLs, tokens, claves largas y correos; nunca se envía el texto de la conversación.
El mismo error del mismo sitio se manda una vez por minuto (con el conteo de repeticiones
omitidas) y nunca más de 20 mensajes por minuto. En desarrollo local no se envía nada.
Para reportar un error a mano en una ruta: reportError("api/mi-ruta", error) de @/lib/error-report.