Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證발전소 오버홀 공정관리 · 열원설비 고장이력 · 정비 챗봇을 하나로 합친 통합 웹앱 (Next.js 16 + Supabase)
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗| 업무 | PIMS에서 하는 일 |
|---|---|
| 설비·공정 | 엑셀 보수계획에서 정비 대상을 산출하고, 작업 일정과 실적을 함께 관리합니다. |
| 매뉴얼·고장보고서 | 사진과 설명을 A4 문서로 구성하고 PDF와 편집 원본을 보관합니다. |
| 현황·조치 | 운영부가 발견사항을 등록하면 유지보수 담당자가 조치 내용과 상태를 갱신합니다. |
| 정비 챗봇 따소미 | 설비·보수계획·조치 현황을 조회하고, 매뉴얼과 고장보고서를 근거로 답합니다. |
현장 이슈 등록 → 기본 항목을 이어받아 보고서 작성 → PDF 보관 → 조치 추적·기록 검색
보고서 재편집과 항목 재입력을 줄이고, 인계한 이슈의 조치 결과를 같은 목록에서 확인합니다.
준비 환경: Node.js 20.9 이상, npm.
git clone https://github.com/Quietmin/tonghapbon-1.git
cd tonghapbon-1
npm ci
npm run dev
localhost:3000에서 지사와 부서를 선택합니다. 별도 DB 설정 없이 PGlite가 .data/pgdata에 업무 데이터를 저장합니다.
공유 DB·문서 보관·AI를 사용하려면 .env.local.example을 .env.local로 복사하고 아래 값을 설정합니다.
| 기능 | 환경변수 |
|---|---|
| 공유 PostgreSQL | DATABASE_URL |
| 문서 보관함 | NEXT_PUBLIC_DOCGEN_SUPABASE_URL, NEXT_PUBLIC_DOCGEN_SUPABASE_ANON_KEY |
| AI 답변·문서 검색 | GPT_CHAT_ENABLED=true, OPENAI_API_KEY |
공유 DB는 npm run db:migrate로 초기화합니다. 문서용 Supabase에는 문서 스키마 SQL을 01부터 04까지 순서대로 적용합니다. OpenAI 키는 서버에서만 사용합니다.
배포용 실행은 npm run build 후 npm start입니다.
Next.js 16 · React 19 · TypeScript · PostgreSQL · Supabase · OpenAI
---
config:
flowchart:
curve: stepBefore
nodeSpacing: 24
rankSpacing: 40
---
flowchart LR
WEB["PIMS 웹 화면<br/>설비·공정·현황·문서·따소미"]
API["Next.js API<br/>업무 처리·챗봇·검색/색인"]
DB["업무 데이터 저장소<br/>PostgreSQL · PGlite"]
DOC["문서·검색 저장소<br/>Supabase · pgvector"]
AI["답변·임베딩 서비스<br/>OpenAI API"]
WEB --> API
API --> DB
API --> DOC
API --> AI
classDef app fill:#eff6ff,stroke:#93c5fd,color:#172554
classDef store fill:#ecfdf5,stroke:#6ee7b7,color:#064e3b
classDef external fill:#f8fafc,stroke:#cbd5e1,color:#334155
class WEB,API app
class DB,DOC store
class AI external
업무 API는 계획·실적·현황을 처리하고, 챗봇 API는 업무 DB와 문서 색인을 조회합니다. 문서 원본·PDF는 브라우저에서 Supabase에 직접 저장합니다.
1. 문서 저장·임베딩 — 매뉴얼·고장보고서의 PDF와 원본을 저장한 뒤 비동기로 색인을 만듭니다.
---
config:
flowchart:
curve: stepBefore
rankSpacing: 28
---
flowchart LR
SOURCE["문서 원문<br/>사진 설명"]
CHUNKS["텍스트 분할<br/>약 600자"]
EMBED["임베딩 생성<br/>1,536차원"]
VECTOR["pgvector 저장<br/>원문·문서 ID·벡터"]
SOURCE --> CHUNKS --> EMBED --> VECTOR
classDef process fill:#eff6ff,stroke:#93c5fd,color:#172554
classDef store fill:#ecfdf5,stroke:#6ee7b7,color:#064e3b
class SOURCE,CHUNKS,EMBED process
class VECTOR store
원문은 항목별로 나누고, 긴 항목은 문장 경계를 고려해 분할합니다. 문서와 질문은 모두 text-embedding-3-small로 벡터화합니다.
2. 질문·검색·답변 — 문서의 내용은 유사도 검색으로, 설비·보수계획·현황은 업무 조회 도구로 찾습니다.
---
config:
flowchart:
curve: stepBefore
nodeSpacing: 24
rankSpacing: 28
---
flowchart LR
QUESTION["사용자 질문<br/>문서 내용·업무 현황"]
QVEC["질문 임베딩<br/>1,536차원 벡터"]
SEARCH["문서 유사도 검색<br/>코사인 유사도 비교"]
TOOLS["GPT 도구 호출<br/>조회 도구 선택"]
DATA["업무 데이터 조회<br/>설비·계획·조치 현황"]
ANSWER["GPT 답변<br/>근거 문서 카드"]
QUESTION --> QVEC --> SEARCH --> ANSWER
QUESTION --> TOOLS --> DATA --> ANSWER
classDef process fill:#eff6ff,stroke:#93c5fd,color:#172554
classDef result fill:#ecfdf5,stroke:#6ee7b7,color:#064e3b
class QUESTION,QVEC,SEARCH,TOOLS,DATA process
class ANSWER result
유사도 상위 24개 조각에서 낮은 점수의 결과를 제외해 최대 5개 문서로 묶고, 질문 핵심어와 점수로 관련성을 검사합니다. GPT가 선택한 읽기 전용 도구는 서버가 실행하며, 문서 발췌·조회 결과를 답변에 사용합니다.
문서 분할 · 임베딩·색인 · 유사도 검색 · 도구 호출·답변
마지막 보수연도 + 주기로 정비 대상을 계산합니다. 보수 실적을 반영하면 다음 판정도 갱신됩니다.src/app/ 화면과 API 라우트
src/modules/ 설비·공정·문서·현황·챗봇 업무 로직
src/shared/ 공통 UI, 지사·부서 설정, DB 접근
db/ 업무 데이터 스키마
supabase/ 문서 보관·검색 스키마