본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 20. 07:03

DAC: 에이전트와 사용자를 위한 오픈소스 대시보드 코드 도구

요약

DAC는 YAML과 TSX를 활용하여 대시보드를 정의하고 검증할 수 있는 Dashboard-as-Code 오픈소스 도구입니다. 내장된 AI 에이전트를 통해 대시보드와 실시간 채팅하며 업데이트할 수 있으며, 시맨틱 계층을 통해 SQL 생성 및 데이터베이스 연동을 자동화합니다.

핵심 포인트

  • YAML 및 TSX를 사용한 대시보드 정의 및 동적 구성 지원
  • Codex 기반 AI 에이전트를 통한 실시간 대시보드 채팅 및 업데이트 기능
  • Postgres, Snowflake, BigQuery 등 주요 데이터베이스 지원
  • 시맨틱 계층(Semantic Layer)을 통한 지표 및 차원 정의와 SQL 자동 생성
  • Claude 및 Codex를 위한 대시보드 작성 스킬(Skill) 제공

DAC

DAC는 YAML과 TSX를 사용하여 대시보드를 정의, 검증 및 제공하는 Dashboard-as-Code 도구입니다.

  • TSX를 이용한 동적 차트(Dynamic charts), 탭(tabs), 루프(loops) 및 조건문(conditionals).
  • Codex 기반 내장 AI 에이전트: 대시보드와 실시간으로 채팅하고 업데이트할 수 있습니다.
  • 다음을 포함한 모든 주요 데이터베이스 지원: Postgres, MySQL, Snowflake, BigQuery, Redshift, Databricks 등 Bruin을 통해 지원합니다.
  • 내장 의미 계층(semantic layer): semantic/에서 지표(metrics)와 차원(dimensions)을 한 번 정의하고 모든 위젯에서 참조할 수 있습니다. DAC가 SQL을 생성합니다.

이 도구는 AI 에이전트가 신뢰할 수 있고 검토 가능한 방식으로 대시보드를 구축하도록 설계되었습니다.

<table> <thead> <tr> <th>TSX</th> <th>YAML</th> </tr> </thead> <tbody> <tr> <td> <pre lang="tsx"><code export default ( &lt;Dashboard name="Simple Dashboard" connection="my_db"&gt; &lt;Row&gt; &lt;Metric name="Total Revenue" col={4} sql="SELECT SUM(amount) AS value FROM sales" column="value" prefix="$" format="number" /&gt; &lt;/Row&gt; &lt;/Dashboard&gt; )</code></pre> </td> <td> <pre lang="yaml"><code name: Sales Overview connection: warehouse

rows:

  • widgets:
    • name: Revenue
      type: metric
      sql: SELECT SUM(amount) AS value FROM sales
      column: value
      prefix: "$"
      col: 4</code></pre>
</td> </tr> </tbody> </table>

설치 (Install)

최신 안정 버전의 DAC를 설치합니다:

curl -LsSf https://getbruin.com/install/dac | sh

main 브랜치에서 최신 edge 빌드를 설치합니다:

curl -LsSf https://getbruin.com/install/dac | sh -s -- --channel edge

DAC는 기존의 Bruin 연결을 사용하며, 현재 쿼리 실행을 위해 bruin query를 호출합니다. 설치 스크립트는 PATH에 이미 bruin이 없는 경우 먼저 Bruin CLI를 설치합니다.

빠른 시작 (Quickstart)

새로운 스타터 프로젝트를 생성합니다:

dac init my-dashboards
cd my-dashboards
dac validate --dir .
... 

스타터(Starter)에는 SQL 기반 YAML 대시보드, 시맨틱 (Semantic) YAML 대시보드, 그리고 semantic/ 디렉토리 아래의 시맨틱 모델 (Semantic model)이 포함되어 있습니다.

dac init은 Claude 및 Codex를 위한 DAC 번들 대시보드 작성 스킬 (Dashboard authoring skill)도 함께 설치합니다:

ls .claude/skills/create-dashboard/SKILL.md
ls .codex/skills/create-dashboard

기존 프로젝트의 경우, dac skills install --dir .를 실행하십시오.

저장소를 클론(Clone)했고 dac가 설치되어 있다면, 번들로 제공되는 예제 프로젝트 중 하나를 실행할 수도 있습니다:

dac serve --dir examples/basic-yaml

예제 (Examples)

저장소에는 examples/ 디렉토리 아래에 네 개의 독립적인 예제 프로젝트가 포함되어 있습니다:

예제설명
examples/basic-yaml필터, SQL 쿼리(SQL queries), 쿼리 파일이 포함된 표준 YAML 대시보드
...

프로젝트 레이아웃 (Project Layout)

.
├── cmd/         CLI 엔트리포인트 (Entrypoints)
├── pkg/         대시보드 로딩 (Dashboard loading), 시맨틱 엔진 (Semantic engine), 서버 (Server), 쿼리 백엔드 (Query backends)
...

개발 (Development)

make deps
make test
make build
...

주요 개발 명령은 Makefile에 정의되어 있습니다. 프론트엔드 임베딩 (Frontend embedding)과 빌드 플래그 (Build flags)의 일관성을 유지하기 위해, 임의의 go buildnpm run build 명령 대신 make 타겟을 사용하십시오.

텔레메트리 (Telemetry)

DAC는 어떤 명령어가 사용되는지, 그리고 어디서 실패하는지를 파악하기 위해 익명의 사용 이벤트 (Usage events)를 전송합니다. 각 이벤트에는 명령어 이름, 실행 시간, OS/아키텍처, DAC 버전, 그리고 ~/.dac/telemetry.json에 저장된 익명 설치 ID (Anonymous install ID)가 포함됩니다.

다음 항목은 수집하지 않습니다:

  • SQL 쿼리, 쿼리 결과 또는 행 수 (Row counts)
  • 대시보드 또는 위젯의 내용, 이름 또는 파일 경로
  • 연결 이름, 호스트, 자격 증명 (Credentials), 프로젝트 ID 또는 데이터셋 이름
  • 모든 환경 변수 (Environment variables) 또는 셸 히스토리 (Shell history)

텔레메트리를 비활성화하려면 다음 환경 변수 중 하나를 설정하십시오:

export TELEMETRY_OPTOUT=1
# 또는 업계 표준인:
export DO_NOT_TRACK=1

텔레메트리 쓰기 키가 없는 빌드(make build의 기본값)는 조용히 실행되며 아무것도 전송하지 않습니다.

문서 (Documentation)

라이선스 (License)

AGPL-3.0-only. LICENSE를 참조하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Design Systems의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0