Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證bunyang consultant digital business card
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
상담사·직원 한 명당 페이지 한 장. 링크를 받은 사람이 3초 안에 얼굴·이름·연락 수단을 보고 바로 전화나 카카오톡을 누를 수 있게 만든 것이다. 관리자 페이지(admin.html) → 명함 관리 탭 → + 새 명함. 저장하면 끝이다. 커밋도 배포도 필요 없고 링크는 1분 안에 살아난다. 처음에는 한 사람당 HTML 파일 하나였다. 추가하려면 파일을 복사하고 고치고 커밋하고 배포해야 해서 1명당 10분이 걸렸고 개발자를 거쳐야 했다. 현장 9곳에 직원 여러 명을 만들려면 그 구조로는 안 된다. 스키마는 홈페이지/supabase/agent-cards.sql 에 있다. 명함은 대부분 카카오톡으로 전달된다. 그런데 카톡 스크래퍼는 JS를 실행하지 않는다. 브라우저에서 내용을 채우면 모든 사람의 미리보기가 똑같이 나온다 — 이름도 사진도 안 뜬다. 명함 상품에서 이건 치명적이다. 그래서 완성된 HTML을 내려보낸다. 사람마다 다른 og:title·og:image가 박히고, 그러면서도 직원 추가에 배포가 필요 없다.檢視完整 README ↗
상담사·직원 한 명당 페이지 한 장. 링크를 받은 사람이 3초 안에 얼굴·이름·연락 수단을 보고 바로 전화나 카카오톡을 누를 수 있게 만든 것이다.
주소: https://bunyang-card.vercel.app/{슬러그}
관리자 페이지(admin.html) → 명함 관리 탭 → + 새 명함.
저장하면 끝이다. 커밋도 배포도 필요 없고 링크는 1분 안에 살아난다.
처음에는 한 사람당 HTML 파일 하나였다. 추가하려면 파일을 복사하고 고치고 커밋하고 배포해야 해서 1명당 10분이 걸렸고 개발자를 거쳐야 했다. 현장 9곳에 직원 여러 명을 만들려면 그 구조로는 안 된다.
/{슬러그} → vercel.json 재작성 → api/card.js
↓ get_agent_card(슬러그)
Supabase agent_cards
↓
api/_template.js 가 HTML 생성
↓
/card.css (모양) + /card.js (동작)
| 파일 | 역할 |
|---|---|
api/card.js | 슬러그를 받아 카드 한 장을 읽고 내려준다 |
api/_template.js | 그 카드로 HTML을 만든다. 사람마다 다른 og 태그가 여기서 박힌다 |
card.css | 보이는 모양 |
card.js | 눌러야 일어나는 일 (연락처 저장·상담 접수·토스트·열람 집계) |
vercel.json | / → /simjunhyung, /{슬러그} → api/card |
스키마는 홈페이지/supabase/agent-cards.sql 에 있다.
명함은 대부분 카카오톡으로 전달된다. 그런데 카톡 스크래퍼는 JS를 실행하지 않는다. 브라우저에서 내용을 채우면 모든 사람의 미리보기가 똑같이 나온다 — 이름도 사진도 안 뜬다. 명함 상품에서 이건 치명적이다.
그래서 완성된 HTML을 내려보낸다. 사람마다 다른 og:title·og:image가 박히고,
그러면서도 직원 추가에 배포가 필요 없다.
agent_cards 에는 익명 정책이 없다. anon 키는 모든 사이트 소스에
공개돼 있어서, SELECT를 열면 REST 한 번으로 전 직원 연락처를 긁어갈 수 있다.get_agent_card() 하나로만 나간다. SECURITY DEFINER 라
슬러그를 아는 사람에게 published = true 인 카드 한 장만 주고,
목록을 받아갈 방법이 없다.관리자 페이지에서 올리면 Supabase Storage 공개 버킷 agent-photos 로 간다.
읽기는 공개, 올리고 지우는 것은 관리자만. 사진 때문에 커밋할 일이 없다.
파일명에 시각을 붙여, 사진을 바꿔도 캐시된 옛 사진이 남지 않는다.
현장 사이트의 adguard.js 를 일부러 안 쓴다. 그 스크립트는 접속이 몰리면
document.body 를 비우고 차단 화면을 띄운다. 현장 랜딩에선 맞는 동작이지만
명함에선 사고다 — 단톡방에 뿌리면 같은 공용 IP로 여러 명이 들어오는데,
그때 진짜 고객이 빈 화면을 본다.
대신 check_site_visit 을 부르되 응답을 읽지 않는다. 기록만 남고,
관리자 "방문자 통계" 탭에 명함-{슬러그} 로 자동으로 나온다.
기존 consultations 테이블에 넣는다.
source 는 명함-{슬러그}, assignee 는 그 직원 이름이라
관리자 표에서 누구 상담인지 바로 보인다.
CDN이 60초 물고 있는다. stale-while-revalidate 는 일부러 안 붙였다 —
붙이면 공개를 끈 명함이 몇 분 더 살아 있는데, 직원이 그만둬서 내리는
경우에 그게 곤란하다. 속도를 조금 잃더라도 1분 안에 확실히 내려간다.
가짜로 채우지 않는다. 비어 있으면 화면에서 사라지거나 버튼이 비활성으로 나온다.
| 항목 | 비었을 때 |
|---|---|
| 개인 휴대폰 | 대표번호로 전화·문자가 걸린다 |
| 카카오 오픈채팅 링크 | 카카오톡 버튼이 비활성 |
| 프로필 사진 | 이름 첫 글자가 대신 나오고, og:image 를 빼서 카톡에 깨진 이미지가 안 뜬다 |
| 경력·이력 | "경력 · 이력" 섹션이 통째로 숨는다 |