DAC – AI 에이전트와 사람 모두를 위한 오픈소스 Dashboard-as-Code 툴
Show HN: DAC – open-source dashboard as code tool for agents and humans
TL;DR Highlight
YAML과 TSX로 대시보드를 코드처럼 정의하고, AI 에이전트가 자동으로 생성·수정할 수 있도록 설계된 오픈소스 대시보드 빌더. 에이전트가 만든 대시보드를 사람이 리뷰 가능한 형태로 표준화한다는 게 핵심.
Who Should Read
데이터 엔지니어나 백엔드 개발자 중 AI 에이전트로 대시보드 생성을 자동화하고 싶거나, Git 기반 리뷰 워크플로우에 대시보드를 통합하고 싶은 사람.
Core Mechanics
- DAC는 대시보드를 YAML 또는 TSX(TypeScript JSX) 파일로 정의하는 오픈소스 툴로, 코드처럼 버전 관리·리뷰·자동화가 가능하다.
- AI 에이전트(Codex 기반)가 내장되어 있어서 채팅으로 대화하면 대시보드가 실시간으로 수정된다. 에이전트가 생성한 결과물이 YAML/TSX 파일로 남기 때문에 사람이 PR처럼 리뷰할 수 있다.
- 시맨틱 레이어(Semantic Layer)가 내장되어 있다. `semantic/` 디렉토리에 메트릭과 디멘전을 한 번만 정의해두면 어느 위젯에서든 참조할 수 있고, DAC가 SQL을 자동 생성한다.
- Postgres, MySQL, Snowflake, BigQuery, Redshift, Databricks 등 주요 데이터베이스를 모두 지원한다. 내부적으로 Bruin CLI를 통해 쿼리를 실행하므로, Bruin이 설치되어 있어야 한다.
- TSX 방식으로 Dashboard 컴포넌트를 JSX처럼 작성할 수 있고, 동적 차트·탭·반복문(loops)·조건문(conditionals)을 지원한다. 단순 YAML보다 복잡한 레이아웃 표현이 가능하다.
- 설치는 curl 스크립트 한 줄로 가능하다. stable 버전과 edge(main 브랜치 최신) 버전을 선택해서 설치할 수 있다.
- AGPL-3.0 라이선스 오픈소스로 공개되어 있으며, `.agents/skills`, `AGENTS.md`, `CLAUDE.md` 등 AI 에이전트 연동을 위한 파일 구조가 이미 잡혀 있다.
Evidence
- '에이전트를 위한 대시보드'라는 프레이밍이 기존 dashboard-as-code 툴들과 차별화되는 지점이라는 의견이 있었다. 에이전트가 대시보드를 생성하는 건 이미 있는 기능이지만, 그 결과물을 표준화되고 리뷰 가능하게 만드는 게 실제로 어려운 부분이라는 평가. 다만 시맨틱 레이어에서 메트릭 정의를 에이전트가 수정할 때 하위 위젯에 영향을 미치는 부분을 어떻게 검증하는지에 대한 질문도 있었다.
- YAML의 확장성에 대한 회의적인 시각도 있었다. '1000줄 넘는 YAML을 수정하는 건 너무 힘들다', 'YAML은 복잡도가 커지면 좋은 선택이 아니다'는 의견이 나왔다. 반면 Lowdefy 팀에서는 500,000줄 이상의 YAML 앱을 운영 중이며, 올바른 툴스택과 컨벤션만 있으면 오히려 읽고 쓰고 리뷰하기 쉽다는 반론을 제시했다.
- 시맨틱 레이어와 검증 기능이 가장 핵심 차별점이라는 의견도 있었다. '그 외 나머지 기능들은 다른 툴들도 다 있는 기능들(table stakes)인데, README에서 시맨틱 레이어를 더 앞세워야 한다'는 피드백이 있었다.
- 유사한 오픈소스 툴들과의 비교가 없다는 지적이 있었다. Evidence(evidence-dev/evidence), Lightdash, Vega-Lite 등이 언급되었으며, 이들과의 차이점을 문서에 명시해달라는 요청이 있었다.
- Vega-Lite(선언형 데이터 시각화 DSL)를 쓰면 어떻냐는 의견도 있었다. Claude 같은 AI와 함께 쓸 때 Vega-Lite가 이미 잘 동작한다는 경험담이 공유되었다.
How to Apply
- AI 에이전트(Claude, GPT 등)로 대시보드를 자동 생성하고 싶은데 결과물을 팀이 리뷰할 수 없어서 곤란했다면, DAC를 도입해서 에이전트가 YAML/TSX 파일을 생성하게 하면 Git PR처럼 diff를 리뷰하고 머지할 수 있다.
- Snowflake, BigQuery 등 데이터 웨어하우스를 쓰는 팀에서 메트릭 정의가 위젯마다 중복 SQL로 흩어져 있다면, DAC의 시맨틱 레이어(`semantic/` 디렉토리)에 메트릭과 디멘전을 한 번만 정의해두고 여러 위젯에서 재사용하면 SQL 중복을 줄일 수 있다.
- Bruin을 데이터 파이프라인 툴로 이미 쓰고 있다면 DAC를 추가 설치하는 것만으로 기존 Bruin 커넥션을 그대로 재사용해서 대시보드를 빠르게 구성할 수 있다.
- 대시보드 구성이 복잡해서 YAML만으로 표현이 어렵다면 TSX 방식으로 전환하면 된다. 루프, 조건문, 동적 탭 등을 React 컴포넌트 스타일로 작성할 수 있어서 복잡한 레이아웃도 코드로 관리 가능하다.
Code Example
# YAML 방식 예시
name: Sales Overview
connection: warehouse
rows:
- widgets:
- name: Revenue
type: metric
sql: SELECT SUM(amount) AS value FROM sales
column: value
prefix: "$"
col: 4
---
// TSX 방식 예시
export default (
<Dashboard name="Simple Dashboard" connection="my_db">
<Row>
<Metric
name="Total Revenue"
col={4}
sql="SELECT SUM(amount) AS value FROM sales"
column="value"
prefix="$"
format="number"
/>
</Row>
</Dashboard>
)
---
# 설치 (stable)
curl -fsSL https://raw.githubusercontent.com/bruin-data/dac/main/install.sh | bash
# 설치 (edge, main 브랜치 최신)
curl -fsSL https://raw.githubusercontent.com/bruin-data/dac/main/install.sh | bash -s -- --channel edgeTerminology
관련 논문
프로덕션 AI 에이전트를 GPT-5.6으로 마이그레이션: 2.2배 빠르고 27% 저렴
마케팅 웹사이트를 자동 생성하는 프로덕션 AI 에이전트를 Claude Opus 4.8에서 GPT-5.6 Sol로 전환한 실전 경험담으로, 단순 모델 교체가 아니라 eval 하네스, 툴 스키마, 캐싱, 추론 리플레이까지 손봐야 했던 과정을 구체적인 수치와 함께 정리했다.
xAI Grok Build CLI가 xAI 서버로 전송하는 데이터: 네트워크 레벨 분석
xAI의 공식 코딩 CLI 도구 Grok Build가 사용자 동의 없이 전체 Git 저장소와 .env 시크릿 파일을 xAI 서버로 업로드한다는 사실이 네트워크 트래픽 분석으로 밝혀졌다.
중요할 때 기억하라: Long-Horizon 에이전트를 위한 Proactive Memory Agent
LLM 에이전트가 긴 작업 중 중요한 정보를 잊어버리는 문제를 별도의 메모리 에이전트가 '적절한 타이밍에' 끼어들어 해결하는 방법
WebSwarm: 깊고 넓은 웹 검색을 위한 재귀적 Multi-Agent Orchestration
복잡한 웹 검색을 재귀적으로 분해하고 각 노드에 적합한 검색 모드를 동적으로 할당하는 멀티에이전트 프레임워크
웹 앱을 리버스 엔지니어링해서 AI Agent 도구로 자동 변환하기
로그인된 웹 앱의 API 호출을 브라우저에서 감시해 자동으로 MCP 도구로 변환하는 에이전트를 만들었다. 소스 코드나 공식 API 문서 없이도 Jira, Spotify 같은 서비스에 AI 어시스턴트를 붙일 수 있다.
FableCut – AI 에이전트가 조작할 수 있는 브라우저 기반 비디오 에디터 (zero deps)
타임라인 전체를 JSON 파일 하나로 표현하고 MCP/REST로 AI 에이전트가 직접 편집할 수 있는 브라우저 비디오 에디터로, Claude 같은 AI가 프롬프트 하나로 영상을 자동 컷편집하고 결과를 실시간으로 UI에 반영해준다.