amical

(โ˜… 1,498)

๐ŸŽ™๏ธ AI Dictation App - Open Source and Local-first โšก Type 3x faster, no keyboard needed. ๐Ÿ†“ Powered by open source models, works offline, fast and accurate.

  • .gitignore
  • .gitmodules
  • .npmrc
  • .prettierignore
  • LICENSE
  • package.json
  • pnpm-lock.yaml
  • pnpm-workspace.yaml
  • README.md
  • turbo.json

# ์„ค์น˜ ๊ฐ€์ด๋“œ

1. ์ฝ”๋“œ ๋‚ด๋ ค๋ฐ›๊ธฐ
git clone https://github.com/amicalhq/amical

๊นƒํ—ˆ๋ธŒ์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ๋กœ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.

cd amical

๋ฐฉ๊ธˆ ๋‚ด๋ ค๋ฐ›์€ ํ”„๋กœ์ ํŠธ ํด๋” ์•ˆ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

2. ๊ณต์‹ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ

์‰ฌ์›€ ์ถ”์ฒœ
์‚ฌ์ „ ์ค€๋น„๋ฌผ
  • Homebrew macOS/Linux์šฉ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์ž…๋‹ˆ๋‹ค.
brew install --cask amical

Homebrew๋กœ ์ด๋ฏธ ๋นŒ๋“œ๋œ ํŒจํ‚ค์ง€๋ฅผ ๋ฐ”๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ๋นŒ๋“œ๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

โœ… ์„ค์น˜ ํ›„ ์ƒˆ ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ , ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฒ„์ „ ํ™•์ธ ๋ช…๋ น(์˜ˆ: --version)์œผ๋กœ ์ •์ƒ ์„ค์น˜๋๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

์ด ๋ ˆํฌ์˜ README์— ์ ํžŒ ์‹ค์ œ ๋ช…๋ น์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

3. CMake

๋ณดํ†ต
์‚ฌ์ „ ์ค€๋น„๋ฌผ
  • Git GitHub์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • CMake ๋นŒ๋“œ ์„ค์ •์„ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • C/C++ ์ปดํŒŒ์ผ๋Ÿฌ Windows๋Š” Visual Studio(Community ๋ฌด๋ฃŒ), macOS๋Š” Xcode Command Line Tools, Linux๋Š” gcc/g++ ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
โš ๏ธ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ทœ๋ชจ๊ฐ€ ํฐ ์ €์žฅ์†Œ๋ผ, ์ด ๋ฐฉ๋ฒ•์ด ์‹ค์ œ ํ•ต์‹ฌ ์ œํ’ˆ์ด ์•„๋‹ˆ๋ผ ๋‚ด๋ถ€ ํ•˜์œ„ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. README ์ „์ฒด๋ฅผ ํ•จ๊ป˜ ํ™•์ธํ•ด๋ณด์„ธ์š”.
cd packages/whisper-wrapper/addon

์ด ํ”„๋กœ์ ํŠธ์˜ ๊ด€๋ จ ํŒŒ์ผ์ด ํ•˜์œ„ ํด๋” ์•ˆ์— ์žˆ์–ด์„œ, ๋จผ์ € ๊ทธ ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

mkdir build && cd build

๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ์„ ๋‹ด์„ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

cmake ..

์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ๋นŒ๋“œ ์„ค์ • ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค (build ํด๋” ์•ˆ์—์„œ ์‹คํ–‰ํ•ด์•ผ ํ•จ).

make

์ƒ์„ฑ๋œ ๋นŒ๋“œ ์„ค์ •์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์ œ ์ปดํŒŒ์ผ์„ ์ง„ํ–‰ํ•ด ์‹คํ–‰ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

โœ… build ํด๋” ์•ˆ์— ์‹คํ–‰ ํŒŒ์ผ์ด ์ƒ์„ฑ๋๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ง์ ‘ ์‹คํ–‰ํ•ด๋ณด์„ธ์š” (์˜ˆ: ./build/์•ฑ์ด๋ฆ„).

4. .NET

๋ณดํ†ต
์‚ฌ์ „ ์ค€๋น„๋ฌผ
  • Git GitHub์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • .NET SDK dotnet ๋ช…๋ น์–ด๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•œ SDK์ž…๋‹ˆ๋‹ค.
โš ๏ธ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ทœ๋ชจ๊ฐ€ ํฐ ์ €์žฅ์†Œ๋ผ, ์ด ๋ฐฉ๋ฒ•์ด ์‹ค์ œ ํ•ต์‹ฌ ์ œํ’ˆ์ด ์•„๋‹ˆ๋ผ ๋‚ด๋ถ€ ํ•˜์œ„ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. README ์ „์ฒด๋ฅผ ํ•จ๊ป˜ ํ™•์ธํ•ด๋ณด์„ธ์š”.
cd packages/native-helpers/windows-helper-tests

์ด ํ”„๋กœ์ ํŠธ์˜ ๊ด€๋ จ ํŒŒ์ผ์ด ํ•˜์œ„ ํด๋” ์•ˆ์— ์žˆ์–ด์„œ, ๋จผ์ € ๊ทธ ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

dotnet restore

ํ”„๋กœ์ ํŠธ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.

dotnet run

ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋ฐ”๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

โœ… dotnet run ์‹คํ–‰ ํ›„ ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚˜๋Š” ์•ˆ๋‚ด ๋ฉ”์‹œ์ง€๋‚˜ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

5. Node.js

์‰ฌ์›€
์‚ฌ์ „ ์ค€๋น„๋ฌผ
  • Git GitHub์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Node.js npm ๋ช…๋ น์–ด๋ฅผ ์“ฐ๋ ค๋ฉด Node.js๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. LTS(์žฅ๊ธฐ์ง€์›) ๋ฒ„์ „์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
pnpm install --frozen-lockfile

package.json์— ๋ช…์‹œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋‚ด๋ ค๋ฐ›์•„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

pnpm --filter @amical/desktop download-node

์ด ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•ด ์‹คํ–‰ํ•˜์„ธ์š”.

pnpm turbo run dev --filter=@amical/desktop

์ด ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•ด ์‹คํ–‰ํ•˜์„ธ์š”.

pnpm type:check

์ด ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•ด ์‹คํ–‰ํ•˜์„ธ์š”.

pnpm test

์ด ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ๊ทธ๋Œ€๋กœ ์ž…๋ ฅํ•ด ์‹คํ–‰ํ•˜์„ธ์š”.

โœ… ๋ช…๋ น์–ด ์‹คํ–‰ ํ›„ ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚˜๋Š” ์ฃผ์†Œ(๋ณดํ†ต http://localhost:3000 ํ˜•ํƒœ)๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด์–ด๋ณด์„ธ์š”.

์ด ๋ ˆํฌ์˜ README์— ์ ํžŒ ์‹ค์ œ ๋ช…๋ น์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

// repository documentation