Jamorham
Nightscout용 xDrip+ 버전
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기App onde consulta colaterais e para que serve
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
App web (PWA) para consultar remédios: para que serve, como usar, efeitos colaterais e cuidados, como uma bula resumida em linguagem simples. A busca é por nome ou por foto da caixa. Este app não substitui a orientação de um médico ou farmacêutico.README 전문 보기 ↗
App web (PWA) para consultar remédios: para que serve, como usar, efeitos colaterais e cuidados, como uma bula resumida em linguagem simples. A busca é por nome ou por foto da caixa.
Este app não substitui a orientação de um médico ou farmacêutico.
Fora do MVP: login, chat de perguntas, histórico, lembretes, outros países.
Next.js (App Router) + TypeScript + Tailwind, API do Claude para visão e resumo, deploy na Vercel.
npm install
npm run dev
A busca usa src/data/catalog.json, gerado a partir dos dados abertos da ANVISA (só registros ativos). Para atualizar:
node scripts/build-catalog.mjs
Detalhes e limites da fonte em docs/spike-anvisa.md (o texto da bula ainda não tem fonte definida).
POST /api/identificar recebe a foto (multipart, campo foto; JPEG/PNG/WebP até 5 MB), usa a API do Claude para ler o nome na embalagem e devolve candidatos do catálogo para o usuário confirmar. A foto não é gravada. A tela reduz a imagem no aparelho antes de enviar.
Variáveis de ambiente (no servidor; nunca commitar):
| Variável | Uso |
|---|---|
ANTHROPIC_API_KEY | Obrigatória para a foto. Local: .env.local. Produção: variáveis do projeto na Vercel. Sem ela, o endpoint responde 503 e a busca por nome continua funcionando. |
BULINHA_MODEL | Opcional. Padrão claude-opus-5-5. |
DATABASE_URL | Postgres (Neon, via Marketplace da Vercel). Guarda o contador de consultas por IP e os resultados de IA já gerados; as tabelas bulinha_limite e bulinha_cache são criadas sozinhas na primeira execução. Sem ela, o app usa só a memória do servidor. |
BULINHA_SEGREDO | Opcional. Segredo misturado ao hash do IP (padrão: derivado de DATABASE_URL). |
BULINHA_ADMIN_TOKEN | Opcional (32+ caracteres). Senha usada só por scripts/aquecer-cache.mjs para gerar resumos em lote sem gastar o limite diário. Sem ela, o recurso fica desligado. |
BULINHA_LIMITE_DIARIO | Opcional. Consultas novas por IP por dia, somando foto, resumo e interações (padrão 5; contador compartilhado no banco). Resultados já em cache não contam; falha da IA devolve a consulta. |
GET /api/resumo?principio=... gera, com o Claude, um resumo geral da substância (para que serve, efeitos, contraindicações, cuidados, interações), sem doses. Não é a bula do produto; a tela deixa isso explícito e aponta o Bulário da ANVISA. Só aceita princípios ativos que existem no catálogo. O resultado é guardado no banco e na CDN da Vercel, então cada princípio ativo é gerado uma única vez (mude VERSAO em src/lib/cache-ia.ts ao melhorar o prompt, para regenerar).
node scripts/aquecer-cache.mjs --limite 300 --listar # só mostra a lista, não gasta nada
BULINHA_ADMIN_TOKEN=... node scripts/aquecer-cache.mjs --limite 10 # teste pequeno: confira o custo no Console da Anthropic
BULINHA_ADMIN_TOKEN=... node scripts/aquecer-cache.mjs --limite 300 # lote completo
O script chama /api/resumo do próprio site (as chaves da IA e do banco ficam só na Vercel). A lista começa pelas substâncias mais usadas no Brasil e completa pelo catálogo. Pode ser interrompido e repetido: o que já foi gerado volta do cache na hora.
/meus-remedios): lista de até 10 remédios guardada só no aparelho (localStorage), sem login. GET /api/interacoes?p=... recebe apenas princípios ativos (validados no catálogo) e gera, com o Claude, possíveis interações e substâncias repetidas; cache de 30 dias na CDN. Duplicidades de princípio ativo idênticas são detectadas no próprio navegador, sem IA.src/app/ouvir.tsx): leitura com a Web Speech API (voz do aparelho, nada sai do dispositivo); divide o texto em trechos curtos e permite falar mais devagar.