Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Ferramenta web de cronoanálise (time & motion study) e amostragem do trabalho para captura e análise de tempos de processo em tempo real.查看完整 README ↗
Ferramenta web de cronoanálise (time & motion study) e amostragem do trabalho para captura e análise de tempos de processo em tempo real.
🔗 Aplicativo: crono-analise.vercel.app
| Documento | Para quem |
|---|---|
| 📘 Guia de uso passo a passo | Quem usa a ferramenta: login, cronometragem, Modo Campo, amostragem, balanceamento, A3, exportações, equipe e configurações, com imagens de cada tela |
| 🛠️ Como funciona e como foi feito | Quem mantém ou evolui: arquitetura, modelo de dados, mesclagem, fórmulas, banco de dados e RLS, segurança, testes e a história de cada etapa |
O CronoAnálise substitui a combinação cronômetro de celular + planilha por um fluxo único: você define as etapas do processo, cronometra cada ciclo tocando na etapa correspondente, e a ferramenta calcula os indicadores na hora — tempo total, produtividade, % de tempo que agrega valor, variabilidade, tamanho de amostra, takt time, balanceamento da linha e tendência de aprendizado — além de manter um histórico organizado por estudo, compartilhável com pessoas e times.
Cada etapa é classificada segundo a lógica clássica de análise de processo:
| Tipo | Significado |
|---|---|
| VA | Valor Agregado — a etapa transforma o produto/serviço |
| NVA | Não Agrega Valor — necessário, mas não transforma nada |
| Espera | Tempo parado entre etapas |
| Transporte | Movimentação de material, produto ou pessoas |
0)Espaço iniciar/pausar · 1–9 marcar etapa · 0 interrupção · N novo ciclo · Ctrl+Z desfazer1–9)Rode, no SQL Editor do Supabase (todos são idempotentes — podem rodar de novo):
supabase/schema.sql — tabelas originais.supabase/migrations/002_estudos_por_linha.sql — um estudo por linha, compartilhamento, versões, admin, excluir conta.supabase/migrations/003_equipe_seguranca.sql — times, tempo real, fotos (bucket privado crono-photos), erros do app, duas etapas obrigatória para quem ativar e retenção (LGPD).O app detecta sozinho o que já foi aplicado; sem a 003, tudo continua funcionando (sem times/tempo real/fotos na nuvem).
Limpeza automática (opcional): ative a extensão pg_cron (Database → Extensions) e rode a 003 de novo — a limpeza diária fica agendada. Sem ela, o administrador aplica a política pelo painel (Administração → Dados).
Recuperação de senha: a URL do app precisa estar em Authentication → URL Configuration (Site URL ou Redirect URLs).
O botão e o "Salvar no OneDrive" só aparecem quando o provedor Azure está ativo no Supabase. Até lá ficam escondidos, e quando o provedor é ativado aparecem sozinhos, sem novo deploy. Se o portal do Azure negar acesso (erro 401), peça ao TI o registro do app com os itens 1 a 3 abaixo.
https://zwfnsknaxqnexeuzvvjn.supabase.co/auth/v1/callback.https://login.microsoftonline.com/<ID do diretório> (assim só contas da empresa entram).https://crono-analise.vercel.app nas Redirect URLs.Quem já tem conta com o mesmo e-mail continua com os mesmos estudos (o Supabase liga as duas formas de entrar). O texto do botão, o título da tela e um logo próprio ficam em BRAND, em js/config.js — para usar o logo oficial, salve o arquivo do portal de marca (ex.: icons/logo-empresa.svg) e aponte BRAND.logo para ele.
Os módulos ES precisam ser servidos por HTTP:
npx serve . # ou: npm start
| Comando | O que faz | Precisa instalar |
|---|---|---|
npm test | Lógica pura: cronômetro, indicadores, Westinghouse, tendência, balanceamento, amostragem, mesclagem (200 cenários aleatórios), CSV, Excel, gráficos | nada |
npm run lint | ESLint + checagem de tipos (JSDoc) em js/core | npm i --no-save eslint@9 typescript@5 |
npm run test:sql | Aplica schema.sql, 002 e 003 num Postgres real e testa RLS, times, fotos, MFA, retenção, gatilhos e funções | npm i --no-save embedded-postgres pg |
npm run test:e2e | 31 cenários no navegador com o supabase-js real contra um Supabase simulado (HTTP, Realtime, Storage, MFA, login Microsoft e OneDrive), incluindo acessibilidade com axe-core | npm i --no-save [email protected] axe-core && npx playwright install chromium |
npm run test:visual | Regressão visual: compara screenshots das telas com as referências em tests/visual/baseline/ (-- --update aceita o visual novo) | npm i --no-save [email protected] pixelmatch pngjs |
npm run docs:screenshots | Gera as imagens do guia de uso (docs/img/) com dados de demonstração | npm i --no-save [email protected] |
npm run test:staging | Fluxo completo contra um Supabase de homologação (pulado sem credenciais) | Playwright + variáveis STAGING_* |
Instale as dependências de teste numa única linha (
npm i --no-saveremove o que não estiver na mesma chamada).
Todos rodam no GitHub Actions. Para ativar o teste de homologação: crie um projeto Supabase separado, rode nele os três scripts SQL, crie um usuário de teste e cadastre os segredos STAGING_SUPABASE_URL, STAGING_SUPABASE_ANON_KEY, STAGING_EMAIL e STAGING_PASSWORD (Settings → Secrets and variables → Actions).
index.html Página única (HTML)
css/styles.css Estilos (tema DHL claro/escuro, Modo Campo, impressão, A3)
fonts/ Lexend e Roboto Mono (locais, licença OFL)
js/main.js Entrada: login (e-mail, Microsoft, duas etapas), navegação, ações, inatividade, admin
js/editor*.js Tela do estudo: núcleo, cronômetro, etapas, registros, indicadores,
balanceamento, amostragem, A3, histórico
js/dashboard.js Tela inicial (filtros e painel do time)
js/teams.js · share.js Times · compartilhamento
js/photos.js Fotos (câmera, compressão, fila offline, galeria)
js/monitor.js Registro de erros do app
js/integrations.js OneDrive (Microsoft Graph) e compartilhar arquivo
js/cloud.js Supabase: sincronização, tempo real, times, fotos, erros, admin, conta
js/storage.js IndexedDB (estudos e fotos), separado por usuário
js/auth.js · js/ui.js Autenticação e MFA · toast, modais, menu, tema
js/config.js Configurações (Supabase, marca, admin, rótulos)
js/core/ Lógica pura, testável no Node
model.js Formato dos dados e mesclagem registro a registro
stats.js · trend.js Indicadores · tendência e curva de aprendizado
westinghouse.js Ritmo por etapa
balance.js Balanceamento de linha
sampling.js Amostragem do trabalho
charts.js Gráficos SVG
csv.js · xlsx.js · zip.js · report.js Exportações
sw.js Service worker (offline)
supabase/ schema.sql e migrations/ (002, 003)
tests/ node --test, e2e/, sql/, visual/, staging/, docs/ (imagens do guia)
docs/ Guia de uso, documento técnico e imagens (docs/img)
vendor/ supabase-js versionado
CronoAnalise System — desenvolvido por Daniel Thomaseto.
A assinatura do autor aparece na tela de login, no rodapé do app, nas Configurações, nos relatórios impressos (PDF e A3) e nas propriedades dos arquivos Excel (configurável em BRAND.author, em js/config.js).