Show HN: 클라이언트‑사이드 도구 호출로 AI를 이용한 PDF 양식 채우기
Source: Hacker News
Introduction
저는 SimplePDF Copilot이라는 AI 어시스턴트를 만들었습니다. 이 어시스턴트는 PDF 편집기와 상호작용할 수 있으며, 필드 채우기, 질문에 답변하기, 특정 필드에 포커스 맞추기, 필드 추가, 페이지 삭제 등 다양한 작업을 수행합니다.
Privacy Model
- PDF 파일은 절대 브라우저를 떠나지 않습니다; 파싱, 렌더링, 필드 탐지는 모두 클라이언트‑사이드에서 이루어집니다.
- 모델이 필요로 하는 텍스트와 사용자의 메시지는 선택한 LLM에만 전송됩니다. 기본값은 저희 데모 프록시(DeepSeek V4 Flash, 속도 제한)이며, BYOK를 통해 어떤 클라우드 제공자든 지정하거나, 완전히 로컬에서 실행할 수 있습니다(예: LM Studio 사용).
이 접근 방식은 문서 프라이버시가 가장 중요한 의료 분야 고객에게 특히 중요합니다. 제3자에게 개인 식별 정보를 전송하지 않고도 AI 경험을 제공할 수 있습니다.
Capabilities
- 기존 양식 필드 채우기.
- 새로운 필드 추가(클라이언트‑사이드에서 CommonForms by Joe Barrow1와 추가 후처리 휴리스틱을 사용해 감지).
- 특정 필드에 포커스 맞추기.
- 페이지 삭제.
- PDF 편집기를 통해 지원되는 기타 작업.
Stack
- Tanstack Start
- Vercel의 AI SDK
- Tailwind CSS(프로젝트는 스타일링에 Tailwind를 사용하며, CSS 모듈도 옵션입니다)
Client‑Side Tool Calling
Tool calling은 LLM이
grep,ls실행이나 API 호출과 같은 동작을 수행하도록 하는 방식입니다.
Client‑side tool calling은 LLM이 도구를 호출하려는 의도가 브라우저에 전달되고, 실제 실행은 로컬에서 이루어지는 것을 의미합니다.
Benefits
- 작업이 클라이언트‑대‑클라이언트로 유지되므로 더 빠릅니다.
- 데이터 노출에 대한 제어가 강화됩니다: 문서 내용을 LLM에 제공하는 도구를 제한하거나 완전히 제거할 수 있습니다.
데모에서는 문서 내용이 LLM에 전달되지만, 해당 도구를 제거하면 이 연결을 차단할 수 있습니다.
Demo & Source
Note: SimplePDF 자체(iframe으로 로드되는 부분)는 오픈 소스가 아닙니다.
궁금한 점이 있으면 언제든지 질문해 주세요!