DS — 공정 시퀀스 모델링 & 시뮬레이션
데스크톱과 vscode.dev 에서 같은 소스로 동작합니다. 진입점이 하나뿐이라 한쪽에만 기능을 넣으려면 소스에 분기를 써야 하고, 그 분기는 하나( 유일한 실제 차이는 우리가 만든 것이 아니라 플랫폼 제약입니다 — 웹에서는 AI 공급자 직접 호출이 그 공급자의 CORS 정책을 탑니다. 뷰·시뮬레이션·DS2 Text 는 양쪽이 동일합니다. 무엇을 하나
|
| 구조 | 시간 | 분석 |
|---|---|---|
| 3D 인과 · 순서도 · 시퀀스 | 타임차트 · 크리티컬 패스 | AAS 서브모델 · θπ 테이블 · 인과 매트릭스 · 원인·영향 · IO Xref · DS2 Text |
모든 뷰는 같은 모델 하나의 투영입니다. 뷰마다 다른 이야기를 하지 않습니다.
시뮬레이션
편집기 제목 표시줄의 ▶ 로 시작합니다. Work·Call 이 Ready → Going → Finish 로 전이하는 것이 3D 와 상태 패널에 실시간으로 나타납니다.
- 속도 0.25× ~ 10× (논리 시간에만 곱하므로 결과가 재현됩니다)
- 상태 표시줄에
▶ 2.4s · 진행 2
엔진은 실제 DS2 런타임입니다. 데스크톱 Promaker 와 같은 코드가 WebAssembly 로 돌고, 같은 모델에 대해 같은 결과를 냅니다.
모델 대화
활동 표시줄의 DS 아이콘(또는 모델 뷰 제목 표시줄의 💬)을 누르면 대화 패널이 열립니다. 열려 있는 모델을 보면서 답합니다.
이 모델에서 제품 전달은 누가 맡아?
시퀀스 보여줘
시뮬 돌려봐
ST02 의 Call 순서를 설명해줘
왜 자체 패널인가 — VS Code 의 채팅 패널은 내장이 아닙니다.
product.json의defaultChatAgent가 가리키듯 GitHub Copilot Chat 이 제공합니다. 그것이 없는 PC 에서는 채팅 참가자를 등록해도 띄울 자리가 없습니다. 채팅 상자 하나 때문에 다른 확장의 구독에 묶일 이유가 없어 패널을 직접 둡니다.Copilot Chat 이 설치돼 있으면 거기서
@ds로도 부를 수 있습니다. 두 창구는 같은 코드 경로를 쓰므로 답이 갈라지지 않습니다.
모델은 DS2 Text 원문으로 전달됩니다 — 그 표기가 애초에 사람과 AI 가 읽도록 설계됐습니다.
시퀀스 보여줘 · 시뮬 돌려봐 같은 조작은 언어 모델을 거치지 않고 바로 실행됩니다. 느릴 이유도, 비쌀 이유도 없습니다.
AI 공급자
기본값은 NAVER CLOVA Studio (HyperCLOVA X) 입니다. 처음 쓰실 때 명령 팔레트에서 DS: AI 키 등록… 으로 본인 키를 넣으시면 됩니다.
| 공급자 | 키 | 웹(vscode.dev) |
|---|---|---|
| NAVER CLOVA Studio (기본) | 필요 | CORS 로 막힘 |
| Claude CLI | 불필요 — 이미 로그인된 로컬 claude 실행 |
데스크톱 전용 |
| VS Code 언어 모델 | 불필요 — 기존 로그인(Copilot 등) 사용 | 동일 |
| Anthropic Claude (API 키) · OpenAI · Google · Azure OpenAI | 필요 | 동작 |
| Ollama (로컬) | 불필요 | 데스크톱 전용 |
Claude CLI 를 고르면 키가 아예 필요 없습니다 — Claude Code 에 이미 로그인해 두셨다면 그 구독을 그대로 씁니다.
claude 를 PATH 에서 찾고, 없으면 Windows 에서 wsl.exe -e claude 를 시도합니다(WSL 에만 설치한 흔한 경우). 직접 지정하려면 ds.ai.claudeCliPath 를 쓰세요.
모델 원문은 명령행이 아니라 표준 입력으로 넘기므로 큰 모델도 잘립니다 — 61KB 까지 확인했습니다. 파일·셸·네트워크 도구는 모두 꺼 둡니다.
DS: AI 공급자 선택… 으로 언제든 바꿀 수 있고, DS: AI 사용 상태 에서 지금 무엇이 어디로 가는지 확인할 수 있습니다.
웹에서의 제약 — 브라우저 확장 호스트에서는 공급자가 교차 출처(CORS) 호출을 허용해야 합니다. NAVER CLOVA Studio 는 허용하지 않으므로(프리플라이트 403) 웹에서는 VS Code 언어 모델 이나 Anthropic 을 쓰세요. 데스크톱에는 이 제약이 없습니다.
DS: AI 사용 상태가 지금 어느 호스트인지 알려 줍니다.키 보관 — API 키는 OS 키체인(SecretStorage) 에만 저장됩니다. 설정 파일에 키 항목을 아예 만들지 않았습니다. 설정 동기화와 git 으로 퍼지기 때문입니다. 실수로
ds.ai.*에 키 같은 값이 보이면 경고합니다.전송 범위 — 모델 원문은 선택한 공급자에게만 갑니다. 이 확장은 자체 서버를 두지 않습니다.
DS2 Text (.ds2)
문법 강조 · 블록 접기 · 개요(Outline). 모델 뷰의 { } DS2 Text 탭에서 정규 원문을 언제든 뽑을 수 있습니다.
빠른 시작
.sdf파일을 엽니다 (Ctrl+O). 모델 뷰가 자동으로 뜹니다- 상단 탭으로 뷰를 바꿉니다
- ▶ 로 시뮬레이션을 시작합니다
- 활동 표시줄의 DS 아이콘에서 모델에 대해 물어봅니다
처음 모델을 열 때 런타임 부팅에 0.5~1초 걸립니다. 그 뒤로는 즉시 열립니다.
.sdf 가 정본입니다
.ds2(DS2 Text)는 원문이거나 투영입니다. 둘은 쓰임이 다릅니다.
| 방향 | 무엇인가 |
|---|---|
.sdf → .ds2 |
내보내기. 읽기·공유·AI 입력용. 언제든 다시 뽑습니다 |
.ds2 → .sdf |
작성. 사람·AI 가 텍스트로 모델을 만듭니다 (다음 릴리스) |
.ds2 를 고쳐도 열려 있는 .sdf 는 저절로 바뀌지 않습니다.
한 가지 알아 두실 것 — 왕복은 항등이 아닙니다. DS2 Text 는 Work 안 call 이름이 유일해야 해서, 한 Work 가 같은 장치를 여러 번 부르면 로봇1_아우터취출 처럼 이름을 넓힙니다. 시스템·Flow·Work·API·화살표와 호출 대상은 전부 보존되지만, Call 의 장치 별칭 표기는 달라질 수 있습니다.
DS1 사용자에게
이 확장은 DS2 Text v4 만 다룹니다. DS1([sys]·[flow] 블록, >|>·<|< 복합 연산자)은 별개의 확장이 담당합니다.
- DS1 원문을 열면 잘못된 오류를 내지 않습니다. 진단을 끄고 한 번만 안내합니다
- 자동 변환은 제공하지 않습니다. DS1 → DS2 Text 변환기는 존재하지 않으며, 다시 작성해야 합니다
- 계속 DS1 이 필요하시면
dualsoft.ds(v1.0.27) 를 설치해 쓰세요. 두 확장은 나란히 설치해도 됩니다 — 이 확장은.ds2, 그쪽은.ds를 다루므로 서로 건드리지 않습니다
요구 사항
- VS Code 1.95 이상 (데스크톱 또는 vscode.dev)
- 모델 대화에는 AI 공급자 키 또는 언어 모델을 제공하는 확장(GitHub Copilot 등)이 필요합니다. 둘 다 없어도 뷰·시뮬레이션·DS2 Text 는 모두 동작하고,
시퀀스 보여줘·시뮬 돌려봐같은 조작도 AI 없이 됩니다
설정
| 설정 | 기본 | 설명 |
|---|---|---|
ds.simulation.speed |
1 |
시뮬레이션 속도 배수 (논리 시간에만 적용) |
ds.legacy.showDs1Notice |
true |
DS1 원문을 열었을 때 지원 종료 안내 |
ds.ai.provider |
clova |
@ds 가 쓸 AI 공급자 |
ds.ai.model |
"" |
모델 이름. 비우면 공급자 기본값 (Claude CLI 는 sonnet) |
ds.ai.claudeCliPath |
"" |
claude 실행 파일 경로. 비우면 자동 탐지 |
ds.ai.anthropicWorkspaceId |
"" |
조직 키를 쓸 때만 필요한 Anthropic 워크스페이스 ID |
ds.ai.clovaStage |
testapp |
CLOVA 테스트 앱 / 서비스 앱 (키가 다릅니다) |
ds.ai.clovaHost |
https://clovastudio.stream.ntruss.com |
CLOVA 엔드포인트 |
ds.ai.azureEndpoint |
"" |
Azure OpenAI 엔드포인트 |
ds.ai.ollamaHost |
http://127.0.0.1:11434 |
Ollama 주소 |
API 키 설정은 목록에 없습니다. 일부러 만들지 않았습니다 — 키는 DS: AI 키 등록… 으로만 넣습니다.
소스
github.com/DualsoftDev/ds2 — 모델·엔진·언어가 모두 공개돼 있습니다.
DS2 는 IDTA Asset Administration Shell 을 따르는 공정 시퀀스 표현입니다. 확장에 들어 있는 런타임은 실제 설비를 구동하는 것과 같은 엔진입니다.