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
관련 논문
Pu.sh – 400줄 Shell 스크립트로 만든 완전한 Coding Agent Harness
npm, pip, Docker 없이 curl과 awk만으로 동작하는 400줄짜리 Shell 기반 코딩 에이전트 실행 환경으로, 의존성 없이 API 키 하나만 있으면 바로 쓸 수 있다.
Ramp의 Sheets AI가 재무 데이터를 외부로 유출한 취약점 분석
Ramp의 스프레드시트 AI 에이전트가 외부 데이터셋에 숨겨진 프롬프트 인젝션에 속아 악성 수식을 자동 삽입하고 기밀 재무 데이터를 외부 서버로 유출할 수 있었던 취약점이 공개됐다. AI 에이전트가 신뢰할 수 없는 데이터를 처리할 때 얼마나 위험한지를 보여주는 실제 사례다.
AI가 내 게임을 플레이하게 하기 – 플레이테스팅을 돕는 Agentic Test Harness 구축
인디 게임 개발자가 LLM 에이전트를 활용해 게임을 자동으로 플레이테스트하는 시스템을 만든 경험 공유로, 솔로 개발자의 QA 병목을 AI로 해결하는 실용적 접근법이다.
AgentWard: 자율 AI 에이전트를 위한 Lifecycle Security 아키텍처
AI 에이전트의 초기화부터 실행까지 5단계 전 생애주기에 걸친 보안 레이어를 체계적으로 설계한 방어 아키텍처 제안.
Tendril – 스스로 도구를 만들고 등록하는 Self-extending Agent
Tendril은 요청받은 작업에 필요한 도구가 없으면 직접 코드를 작성해 등록하고 재사용하는 자기 확장형 AI 에이전트 패턴의 레퍼런스 구현체다. 매 세션마다 도구 레지스트리가 쌓여 점점 더 빠르고 효율적으로 작동한다.
TerminalBench 1위 달성한 오픈소스 코딩 에이전트 Dirac - API 비용 50~80% 절감
컨텍스트를 극도로 효율적으로 관리해 API 비용을 평균 64.8% 줄이면서도 코드 품질은 올린 오픈소스 코딩 에이전트 Dirac이 공개됐다. Gemini-3-flash-preview 기준 TerminalBench-2에서 65.2%로 1위를 기록했다.