Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
독립 창작한 가상 요구사항에서 버전과 정확한 원문 근거를 확인하는 학술 데모
Translation pending
OtherGitHub @yenarueOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Evidence-first Requirement Assistant — Find the requirement. Show the evidence. State the uncertainty.
KAIST ITM.690 2026-10-29 발표를 위한 공개 합성 데이터 데모와 실제 CCC V3.1.4/V4.1.0 PDF를 사용하는 후속 로컬 RAG를 공통 코어로 연결하는 프로젝트. 구체적 설계: CCC PDF RAG architecture. 실제 디지털키 개발에서 겪는 문서 검색·조건 해석·버전 혼동·근거 부재·지식 파편화 문제를 출발점으로 한다.
상태: A안 Clear Desk·Pretendard Web 앱, 실제 MiniSearch 검색, 근거 카드, 서버 전용 OpenRouter 어댑터와 안전한 fallback을 구현했다. 로컬 npm run dev는 http://localhost:3000에서 동작한다. 현재 Production은 v0.3.3이며 키워드/AI 검색 전환·실제 AI 답변·원문 인용·모바일 화면을 검증했다. 키워드는 모델을 호출하지 않으며, 모드 전환으로 이전 결과를 비교할 수 있다. 결과와 절차: 배포 가이드.
Public repository safety: 실제 CCC 사양 원문(배포 권한을 확인하지 않은 자료 포함), 추출 텍스트/정제본/임베딩/인덱스, OEM/사내 문서, 소스·로그, 키·고객/개인정보를 공개 저장소와 Vercel에 추가하지 않는다.
data/demo에는 독립 창작한 Synthetic/Fictional 자료만 보관한다.
**합성 데이터(Synthetic/Fictional data)**란 CCC PDF에서 문장을 추출·번역·요약·JSON으로 정리하거나 Requirement를 재작성한 정제본이 아니다. 디지털키의 공개적인 기술 개념(Owner/Friend Device, Provisioning, Key Sharing, BLE, UWB, NFC, Revocation 등)을 바탕으로 새로 창작한 가상의 요구사항과 예외·조건·버전 차이를 뜻한다.
data/demo/spec-v1.json과 spec-v2.json은 각각 16개의 가상 Requirement를 포함한다. V1/V2는 가상의 버전이며 CCC 3.1.4/4.1.0과 대응하지 않는다. 가상의 식별자, Section 구조, 수치 및 판단은 실제 CCC 규정이나 준수 기준이 아니다.data/local/ccc/에 배치하고 data/local/index/에 파생 인덱스를 생성한다. 두 경로 모두 .gitignore에서 제외되어야 한다.운영자가 제공한 Digital Key Technical Specification v4.1.0 Page 4의 LEGAL NOTICE에는 CCC의 저작권, Confidential 표시 및 구체적인 이용·제공 조건이 적혀 있다.
본 항목은 문서의 운영상 위험을 정리한 것으로 법률 의견이 아니다. 관련 설계: CCC PDF RAG architecture. 공식 안내: CCC Specification Download.
| 단계 | 구현 목표 | 상태 |
|---|---|---|
| A | 합성 규격 2개 버전(V1/V2)과 Requirement ID | 구현·원문 검사 완료 |
| B | MiniSearch 기반 요구사항 검색, 버전 필터 | 로컬 구현·검증 완료 |
| C | 정확한 문서·버전·Section·ID·원문 근거 카드 | 로컬 구현·검증 완료 |
| D | 서버 측 OpenRouter 무료 모델 답변 + 실패 시 검색 폴백 | 구현·자동 검사 및 실제 AI 답변·인용 확인; 무료 모델 변동성은 fallback 처리 |
| E | Next.js Web MVP를 Vercel에 배포 | Production v0.3.3; 핵심 live 검증 완료 |
| F | 공통 검색 코어를 사용하는 Local MCP | 다음 단계 (웹 메뉴만 disabled / Coming soon) |
이번 발표 A–E: 합성 데이터 Web RAG와 Vercel + OpenRouter 무료 모델 배포. 후속 사내 실증(F): 사용자가 보유한 CCC PDF 두 개를 data/local/ccc/에서 로컬 파싱·색인하고, Local MCP를 통해 회사에서 승인한 Codex·Claude·Gemini 에이전트에 근거를 제공한다. Ollama 설치나 별도 LLM API는 필수가 아니다. 로컬 MCP의 도구 결과가 연결된 모델에 전달될 수 있으므로, 사내 승인 범위에서만 사용한다. 개인 OpenRouter에 실제 스펙 발췌를 보내는 기능은 별도 권한 확인·명시적 허용 전까지 비활성화한다.
apps/web (Next.js + Vercel)
├─ Search UI / version selection / evidence cards
└─ POST /api/ask ─┬─ packages/spec-core (MiniSearch + citation validation)
└─ OpenRouter free LLM (server-only, optional)
↑
data/demo (synthetic V1/V2)
apps/mcp (future local stdio MCP; not implemented)
└─ will reuse packages/spec-core without cloud dependency
MiniSearch는 키워드 기반 full-text search다. 첫 버전에서는 한·영 용어 매핑과 메타데이터 검색을 사용하며, 임베딩 기반 semantic search라고 주장하지 않는다. 질문에 답할 근거가 없으면 추측하지 않는다. LLM 키가 없거나 무료 모델 호출이 실패해도 검색·원문 확인은 작동해야 한다.
.
├── README.md
├── AGENTS.md # Codex 지침: 구현 및 안전 규칙
├── PRD.md # 기능, 인터페이스, 수용 기준
├── .gitignore
├── .env.example # 비밀 값 없는 예시
├── package.json # npm workspace 최소 설정
├── apps/
│ ├── web/README.md # Next.js 앱 구현 자리
│ └── mcp/README.md # F 단계 전용 placeholder
├── packages/
│ └── spec-core/README.md # Web/MCP 공통 검색 코어 자리
├── data/demo/
│ ├── spec-v1.json
│ └── spec-v2.json
├── evals/questions.json
└── docs/decisions.md
루트 lockfile로 workspace 의존성을 고정한다. DESIGN.md는 A안·Pretendard 기준이며 비교 HTML은 고정 데이터 디자인 기록일 뿐 앱 런타임이 아니다.
Web 버전은 apps/web/package.json을 기준으로 footer 위에 표시한다. Major/Minor/Patch 증가 기준과 배포 절차는 버전 관리 정책을 따른다. 현재 배포 버전은 0.3.3이다.
Node.js 24.x, npm 11+ 필요. 키를 설정하지 않아도 실제 검색과 원문 확인이 동작한다.
npm ci
cp .env.example .env
# 루트 .env에 OPENROUTER_API_KEY 설정 (선택)
# apps/web/.env.local도 지원하며 기존 환경변수와 앱 설정이 우선
npm run dev
npm run test
npm run eval
npm run lint
npm run build
npm run test:e2e
This is the beginning of the README. Read the rest at the original. Read the full README ↗