DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗MVP de una plataforma web para informes técnicos interactivos con anotaciones contextuales, roles (RBAC) y un consolidador de observaciones para el flujo consultor ↔ revisor ministerial.
@tailwindcss/typography# 1. Instalar dependencias
npm install
# 2. Entorno (.env con DATABASE_URL local y un AUTH_SECRET)
# Ya viene un .env de desarrollo; para regenerar el secreto: npx auth secret
Levanta un PostgreSQL real en espacio de usuario. Deja esta terminal abierta (el proceso mantiene la base viva):
npm run db:local
El clúster se guarda en
~/.informes-pgdata(fuera del proyecto: la ruta con "Análisis" rompeinitdb). La baseinformesse crea en UTF-8 desdetemplate0para admitir caracteres como→. Se puede cambiar la ubicación con la variablePGDATA_DIR.
docker compose up -d
Ambas exponen la base en localhost:5432 con el mismo DATABASE_URL, así que
el resto no cambia.
npm run db:push # crea el esquema
npm run db:generate # genera el cliente Prisma
npm run db:seed # usuarios + informe de ejemplo
npm run dev # http://localhost:3000
| Rol | Correo | Clave |
|---|---|---|
| Consultor | [email protected] | demo1234 |
| Revisor | [email protected] | demo1234 |
src/
├─ app/
│ ├─ (app)/ # área autenticada (layout con cabecera)
│ │ └─ reports/
│ │ ├─ page.tsx # listado de informes
│ │ └─ [slug]/
│ │ ├─ page.tsx # VISOR del informe
│ │ └─ observaciones/page.tsx # CONSOLIDADOR de observaciones
│ ├─ actions/annotations.ts # Server Actions (crear/responder/estado) con RBAC
│ ├─ api/auth/[...nextauth]/route.ts # endpoints Auth.js
│ ├─ login/ # login (Server Action + formulario)
│ └─ layout.tsx / page.tsx / globals.css
├─ components/
│ ├─ report/ # ReportViewer, ChartBlock (render + selección)
│ └─ annotations/ # VoiceInput, ObservationPanel
├─ lib/ # db (Prisma), auth (NextAuth), rbac (permisos)
├─ types/ # tipos de contenido y de sesión
└─ middleware.ts # protección de rutas
prisma/
├─ schema.prisma # modelo relacional
└─ seed.ts # datos de demo
User → Report → Chapter → Section → Block (contenido estructurado). Cada Block
tiene un anchorKey estable. Las Annotation se anclan a un Block y,
opcionalmente, a un rango de texto (rangeStart/rangeEnd + quote para
re-anclar si el contenido cambia). AnnotationReply modela el hilo de
contrapropuestas. ReportAssignment controla el acceso por informe.
El consultor crea informes importando un .docx (/reports/importar):
src/lib/docx.ts usa mammoth (docx→HTML) + node-html-parser y mapea:
h1→Capítulo · h2→Sección · h3-h6→bloque HEADING · p→PARAGRAPH ·
table→TABLE · ul/ol→viñetas · img→IMAGE (placeholder de gráfico, sin
incrustar bytes)./reports/[slug]/editar): editar textos y
tablas, reordenar/eliminar bloques, y reemplazar cada gráfico estático por
uno interactivo pegando los datos (CSV → Recharts). Botón Publicar a
revisión cambia el estado a IN_REVIEW.src/app/actions/reports.ts, todas con RBAC de consultor.El visor (/reports/[slug]) — diseño editorial sobrio (Inter + Source Serif 4,
tarjetas blancas con sombras suaves, acento azul marino):
GlossaryTerm) e anotaciones (teclado y voz), con
panel bottom-sheet en móvil.Reproductor flotante 🎧 que narra el informe por capítulo:
eleven_multilingual_v2) con pronunciación de siglas vía
diccionario de ElevenLabs generado desde el glosario.AudioAsset + disco temporal. Sin clave, usa la voz del navegador.ReportAssignment.submittedAt)./instrucciones.El seed crea un informe demo; además, npx tsx scripts/import-talca.ts importa
el informe real Síntesis de Prediagnóstico — Talca (/reports/prediagnostico-talca,
15 capítulos) con su glosario.
Dashboard_Diagnostico_Talca.html) — ver BACKLOG.md.