설정 파일
NoteDeck의 설정은 모두 파일로 손안에 있습니다. UI에서 바꿀 수 있는 것은 그대로 파일에도 쓰입니다. 외부 에디터로 직접 편집해도 괜찮습니다.
형식은 JSON5입니다. 주석을 쓸 수 있고, 끝의 쉼표도 허용됩니다 (앱이 다시 저장하면 주석은 사라집니다).
예외로, 지금 열려 있는 프로파일, 위젯의 배치, 플러그인과 위젯이 Mk:save로 남긴 값은 파일이 아니라 앱 안의 저장 영역에 있습니다.
설정은 어디에 있나
파일 → 설정 폴더 열기 (ファイル → 設定フォルダを開く)로 탐색기 / Finder가 열립니다. 이 방법이 가장 확실합니다.
경로를 알고 싶다면 OS의 애플리케이션 데이터 영역 아래에 있습니다.
| OS | 앱 데이터 폴더 |
|---|---|
| Windows | %APPDATA%\com.notedeck.desktop\ |
| macOS | ~/Library/Application Support/com.notedeck.desktop/ |
| Linux | ~/.local/share/com.notedeck.desktop/ |
환경 변수 NOTEDECK_APP_DIR로 앱 데이터 폴더의 위치를 바꿀 수 있습니다. 같은 메뉴에서 로그 폴더, 다운로드 폴더, 백업 폴더도 열 수 있습니다.
앱 데이터 폴더 안은 다루는 방식의 차이로 네 곳으로 나뉩니다.
| 폴더 | 무엇인가 | 옮기기 / 동기화 |
|---|---|---|
config/ | 설정. 칼럼 구성, 테마, 키 바인딩, 플러그인, AI 연결 대상 등 | 가능 (Git으로 관리하기. 동기화 소프트웨어는 조건부) |
data/ | 당신의 기록. 메모, AI의 대화, AI의 인격과 기억 | 다른 사람의 글 본문을 포함하므로 동기화는 권하지 않음 |
state/ | 이 PC의 상태. 창 위치, 확대율, 동의와 키의 유무, 확인 건너뛰기 기억, 편집 이력 | 하지 않음 |
cache/ | 지워도 되는 것. 이미지, 이모지, 펫 스프라이트 | 하지 않음 |
이 밖에 노트 캐시와 계정 정보인 notecli.db (SQLite. 동기화하지 않음), AI 별도 프로세스의 로그 logs/, 오래된 버전에서 업데이트했을 때의 대피 backups/가 바로 아래에 있습니다.
이전 버전에서 업데이트한 경우
이전에는 notedeck/라는 폴더에 설정·기록·상태가 함께 있었습니다. 업데이트 후 첫 실행에서 위의 형태로 옮겨지며, 옮기기 전의 내용은 backups/pre-layout-<일시>/에 사본으로 남습니다.
config/에 무엇이 있나
| 파일 | 내용 |
|---|---|
settings.json5 | 테마 선택, 모드, 뮤트, 캐시 설정 등 단순한 값을 모아 두는 곳 |
keybinds.json5 | 키 바인딩 덮어쓰기 |
navbar.json5 | 내비게이션 바의 버튼 구성 |
performance.json5 | 렌더링 관련 조정값 |
postform.json5 | 글 입력란 설정 |
ai.json5 | AI의 연결과 모델 선택, HEARTBEAT 설정 |
tasks.json5 | 작업 칼럼에서 실행하는 작업의 선언 |
permissions.json5 | 플러그인과 AI에게 허용하는 조작의 방침. 깨져 있으면 모든 행을 읽기만으로 두고 실행함 |
connections.json | 외부 서비스 연결의 정의 (URL과 인증 방식. 키 본체와 동의는 state/ 쪽) |
locale.json5 | 표시 언어 |
custom.css | 겉모습 덮어쓰기 |
.gitignore | Git으로 관리하는 사람을 위한 틀. 없으면 만들고, 있으면 건드리지 않음 |
폴더로 가지는 것도 있습니다.
| 폴더 | 내용 |
|---|---|
profiles/ | 덱 프로파일 (*.ndprofile.json5). 칼럼은 user@host로 계정을 가리킴 |
themes/ | 테마 (*.ndtheme.json5) |
plugins/ widgets/ queries/ | 코드 본체 *.is와 메타 정보 *.meta.json5의 쌍 |
skills/ | 스킬 (*.md). AGENTS.md와 HEARTBEAT.md는 예약 |
snippets/ | 스크래치패드 스니펫 |
파일 이름은 표시 이름으로 만든 slug (스토어 유래라면 storeId)이고, 참조는 파일 안의 id로 이뤄집니다. 같은 id를 가진 파일이 겹치면 뒤의 것은 건너뛰고 토스트로 알립니다.
API 키는 여기에 없습니다
액세스 토큰과 AI의 API 키는 OS 키체인에 들어 있습니다 (Linux에서 Secret Service가 없는 환경에서는 암호화 파일로 대피합니다). config/를 그대로 누군가에게 건네도 키는 포함되지 않습니다. 다만 공개해도 되는 내용은 아닙니다 (Git으로 관리할 때의 주의).
data/에 무엇이 있나
| 폴더 | 내용 |
|---|---|
memos/ | 메모 (*.md). Markdown이 그대로 들어 있어 Obsidian의 vault로 열 수 있음 |
sessions/ | AI의 대화. 자신만 읽을 수 있는 권한으로 저장됨 |
notemaid/ | AI의 인격과 기억 |
notemaid/는 SOUL.md (인격) / USER.md (당신에 대해 기억하는 것) / MEMORY.md (메모) 세 Markdown과, 첫 회만의 BOOTSTRAP.md입니다. 외부 에디터로 직접 고쳐도 다음 대화부터 적용됩니다 (AI에게는 「NoteDeck 밖에서 변경됨」이 전해집니다). 에이전트 설정의 「페르소나」 「메모리」에서도 읽고 쓸 수 있으며, SOUL.md의 본문만은 개발자 모드 탭이나 외부 에디터로 편집합니다. config/skills/의 AGENTS.md (규칙)와 HEARTBEAT.md (순회 절차)는 이름과 역할이 고정되어 지우거나 이름을 바꿀 수 없고, 스킬 칼럼에는 나오지 않습니다 (에이전트 설정에서 편집합니다). 백업에 들어가는 것은 Markdown 세 개뿐입니다.
state/에 무엇이 있나
손댈 필요는 없지만, 지워도 설정은 잃지 않습니다.
| 파일 | 내용 |
|---|---|
ui.json5 | 펫의 위치, 확대율, 글 입력란에서 마지막에 쓴 공개 범위 |
deck/<프로파일 id>.json5 | 팝아웃한 창의 배치와 칼럼의 입력 도중 내용 (검색어 등) |
connections-meta.json | 연결별 동의 (AI / 외부 앱에 보이기), 키가 들어 있는지, 마지막에 쓴 시각 |
permissions-meta.json5 | 「다음부터 확인하지 않기」의 기억과, 지난 실행 시 권한의 사본 (밖에서 넓어졌으면 실행 시 알림) |
client.json5 | 이 PC만의 구성 (AI 별도 프로세스의 연결 방식) |
tutorial.json5 | 튜토리얼의 달성 기록과 업적 |
theme-dropins.json5 | themes/에 손으로 둔 테마의 가져오기 기록 |
history/ | 설정 파일의 편집 전 내용 (이력 창이 읽음) |
notemaid/ secrets/ | AI 별도 프로세스의 작업 상태와, 외부 앱용 토큰의 기록 |
앱 안에서 편집하기
외부 에디터를 쓰지 않아도 설정 에디터 창에서 편집할 수 있습니다. 개발자 모드에서는 settings.json5 등을 날것 그대로 편집하는 탭도 나옵니다.
변경은 기본적으로 재시작 없이 반영됩니다. 외부 에디터로 고치는 경우는 앱을 종료한 동안에 하세요. 앱은 외부 변경을 지켜보지 않으므로, 연 채로 고치면 다음 조작에서 앱 쪽 사본이 덮어씁니다.
잘못 썼을 때
JSON5로서 깨진 파일은 읽기에 실패합니다. 그 경우 그 파일의 설정은 기본값으로 동작합니다 (permissions.json5만은 안전한 쪽으로 기울어 모든 행이 읽기만이 됩니다). 이상하다 싶으면 해당 파일을 한 번 삭제하세요 (기본값으로 다시 만들어집니다).