> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ones1ght.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 데이터 소스 관리

> AI Skill이 읽어 들이는 외부 데이터를 연결하고 설정하는 화면입니다.

## 데이터 소스란?

데이터 소스는 [Skill Store](/agent/skill-store)의 AI Skill이 분석에 사용하는 **외부 데이터로의 연결과 설정**입니다.
데이터를 OneS1ght로 복사해 오는 것이 아니라, **연결 정보 + 설정(컬럼·타입·필터·매핑)만 저장**하고 조회 시점에 이 설정을 적용해 데이터를 파생합니다.
파일 커넥터는 원본을 소스로 보관하고, DB·API 커넥터는 조회할 때마다 라이브로 읽습니다.

<Info>
  이 화면은 **관리자(Manager) 이상**(owner·manager)만 접근할 수 있습니다. 메뉴 가시성 `manage`.
</Info>

## 커넥터 3계열

데이터 소스는 원본의 형태에 따라 세 가지 커넥터 계열 중 하나로 연결합니다.

<CardGroup cols={3}>
  <Card title="파일" icon="file-lines" href="/agent/connectors/file">
    CSV · JSON · Excel 파일을 업로드합니다. 원본은 등록 시 보관됩니다.
  </Card>

  <Card title="데이터베이스" icon="database" href="/agent/connectors/database">
    PostgreSQL · MySQL · MS-SQL · Oracle · MongoDB에 연결해 조회 시점에 라이브로 읽습니다.
  </Card>

  <Card title="서비스(API·OData)" icon="plug" href="/agent/connectors/api">
    HTTP API 또는 OData 서비스를 조회 시점에 라이브 호출합니다.
  </Card>
</CardGroup>

<Note>
  외부 서비스 연동(SaaS 등)은 "준비 중"으로, 다음 반복에서 추가됩니다.
</Note>

## 목록 화면

`+ 데이터소스 추가` 버튼으로 마법사를 열고, 행을 클릭하면 상세 화면으로 이동합니다.
목록은 검색, 커넥터 필터, 정렬(최신순 · 오래된순 · 제목 ↑ · 제목 ↓), 페이지네이션(8개)을 제공합니다.

| 컬럼    | 설명                   |
| ----- | -------------------- |
| 이름    | 데이터소스 제목             |
| 커넥터   | 연결 계열(파일 · DB · 서비스) |
| 컬럼    | 매핑된 컬럼 수             |
| 행     | 행 수                  |
| 필터    | 적용된 필터 수             |
| 생성일시  | 등록 시각                |
| 최근 수정 | 마지막 수정 시각            |

## 공용 마법사 4단계

모든 커넥터는 공통 4단계 흐름을 따릅니다. 파일·API 커넥터는 형식에 따라 앞쪽에 단계가 더 붙습니다(각 커넥터 페이지 참고).

<Steps>
  <Step title="커넥터 선택">
    파일 · 데이터베이스 · 서비스 중 원본에 맞는 커넥터를 고릅니다.
  </Step>

  <Step title="데이터 뷰 · 필터링">
    원본을 미리 보고(상위 100행), 조건에 맞는 행만 사용하도록 필터를 설정합니다.
  </Step>

  <Step title="데이터 매핑">
    컬럼마다 **의미(필수, 표준 필드명)** 와 **상세(선택)** 를 지정합니다. `✨ AI 자동 매핑`을 사용할 수 있습니다.
  </Step>

  <Step title="등록">
    이름을 입력하고 설정 내용을 확인한 뒤 데이터소스를 등록합니다.
  </Step>
</Steps>

### 필터 연산자

<CardGroup cols={2}>
  <Card title="같음 (=) · 같지 않음 (≠)">문자열/숫자 일치 비교</Card>
  <Card title="포함">부분 문자열 포함</Card>
  <Card title="초과 (>) · 미만 (<)">수치 비교</Card>
  <Card title="비어있지 않음">값이 존재하는 행만</Card>
</CardGroup>

여러 조건은 모두 만족(AND)하는 행만 사용됩니다.

### 컬럼 타입

문자열 · 숫자 · 참/거짓 · 날짜 · 객체(JSON)

## 상세 화면

상세 화면은 다음을 보여 줍니다.

* **설정**: 커넥터, 원본, 제목줄, 필터, 행 수. 파일은 `원본 보관`, DB·API는 `라이브 소스`로 표시됩니다.
* **컬럼 · 매핑 표**: 컬럼명 · 타입 · 의미 · 상세.
* **AI Skill 전달 아웃풋**: 실제로 AI Skill(LLM)에 전달되는 형태 — 메타데이터(스키마 · 의미)와 데이터(최대 100행). 테이블뷰 / JSON 탭.

## 자격증명 보안

<Warning>
  데이터베이스 비밀번호, API 키·헤더 등 자격증명은 **AES-256-GCM으로 암호화**되어 저장되며, **클라이언트로 다시 반환되지 않습니다.**
  데이터소스를 수정할 때 자격증명 입력란을 비워 두면 기존 값이 그대로 유지됩니다.
</Warning>

<Note>
  데이터소스를 수정해도 **원본은 변경되지 않습니다.** 설정(컬럼 · 타입 · 필터 · 매핑)만 바뀝니다.
</Note>
