프로젝트 소개
# Design-Agent — DSH 디자인 에이전트 워크스페이스
이것은 [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness) 기반의 **디자인 에이전트 완전 재현 패키지**입니다. `my-agent` 프리셋, `design-references` 라우팅 스킬(DSH 어댑티드 버전), `design-router` 결정적 도구 플러그인을 포함합니다. 이 프로젝트는 기존 HTML 기반 디자인 에이전트를 업그레이드하고 [design-references](https://github.com/haohaiHuang/my-pi-skills/tree/main/skills/design-references) 방법론을 채택하여 구축되었습니다.
> ⚠️ **이 패키지는 콘텐츠가 아닌 메커니즘을 재현합니다.** 라우팅, 규율, 도구는 완전히 자체 포함되어 있습니다(클론 → `cp -RL` → 실행). 그러나 *참조 라이브러리*는 개인화되어 있습니다 — 몇 가지 주요 리소스가 `~/Desktop/Design/...` 및 `~/resources/design-references.md`를 가리키며, 이러한 개인 자산은 저장소에 포함되지 않습니다. 새 머신에서는 이러한 항목이 폴백 체인(`web_search` + `dembrandt` + 내장 시그니처 규율)으로 대체됩니다. 전체 개인 참조 세트가 필요하면 해당 디렉토리를 직접 복사하십시오. 없이도 이 패키지는 "시그니처 규율 + 웹 연구" 디자인 에이전트로 작동합니다.
## 포함 내용
| 구성 요소 | 역할 |
| --- | --- |
| [`plugins/design-router/`](plugins/design-router/) | 결정적 도구 Cordis 플러그인(읽기 전용 도구 6개 + 로컬 로그 작성기 1개, 외부 런타임 의존성 제로) |
| [`presets/my-agent/`](presets/my-agent/) | DSH 에이전트 프리셋(`agent.cordis.yml` + `preset.yml`): 3계층 라우팅 역할(단계 → 분기 → 단계) 및 단계별 확인 게이트 |
| [`skills/design-references/`](skills/design-references/) | 단계/분기 라우팅 스킬(단계 분류 → A 제품 / B 콘텐츠 / C 일반 → 5단계), DSH 어댑티드 버전 |
| [`skills/hallmark/`](skills/hallmark/) | AI 슬롭 방지 실행 스킬([nutlope/hallmark](https://github.com/nutlope/hallmark)의 MIT 업스트림 사본; `site/` 테마 토큰 및 예제가 스킬에 내장되어 자체 포함) |
> **DSH 버전 요구 사항: `0.1.5-rc.1` 이상.** 역할 플러그인 패턴은 0.1.5에서 변경되었습니다(`text` → `prefix` + `suffix`). 여전히 `text:`를 사용하는 프리셋은 `$.prefix missing required value` 오류로 마운트되지 않습니다. 이 저장소의 프리셋은 0.1.5 패턴을 기반으로 하며 0.1.5에서 도입된 두 줄(`present`(`dsh-tool-present`, 전달 선언) 및 `command-goal`(`/goal` 명령))을 사용합니다.
## plugins/design-router — 결정적 도구
[my-pi-skills](https://github.com/haohaiHuang/my-pi-skills)의 `extensions/design-router`에서 포팅되었습니다(pi 확장 → DSH Cordis 플러그인). `my-agent` 프리셋이 `agent.cordis.yml`의 **상대 경로 줄**을 통해 마운트합니다(프리셋의 `plugins/`는 저장소 루트 `plugins/`에 대한 상대 심볼릭 링크이며, 설치 시 `cp -RL`로 확장됩니다 — 절대 경로 불필요):
```yaml
- id: design-router
name: './plugins/design-router/index.mjs'
```
### 도구
| 도구 | 용도 | 단계 |
| --- | --- | --- |
| `design_lookup <branch> <stage>` | 디자인 리소스 레지스트리 조회(R/C/E/V 3차원 인덱스 + 폴백 체인 + 출처; 출력 스타일 버킷) | "이 단계에서 무엇을 참조해야 하나?" |
| `design_route <need>` | 요구 키워드를 권장 스타일 버킷 조합(주요 필수 + 보조 선택) 및 버킷별 대표 리소스에 매핑 | 1단계 연구(동질화 방지 라우팅) |
| `design_diversity <c1> <c2> <c3>` | 후보 3개의 차이점 기계 검사(색상 계열 / 글꼴 톤 / 출처 버킷), 통과/실패 | 1단계 후보 제시 전(동질화 방지 검사) |
| `design_quality <report\|query>` | 출처 품질 신호 기록/조회(추출 성공률 / 재작업률 / 도달 가능성 — 객관적, 취향 기반 아님); 로컬 로그, git에 없음 | 4단계 후 기록 / 1단계 내림차순 소비 |
| `design_audit <target>` | 기계 슬롭 게이트(시그니처 머신 하위 집합) + 인터페이스 CS-* 8규칙 + 4단계 스캔 + 상속 비교 | 4단계 검증 |
| `design_contrast <target>` | WCAG 2.1 + APCA 근사 대비 | 4단계 검증 |
### pi 버전과의 의도적 차이점
- **제거됨** `design_research`(DSH는 ledger-grep + refero 프로브 + `web_search` 폴백 체인 사용)
- **제거됨** `hallmark_study_fetch`(DSH는 `dembrandt` / `defuddle` 사용)
- **제거됨** `before_agent_start` 주입 및 `/design-router` 명령(DSH 스킬 로딩 메커니즘이 라우팅을 이미 처리)
- **`@deepseek-ai/dsh-tools`에 의존하지 않음**(워크스페이스 모듈이 dsh 설치 디렉토리를 해석할 수 없음); 도구 정의는 순수 JSON Schema로 구축 — 외부 런타임 의존성 제로
### 레이아웃
```
plugins/design-router/
├── index.mjs # 플러그인 진입점: 6개 도구 등록(5개 읽기 전용 + 1개 로컬 로그 작성기)
├── checks/ # 포팅된 검사기(TS→JS): 타이포그래피/레이아웃/접근성/카피/대비/치트/슬롭 제거/에셋/타입
│ └── kill-slop.test.mjs # KS-* 회귀 테스트(node checks/kill-slop.test.mjs)
└── data/
└── registry.json # registry.md의 데이터 형태(91개 리소스 × 9개 분기 라우팅)
```
### 기계 게이트 범위
`design_audit`는 7개 검사기 모듈을 실행하고 게이트 번호가 있는 할 일 목록을 반환합니다:
| 계열 | 게이트 | 출처 |
| --- | --- | --- |
| Hallmark 슬롭 | 1/2/10/14/19/24/26/27/30/33/34/37/38a/39/40/41/46/47/50/51 | hallmark `slop-test.md`(기계 하위 집합) |
| 인터페이스 CS-* | CS-1…CS-8 | interfaces.dev 치트 시트 |
| 모션 EM-* | EM-2/3/5(EM-1/7/8은 게이트 10/14/27에 매핑) | emilkowalski/skills |
| kill-ai-slop KS-* | KS-03/04/05/08/14 | kill-ai-slop 트랜스크립트 |
| 에셋 계층 DR-A* | DR-A1/DR-A2 | Anshu 에셋 계층 게이트(브랜드 로고/이미지 존재성) |
| design-references 4단계 | DR-4(글꼴 두께/모서리 반경 과사양) | design-references workflow.md |
### 유지 관리
- `registry.md`는 **진실의 원천**입니다(`~/.agents/skills/design-references/references/registry.md`); 편집 후 `node plugins/design-router/scripts/build-registry.mjs`를 실행하여 `data/registry.json`(+ `data/manifest.json` 버전 메타데이터)을 재생성하십시오. **registry.json을 수동으로 편집하지 마십시오.**
- 검사기 로직은 업스트림 `extensions/design-router/checks/`(TS→MJS 포팅)를 따릅니다; 업스트림 업데이트 후 `node plugins/design-router/scripts/check-checks-sync.mjs /path/to/my-pi-skills/extensions/design-router/checks`를 실행하여 게이트 범위를 검증하십시오 — **그런 다음 검사기 상수를 수동으로 비교하십시오**: 게이트 번호 동등성은 세부 드리프트(예: 확장된 기본 글꼴 목록)를 포착하지 못합니다. KS 회귀 테스트가 이러한 드리프트를 포착합니다.
- 검사기 변경 후: `node index.test.mjs` 및 `node checks/kill-slop.test.mjs` 실행.
## 일회성 재현(새 머신)
저장소는 **메커니즘**을 재현합니다: 플러그인 + 프리셋 + DSH 어댑티드 스킬은 모두 저장소 내에 있습니다(참조 라이브러리 *콘텐츠*는 개인화되어 있음 — 상단 경고 참조).
```bash
# ── 저장소와 함께 제공(클론 → 실행) ──
# 1. 스킬(design-references는 DSH 어댑티드 버전; hallmark는 MIT 업스트림 사본)
cp -R skills/design-references ~/.agents/skills/
cp -R skills/hallmark ~/.agents/skills/
# 2. 프리셋(cp -RL은 presets/my-agent/의 상대 플러그인 심볼릭 링크를 자체 포함 사본으로 확장 —
# 설치 후 프리셋은 저장소 경로에 의존하지 않으며 자유롭게 복사/마이그레이션 가능)
mkdir -p ~/.dsh/.agent-presets
cp -RL presets/my-agent ~/.dsh/.agent-presets/
# 3. 플러그인 소스(git 관리를 위해 저장소 루트 plugins/ 아래 유지)
# 프리셋은 상대 경로 './plugins/design-router/index.mjs'로 참조:
# presets/my-agent/plugins는 저장소 루트 plugins/에 대한 상대 심볼릭 링크이며,
# cp -RL이 실제 디렉토리로 확장 — 어떤 머신에서도 경로 편집 불필요.
# 4. 외부 의존성(소프트 의존성 — 누락 시 우아하게 폴백)
npm install -g dembrandt # URL → 디자인 토큰(1단계 후보 검증)
# defuddle: npm install -g defuddle
# npm install -g @open-pencil/cli # 선택 사항: .fig/.pen 디자인 파일 읽기/변환/검증(Figma 계열 스킬 / 수동 검토로 폴백)
# ── 직접 제공(개인 선택; 누락 시 폴백 체인으로 대체) ──
# 5. 머신 로컬 에셋(ledger + kami/zine/logo-generator 참조 라이브러리)
# 없이도 이 패키지는 "시그니처 규율 + web_search/dembrandt"
# 디자인 에이전트로 작동하지만 후보 풀에서 개인 선택이 사라집니다.
```
**참고**: 프리셋의 플러그인 줄은 **상대 경로**(`./plugins/design-router/index.mjs`, `presets/my-agent/plugins`는 `cp -RL`로 확장되는 상대 심볼릭 링크)를 사용하므로 새 머신에서는 프리셋 디렉토리만 복사하면 됩니다 — **경로 편집 불필요**. 심볼릭 링크를 피하려면 `plugins/design-router/`를 `presets/my-agent/plugins/`에 복사하고 일반 `cp -R`을 사용하면 됩니다(결과는 동일, 사본 하나 더).
### 저장소 구조
```
├── plugins/design-router/ # 결정적 도구 플러그인(도구 6개, 런타임 의존성 제로)
├── presets/my-agent/ # DSH 프리셋(agent.cordis.yml + preset.yml)
├── skills/
│ ├── design-references/ # 라우팅 스킬(DSH 어댑티드 버전)
│ └── hallmark/ # AI 슬롭 방지 스킬(MIT 업스트림 사본, site/ 테마 에셋 포함)
├── README.md # 영어(기본)
└── README.zh.md # 중국어
```
## 타사 콘텐츠 및 라이선스 귀속
이 저장소는 다음 타사 콘텐츠를 번들합니다(업스트림 라이선스/귀속 유지):
| 콘텐츠 | 출처 | 라이선스 | 위치 |
| --- | --- | --- | --- |
| hallmark 스킬 + `site/` 테마 토큰 및 예제 | [nutlope/hallmark](https://github.com/nutlope/hallmark) | MIT(전문은 [`skills/hallmark/LICENSE`](skills/hallmark/LICENSE) 참조) | `skills/hallmark/` |
| 레지스트리가 참조하는 외부 디자인 리소스(kami/zine/logo-generator 등) | 각각의 업스트림 저장소 | 링크 참조만(번들 아님; 출처 URL은 [`registry.md`](skills/design-references/references/registry.md) 참조) | — |
기타 모든 콘텐츠(`plugins/`, `presets/`, `skills/design-references/`)는 이 저장소의 원본이며 [MIT 라이선스](LICENSE)(저작권 © 2026 haohaiHuang)를 따릅니다.
## 관련 프로젝트
- [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) — 이 패키지를 실행하는 인프라(`dsh`, 모든 것이 플러그인)
- [my-pi-skills](https://github.com/haohaiHuang/my-pi-skills) — 업스트림 스킬 저장소(design-references / skill-router / vision)
- [awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin) — 선별된 DSH 플러그인 목록
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.