Rust
0
90 commits
updated Sep 5, 2026
Apple Silicon Mac에서 회의를 녹음하고, 화자를 구분해 전사하고,
필요한 경우 AI로 회의록까지 정리하는 로컬 우선 데스크톱 앱
[!IMPORTANT] Galpi 0.1.0은 macOS 14 이상 Apple Silicon(M1 이상) 전용 개발 빌드입니다. 현재 DMG는 서명·공증되지 않았으며 Intel Mac, Windows, Linux는 지원하지 않습니다.
Galpi는 회의 음성을 앱 안에서 녹음하거나 기존 파일로 가져와, 한국어 전사와 화자분리를 로컬에서 수행합니다. 전사 엔진은 설정의 전사 엔진에서 선택하며 기본값은 Qwen3(Qwen3-ASR-1.7B + Qwen3-ForcedAligner-0.6B)이고 이전 엔진 WhisperX(faster-whisper large-v3-turbo)를 그대로 고를 수 있습니다. 화자분리는 두 프리셋이 pyannote community-1을 공용합니다. 전사 결과는 사용자가 고른 폴더에 저장되며, 선택적으로 OpenAI 호환 API를 사용해 한국어 회의록 Markdown을 만들 수 있습니다.
| 기능 | 내용 |
|---|---|
| 바로 녹음 | CoreAudio 마이크 입력을 16-bit PCM WAV로 저장 |
| 파일 가져오기 | m4a, mp3, wav, mp4, mov, aac, flac, ogg |
| 로컬 전사 | Qwen3(기본) 또는 WhisperX 프리셋 한국어 ASR |
| 화자분리 | pyannote 기반 분리, 자동·정확히·최소/최대 화자 수 힌트 |
| 문장 정렬 | 한국어 문장 정렬과 장기 무음 환각 필터링 |
| 참석자 명부 | 이름·팀·역할·별칭·설명을 회의마다 재사용 |
| 단어집 | 고유명사와 전문 용어를 회의록 가공에 반영 |
| AI 회의록 | OpenAI 호환 API로 결정·담당·기한 중심 Markdown 생성 |
| 작업 제어 | 준비·전사 취소와 상세 로그, AI 증강 진행률·오류 표시 |
필수 환경:
cargo install tauri-cli --version 2.11.4 --locked
bun install
bun run dev
bun run dev는 검증된 arm64 uv, Python worker, 프론트엔드, Tauri 앱을 준비해 실행합니다. Python, ffmpeg, WhisperX를 전역으로 미리 설치할 필요는 없습니다.
준비됨이 될 때까지 기다립니다. 전사 엔진 선택지 아래에는 각 프리셋의 준비 상태가 함께 표시됩니다.최초 준비에서는 앱 전용 Python 3.12 환경과 수 GB의 모델을 내려받을 수 있습니다. 이후에는 같은 앱 데이터 폴더와 모델 캐시를 재사용합니다. 두 프리셋은 서로 다른 가상환경(engine/, engine/qwen3/)에 설치되므로 한쪽을 준비해도 다른쪽에 영향을 주지 않습니다.
화자분리 모델을 처음 내려받을 때만 필요합니다.
pyannote/speaker-diarization-community-1의 이용 조건에 동의합니다.hf_로 시작하는 값을 Galpi 설정에 저장합니다.쓰기 권한과 Inference Providers 권한은 필요하지 않습니다.
앱에서 녹음
녹음은 bounded queue와 전용 WAV writer를 사용해 점진적으로 저장합니다. 버리기를 선택하면 부분 파일을 제거합니다.
[!NOTE] 현재는 선택한 Mac 마이크 입력만 녹음합니다. Zoom, Meet 등의 시스템 오디오는 직접 캡처하지 않습니다.
기존 녹음 가져오기
자동, 정확히 알면 정확히, 범위만 알면 범위를 고릅니다.설정에서 다음 정보를 저장해 여러 회의에 재사용할 수 있습니다.
이 정보는 화자 이름과 용어 표기를 안정적으로 정리하는 데 사용됩니다.
전사가 끝난 뒤 AI 증강 실행을 누르면 OpenAI 호환 API로 Markdown 회의록을 생성합니다. 새 녹음·전사 없이 이미 가지고 있는 전사문도 03 전사 결과 AI 증강 패널의 전사문 파일 가져오기로 바로 증강할 수 있습니다(txt·md).
glm-5.3-flashhttps://api.z.ai/api/coding/paas/v4준비 순서:
설정의 AI 증강 섹션에 사용할 서비스의 API Key를 입력합니다. 저장한 키는 마스킹되어 다시 표시되지 않습니다. 키를 바꾸려면 AI 증강 API 키 지우기로 지운 뒤 새 키를 입력하세요.AI 증강 실행을 누릅니다.[!WARNING] 음성 녹음과 전사(Qwen3·WhisperX 모두)는 로컬에서 처리됩니다.
AI 증강 실행을 누르면 전사문, 이번 회의에서 선택한 참석자, 단어집, 사전 정보가 설정한 외부 API로 전송됩니다. 민감한 회의에서는 사용 중인 API 제공자의 보안·보존 정책을 먼저 확인하세요.
기본 저장 위치는 ~/Documents/Galpi입니다(출력 폴더에서 변경할 수 있습니다). 회의 하나에 폴더 하나가 대응됩니다. 마이크 녹음은 시작 시각으로 폴더를 만들고(YYYY-MM-DD HHMMSS 녹음), 전사 결과는 오디오 파일 이름과 같은 폴더에 저장됩니다. 폴더 안의 모든 파일은 폴더와 같은 이름을 공유합니다.
~/Documents/Galpi/
├── 2026-08-24 143052 녹음/ # 마이크 녹음 (시작 시각으로 자동 이름)
│ ├── 2026-08-24 143052 녹음.wav
│ ├── 2026-08-24 143052 녹음.srt
│ ├── 2026-08-24 143052 녹음_화자별.txt
│ ├── 2026-08-24 143052 녹음.aligned.v2.json
│ └── 2026-08-24 143052 녹음_회의록.md # AI 증강 실행 시
└── 팀미팅/ # 가져온 오디오·전사문 (원본 이름 그대로)
├── 팀미팅.srt
├── 팀미팅_화자별.txt
├── 팀미팅.aligned.v2.json
└── 팀미팅_회의록.md
같은 이름의 회의가 이미 있으면 팀미팅 2처럼 번호를 붙입니다. 정렬 체크포인트(.aligned.v2.json)는 WhisperX 프리셋에서만 만들어지며, 있으면 같은 오디오를 다시 전사할 때 전사·정렬 단계를 건너뜁니다. Qwen3 프리셋은 srt·txt만 만들고 체크포인트를 남기지 않습니다.
| 파일 | 용도 |
|---|---|
.srt | 자막과 타임코드 |
_화자별.txt | 화자 단위 읽기 쉬운 전사문 |
.aligned.v2.json | 문장 정렬 체크포인트와 재처리 기반(WhisperX 전용) |
_회의록.md | 결정, 담당, 기한, 논의 내용을 정리한 문서 |
완료 화면에서 파일을 열거나 Finder에서 출력 폴더를 확인할 수 있습니다.
0600 권한으로 저장됩니다.src-tauri/src/adapters/outbound/secrets.rs에 준비되어 있습니다).TypeScript UI
│ Tauri IPC + validated events
▼
Rust application
│ ports
├── CoreAudio recorder
├── filesystem / opener
└── supervised Python worker
│ versioned JSONL
▼
Qwen3·WhisperX / pyannote / assistant
| 경로 | 역할 |
|---|---|
src/ | 도메인 계약(작업·화자·백엔드 포트)과 검증, 상태 머신, Zod 경계, DOM UI |
src-tauri/ | Tauri 명령, Rust use case·도메인 값 객체, 녹음·프로세스 어댑터 |
worker/ | Qwen3·WhisperX 프리셋 전사, 정렬, 화자분리, 회의록 가공 |
scripts/ | 아키텍처 검사, sidecar staging, DMG 패키징 |
DESIGN.md | UI, 접근성, 컴포넌트 상태의 규범 |
docs/ARCHITECTURE.md | 레이어 구조와 포트 소유권의 규범 |
docs/ROADMAP.md | 현재 상태와 다음 제품 단계 |
bun run check
bun test
Python 검증에는 uv/uvx가 PATH에 있어야 합니다. Homebrew를 사용한다면 brew install uv로 설치할 수 있습니다. <WhisperX Python 경로>에는 WhisperX가 설치된 Python 실행 파일의 절대 경로를 넣습니다.
cargo fmt --manifest-path src-tauri/Cargo.toml --check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml --all-targets
uvx ruff check worker
uvx ruff format --check worker
uvx basedpyright --pythonpath <WhisperX Python 경로>
PYTHONPATH=. python3 -m unittest discover -s worker/tests -t . -v
bun run build
결과:
src-tauri/target/release/bundle/macos/Galpi.app
src-tauri/target/release/bundle/dmg/Galpi_0.1.0_aarch64.dmg
빌드는 .app을 만든 뒤 hdiutil로 DMG를 생성합니다.
서명·공증되지 않은 DMG를 받은 Mac은 Gatekeeper가 실행을 막습니다. 배포 전에 Apple Developer 인증서로 서명하고 공증하세요.
서명이 붙으면 자격 증명도 Keychain으로 옮길 수 있습니다. macOS는 Keychain 항목의 접근 권한을 앱의 코드 서명에 묶어 두므로, 서명이 고정되기 전에는 사용자가 업데이트할 때마다 접근 허용 창을 보게 됩니다.
.github/workflows/release.yml이 v* 태그에서 DMG를 만들고, 아래 저장소 시크릿이 설정되어 있으면 서명·공증까지 수행한 뒤 codesign/spctl로 검증합니다.
| 시크릿 | 내용 |
|---|---|
APPLE_CERTIFICATE | Developer ID Application 인증서(.p12)의 base64 |
APPLE_CERTIFICATE_PASSWORD | 해당 .p12의 비밀번호 |
APPLE_SIGNING_IDENTITY | 예: Developer ID Application: 이름 (TEAMID) |
APPLE_ID / APPLE_PASSWORD / APPLE_TEAM_ID | 공증용 Apple ID와 앱 암호, 팀 ID |
시크릿이 없으면 워크플로는 기존처럼 ad-hoc 서명 DMG를 만들며, 이는 내부 테스트용입니다.
Hardened Runtime에 필요한 entitlement는 src-tauri/Entitlements.plist에 이미 선언되어 있습니다. Galpi는 첫 실행에서 자체 Python 환경을 설치하고 그 안의 PyTorch·MLX를 불러오므로 라이브러리 검증 비활성화와 실행 가능 메모리 허용이 필요합니다. 아직 서명된 빌드를 만들어 검증한 적은 없으므로, 첫 공증 시 이 부분을 반드시 확인하세요.
| 증상 | 확인할 내용 |
|---|---|
cargo tauri 명령을 찾을 수 없음 | cargo install tauri-cli --version 2.11.4 --locked |
| 로컬 엔진 준비가 중간에 실패함 | 같은 버튼을 다시 누르면 이어서 재시도합니다(실패한 부분 설치는 자동으로 정리됩니다). 네트워크 상태도 확인하세요 |
| Qwen3 준비 시 내려받을 파일이 큼 | Qwen3 프리셋은 전사·정렬 모델 합계 약 6.6GB를 내려받습니다 |
| 모델 다운로드가 401/403으로 실패 | 모델 이용 조건 동의와 Fine-grained Read 토큰 확인 |
| 마이크 녹음이 시작되지 않음 | 시스템 설정에서 Galpi 마이크 권한 확인 |
| 상대방 음성이 녹음되지 않음 | 현재 시스템 오디오 캡처는 지원하지 않음 |
| AI 회의록이 실패함 | API Key, Base URL, 모델 이름, 제공자 사용량 한도 확인 |
| 다른 Mac에서 앱을 열 수 없음 | 미서명·미공증 빌드는 Gatekeeper가 막습니다. 서명·공증해 배포하세요(위 "다른 사람에게 배포할 때") |
앱 업데이트 후 엔진이 다시 대기로 표시됨 | 엔진 준비 마커가 의존성 잠금 파일의 해시를 따릅니다. 잠금이 바뀌면 로컬 엔진 준비를 한 번 더 눌러 환경을 맞춥니다(모델은 다시 받지 않습니다) |
Galpi는 활발히 개발 중인 0.1.0 프로젝트입니다. 배포 자동 업데이트, 서명·공증, 시스템 오디오 캡처, 회의 라이브러리는 이후 단계로 계획되어 있습니다. 자세한 계획은 docs/ROADMAP.md를 참고하세요.
90 commits
Rust
38.6%
TypeScript
32.1%
Python
24.1%
CSS
5.2%
Rust
0
90 commits
updated Sep 5, 2026
Apple Silicon Mac에서 회의를 녹음하고, 화자를 구분해 전사하고,
필요한 경우 AI로 회의록까지 정리하는 로컬 우선 데스크톱 앱
[!IMPORTANT] Galpi 0.1.0은 macOS 14 이상 Apple Silicon(M1 이상) 전용 개발 빌드입니다. 현재 DMG는 서명·공증되지 않았으며 Intel Mac, Windows, Linux는 지원하지 않습니다.
Galpi는 회의 음성을 앱 안에서 녹음하거나 기존 파일로 가져와, 한국어 전사와 화자분리를 로컬에서 수행합니다. 전사 엔진은 설정의 전사 엔진에서 선택하며 기본값은 Qwen3(Qwen3-ASR-1.7B + Qwen3-ForcedAligner-0.6B)이고 이전 엔진 WhisperX(faster-whisper large-v3-turbo)를 그대로 고를 수 있습니다. 화자분리는 두 프리셋이 pyannote community-1을 공용합니다. 전사 결과는 사용자가 고른 폴더에 저장되며, 선택적으로 OpenAI 호환 API를 사용해 한국어 회의록 Markdown을 만들 수 있습니다.
| 기능 | 내용 |
|---|---|
| 바로 녹음 | CoreAudio 마이크 입력을 16-bit PCM WAV로 저장 |
| 파일 가져오기 | m4a, mp3, wav, mp4, mov, aac, flac, ogg |
| 로컬 전사 | Qwen3(기본) 또는 WhisperX 프리셋 한국어 ASR |
| 화자분리 | pyannote 기반 분리, 자동·정확히·최소/최대 화자 수 힌트 |
| 문장 정렬 | 한국어 문장 정렬과 장기 무음 환각 필터링 |
| 참석자 명부 | 이름·팀·역할·별칭·설명을 회의마다 재사용 |
| 단어집 | 고유명사와 전문 용어를 회의록 가공에 반영 |
| AI 회의록 | OpenAI 호환 API로 결정·담당·기한 중심 Markdown 생성 |
| 작업 제어 | 준비·전사 취소와 상세 로그, AI 증강 진행률·오류 표시 |
필수 환경:
cargo install tauri-cli --version 2.11.4 --locked
bun install
bun run dev
bun run dev는 검증된 arm64 uv, Python worker, 프론트엔드, Tauri 앱을 준비해 실행합니다. Python, ffmpeg, WhisperX를 전역으로 미리 설치할 필요는 없습니다.
준비됨이 될 때까지 기다립니다. 전사 엔진 선택지 아래에는 각 프리셋의 준비 상태가 함께 표시됩니다.최초 준비에서는 앱 전용 Python 3.12 환경과 수 GB의 모델을 내려받을 수 있습니다. 이후에는 같은 앱 데이터 폴더와 모델 캐시를 재사용합니다. 두 프리셋은 서로 다른 가상환경(engine/, engine/qwen3/)에 설치되므로 한쪽을 준비해도 다른쪽에 영향을 주지 않습니다.
화자분리 모델을 처음 내려받을 때만 필요합니다.
pyannote/speaker-diarization-community-1의 이용 조건에 동의합니다.hf_로 시작하는 값을 Galpi 설정에 저장합니다.쓰기 권한과 Inference Providers 권한은 필요하지 않습니다.
앱에서 녹음
녹음은 bounded queue와 전용 WAV writer를 사용해 점진적으로 저장합니다. 버리기를 선택하면 부분 파일을 제거합니다.
[!NOTE] 현재는 선택한 Mac 마이크 입력만 녹음합니다. Zoom, Meet 등의 시스템 오디오는 직접 캡처하지 않습니다.
기존 녹음 가져오기
자동, 정확히 알면 정확히, 범위만 알면 범위를 고릅니다.설정에서 다음 정보를 저장해 여러 회의에 재사용할 수 있습니다.
이 정보는 화자 이름과 용어 표기를 안정적으로 정리하는 데 사용됩니다.
전사가 끝난 뒤 AI 증강 실행을 누르면 OpenAI 호환 API로 Markdown 회의록을 생성합니다. 새 녹음·전사 없이 이미 가지고 있는 전사문도 03 전사 결과 AI 증강 패널의 전사문 파일 가져오기로 바로 증강할 수 있습니다(txt·md).
glm-5.3-flashhttps://api.z.ai/api/coding/paas/v4준비 순서:
설정의 AI 증강 섹션에 사용할 서비스의 API Key를 입력합니다. 저장한 키는 마스킹되어 다시 표시되지 않습니다. 키를 바꾸려면 AI 증강 API 키 지우기로 지운 뒤 새 키를 입력하세요.AI 증강 실행을 누릅니다.[!WARNING] 음성 녹음과 전사(Qwen3·WhisperX 모두)는 로컬에서 처리됩니다.
AI 증강 실행을 누르면 전사문, 이번 회의에서 선택한 참석자, 단어집, 사전 정보가 설정한 외부 API로 전송됩니다. 민감한 회의에서는 사용 중인 API 제공자의 보안·보존 정책을 먼저 확인하세요.
기본 저장 위치는 ~/Documents/Galpi입니다(출력 폴더에서 변경할 수 있습니다). 회의 하나에 폴더 하나가 대응됩니다. 마이크 녹음은 시작 시각으로 폴더를 만들고(YYYY-MM-DD HHMMSS 녹음), 전사 결과는 오디오 파일 이름과 같은 폴더에 저장됩니다. 폴더 안의 모든 파일은 폴더와 같은 이름을 공유합니다.
~/Documents/Galpi/
├── 2026-08-24 143052 녹음/ # 마이크 녹음 (시작 시각으로 자동 이름)
│ ├── 2026-08-24 143052 녹음.wav
│ ├── 2026-08-24 143052 녹음.srt
│ ├── 2026-08-24 143052 녹음_화자별.txt
│ ├── 2026-08-24 143052 녹음.aligned.v2.json
│ └── 2026-08-24 143052 녹음_회의록.md # AI 증강 실행 시
└── 팀미팅/ # 가져온 오디오·전사문 (원본 이름 그대로)
├── 팀미팅.srt
├── 팀미팅_화자별.txt
├── 팀미팅.aligned.v2.json
└── 팀미팅_회의록.md
같은 이름의 회의가 이미 있으면 팀미팅 2처럼 번호를 붙입니다. 정렬 체크포인트(.aligned.v2.json)는 WhisperX 프리셋에서만 만들어지며, 있으면 같은 오디오를 다시 전사할 때 전사·정렬 단계를 건너뜁니다. Qwen3 프리셋은 srt·txt만 만들고 체크포인트를 남기지 않습니다.
| 파일 | 용도 |
|---|---|
.srt | 자막과 타임코드 |
_화자별.txt | 화자 단위 읽기 쉬운 전사문 |
.aligned.v2.json | 문장 정렬 체크포인트와 재처리 기반(WhisperX 전용) |
_회의록.md | 결정, 담당, 기한, 논의 내용을 정리한 문서 |
완료 화면에서 파일을 열거나 Finder에서 출력 폴더를 확인할 수 있습니다.
0600 권한으로 저장됩니다.src-tauri/src/adapters/outbound/secrets.rs에 준비되어 있습니다).TypeScript UI
│ Tauri IPC + validated events
▼
Rust application
│ ports
├── CoreAudio recorder
├── filesystem / opener
└── supervised Python worker
│ versioned JSONL
▼
Qwen3·WhisperX / pyannote / assistant
| 경로 | 역할 |
|---|---|
src/ | 도메인 계약(작업·화자·백엔드 포트)과 검증, 상태 머신, Zod 경계, DOM UI |
src-tauri/ | Tauri 명령, Rust use case·도메인 값 객체, 녹음·프로세스 어댑터 |
worker/ | Qwen3·WhisperX 프리셋 전사, 정렬, 화자분리, 회의록 가공 |
scripts/ | 아키텍처 검사, sidecar staging, DMG 패키징 |
DESIGN.md | UI, 접근성, 컴포넌트 상태의 규범 |
docs/ARCHITECTURE.md | 레이어 구조와 포트 소유권의 규범 |
docs/ROADMAP.md | 현재 상태와 다음 제품 단계 |
bun run check
bun test
Python 검증에는 uv/uvx가 PATH에 있어야 합니다. Homebrew를 사용한다면 brew install uv로 설치할 수 있습니다. <WhisperX Python 경로>에는 WhisperX가 설치된 Python 실행 파일의 절대 경로를 넣습니다.
cargo fmt --manifest-path src-tauri/Cargo.toml --check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml --all-targets
uvx ruff check worker
uvx ruff format --check worker
uvx basedpyright --pythonpath <WhisperX Python 경로>
PYTHONPATH=. python3 -m unittest discover -s worker/tests -t . -v
bun run build
결과:
src-tauri/target/release/bundle/macos/Galpi.app
src-tauri/target/release/bundle/dmg/Galpi_0.1.0_aarch64.dmg
빌드는 .app을 만든 뒤 hdiutil로 DMG를 생성합니다.
서명·공증되지 않은 DMG를 받은 Mac은 Gatekeeper가 실행을 막습니다. 배포 전에 Apple Developer 인증서로 서명하고 공증하세요.
서명이 붙으면 자격 증명도 Keychain으로 옮길 수 있습니다. macOS는 Keychain 항목의 접근 권한을 앱의 코드 서명에 묶어 두므로, 서명이 고정되기 전에는 사용자가 업데이트할 때마다 접근 허용 창을 보게 됩니다.
.github/workflows/release.yml이 v* 태그에서 DMG를 만들고, 아래 저장소 시크릿이 설정되어 있으면 서명·공증까지 수행한 뒤 codesign/spctl로 검증합니다.
| 시크릿 | 내용 |
|---|---|
APPLE_CERTIFICATE | Developer ID Application 인증서(.p12)의 base64 |
APPLE_CERTIFICATE_PASSWORD | 해당 .p12의 비밀번호 |
APPLE_SIGNING_IDENTITY | 예: Developer ID Application: 이름 (TEAMID) |
APPLE_ID / APPLE_PASSWORD / APPLE_TEAM_ID | 공증용 Apple ID와 앱 암호, 팀 ID |
시크릿이 없으면 워크플로는 기존처럼 ad-hoc 서명 DMG를 만들며, 이는 내부 테스트용입니다.
Hardened Runtime에 필요한 entitlement는 src-tauri/Entitlements.plist에 이미 선언되어 있습니다. Galpi는 첫 실행에서 자체 Python 환경을 설치하고 그 안의 PyTorch·MLX를 불러오므로 라이브러리 검증 비활성화와 실행 가능 메모리 허용이 필요합니다. 아직 서명된 빌드를 만들어 검증한 적은 없으므로, 첫 공증 시 이 부분을 반드시 확인하세요.
| 증상 | 확인할 내용 |
|---|---|
cargo tauri 명령을 찾을 수 없음 | cargo install tauri-cli --version 2.11.4 --locked |
| 로컬 엔진 준비가 중간에 실패함 | 같은 버튼을 다시 누르면 이어서 재시도합니다(실패한 부분 설치는 자동으로 정리됩니다). 네트워크 상태도 확인하세요 |
| Qwen3 준비 시 내려받을 파일이 큼 | Qwen3 프리셋은 전사·정렬 모델 합계 약 6.6GB를 내려받습니다 |
| 모델 다운로드가 401/403으로 실패 | 모델 이용 조건 동의와 Fine-grained Read 토큰 확인 |
| 마이크 녹음이 시작되지 않음 | 시스템 설정에서 Galpi 마이크 권한 확인 |
| 상대방 음성이 녹음되지 않음 | 현재 시스템 오디오 캡처는 지원하지 않음 |
| AI 회의록이 실패함 | API Key, Base URL, 모델 이름, 제공자 사용량 한도 확인 |
| 다른 Mac에서 앱을 열 수 없음 | 미서명·미공증 빌드는 Gatekeeper가 막습니다. 서명·공증해 배포하세요(위 "다른 사람에게 배포할 때") |
앱 업데이트 후 엔진이 다시 대기로 표시됨 | 엔진 준비 마커가 의존성 잠금 파일의 해시를 따릅니다. 잠금이 바뀌면 로컬 엔진 준비를 한 번 더 눌러 환경을 맞춥니다(모델은 다시 받지 않습니다) |
Galpi는 활발히 개발 중인 0.1.0 프로젝트입니다. 배포 자동 업데이트, 서명·공증, 시스템 오디오 캡처, 회의 라이브러리는 이후 단계로 계획되어 있습니다. 자세한 계획은 docs/ROADMAP.md를 참고하세요.
90 commits
Rust
38.6%
TypeScript
32.1%
Python
24.1%
CSS
5.2%