본문으로 건너뛰기

macOS · Windows · Linux — 로컬 우선

쓰고 있는 문장 옆에,
작품 전체를 펼쳐 둡니다.

Linetta는 소설과 웹소설을 위한 조용한 집필 스튜디오입니다. 아웃라인, 등장인물, 장소, 관계, 플롯 스레드, 조사 자료가 원고 옆에 놓입니다. 전부 내 디스크의 SQLite 파일 안에 있고, 계정도 필수 클라우드도 없습니다. 원할 때는 에이전트에게 연속성 점검을 맡기고, 장면을 삽화로 그리고, 회차를 독자에게 내놓을 수 있습니다. 전부 선택입니다.

  • 계정도 구독도 없음
  • 원고는 내 디스크에
  • 한국어 · English · 日本語
Linetta 작업 공간. 왼쪽에 아웃라인 레일, 가운데에 씬 도입부가 놓인 본문 편집기, 오른쪽에 이 씬의 글자 수·목표·시놉시스 패널.

§ 01 — 무엇인가

집필은 프로젝트 관리가 아닙니다.

장편은 상태를 쌓아 갑니다. 40화쯤 되면 3장에서 한 약속, 갚지 않은 빚, 누군가의 코트 색깔이 전부 하중을 받는 기둥이 됩니다. 그런데 그중 무엇도 지금 화면의 문단 안에는 없습니다.

대부분의 도구는 여기에 절차를 더 얹어 답합니다. 보드, 태그, 상태값, 그리고 따로 관리해야 하는 두 번째 앱. Linetta는 대신 작품의 기억을 문장 옆에 둡니다. 단축키 하나 거리에, 그러나 길을 막지 않는 자리에.

그래서 편집기는 조용한 본문 한 장으로 남습니다. 아웃라인, 등장인물, 플롯 스파인, 자료, 이력은 문장이 필요로 할 때 여는 레일과 패널이고, 필요 없을 때는 닫습니다.

§ 02 — 작업 공간

작품 전체가 한 방에.

모든 패널이 같은 질문 위에 서 있습니다. 이 씬은 무엇과 어긋나면 안 되는가?


본문

본문 한 장, 그 옆의 아웃라인, 그리고 이 씬의 기록.

아웃라인은 손 닿는 곳에, 글자 수는 무시할 수 있는 자리에 둔 채 씬 단위로 씁니다. 오른쪽 레일에는 문장을 떠나지 않고 확인하는 것들이 있습니다 — 오늘 쓴 글자 수, 화 분량 목표, 시놉시스, 이 씬이 언급한 엔티티.

  • 부·장·씬 또는 권·화 — 번호와 라벨은 인터페이스 언어에 맞춰 붙습니다
  • 씬마다 분량 목표와 실시간 글자 수, 그 옆에 작품 총합
  • ZEN은 방을 비워 본문과 카운터만 남깁니다
작업 공간. 왼쪽에 아웃라인 레일, 가운데에 본문 편집기, 오른쪽에 442자·화 분량 목표·작품 개요를 보여주는 패널.

같은 방 안에

컨텍스트 편집

설정을 한 번에 정리

인물·장소·관계를 한 번 고치면, 옛 설정을 아직 담고 있는 씬들을 찾아 하나씩 안내합니다. 언어 모델은 전혀 쓰지 않습니다.

플롯

스파인 위의 실

스토리라인과 비트가 아웃라인을 가로질러 놓입니다. 3화에서 연 약속이 뒤늦게 떠올리는 것이 아니라 보이는 것이 됩니다.

이력

씬 단위 스냅샷

수동·자동 스냅샷을 복원할 수 있습니다. 수동 스냅샷과 에이전트가 쓰기 전에 찍힌 스냅샷은 기한 없이 보관됩니다.

기록

집필 속도

7일 평균과 그 속도로 환산한 주당 화수. 연속 기록도, 죄책감도 없습니다.

§ 03 — 집필 보조

책상 옆의 두 번째 독자.

여기 있는 것은 전부 선택이고, 연결한 에이전트가 있어야 합니다. 연결 방법은 § 06에 있습니다. 에이전트는 읽고, 점검하고, 제안합니다. 원고는 요청할 때만 바뀝니다.

에이전트에게 묻기

고른 문단에 대해 묻기

글을 선택하고 에이전트에게 묻기를 고르면 그 문단이 입력창 위에 인용됩니다. “더 짧게” 같은 후속 요청도 어느 문단인지 압니다. 질문만 하면 에이전트는 아무것도 바꾸지 않습니다.

작가 방향

작가의 방향이 먼저입니다

앞으로 몇 회차의 초점과, 씬마다 한 줄의 의도. 작가만 쓸 수 있고, 모든 에이전트가 가장 먼저 읽고 지켜야 할 지시로 다룹니다. 회차 셋을 쓰고 나면 앱이 그 초점이 아직 유효한지 묻습니다.

연속성 점검

근거를 대는 지적

에이전트가 씬을 스토리 월드, 팩트 카드, 앞선 씬, 작가 방향과 맞대어 봅니다. 모든 지적은 씬을 정확히 인용하고 작품에 실제로 있는 것을 가리켜야 합니다. 원고는 바뀌지 않습니다.

제안함

제안은 작가를 기다립니다

에이전트가 원고에서 뽑아낸 것은 여기서 하나씩 수락, 수정, 거절을 기다립니다. 같은 대상으로 보이면 별칭으로 합칠 수 있습니다. 마크다운을 가져온 뒤에는 토큰 추정치를 먼저 보여주고 이 방식으로 스토리 월드를 채워 줍니다.

갈래 예측

정사가 아닌 갈래

앞으로 가능한 전개 2~5개를 나란히 봅니다. 전제, 회차별 비트, 위험 배지가 붙습니다. 아웃라인도 원고도 바뀌지 않습니다. 하나를 고르면 에이전트 브리프에 계획으로 들어가고, 작품이 달라지면 오래됨으로 표시됩니다.

메시지에 이미지

보여 주며 말하기

메시지 하나에 이미지를 4장까지, 장당 5MB까지 첨부합니다. 이미지는 그 메시지와 함께만 모델로 가고, 에이전트는 그중 하나를 인물의 참조 이미지로 저장할 수 있습니다. Claude Code 프로바이더는 텍스트만 받습니다.

§ 04 — 삽화

인물이 흔들리지 않는 그림.

설정 → 이미지 생성에서 ChatGPT나 Gemini를 고르기 전까지 꺼져 있고, 동의도 따로 받습니다. ChatGPT는 요금제 사용량에서 차감되고 Gemini는 Google AI가 장당 과금합니다. 생성을 누르기 전에는 아무것도 그리지 않습니다.

이 장면으로 삽화 만들기

문단에서 그림으로

문단을 선택하고 장면을 설명한 뒤 인물을 고르고, 한 장 또는 4컷을 정합니다. 프롬프트는 장면, 비주얼 시트, 화풍으로 만들어지고, 직접 고칠 수 있으며 고친 그대로 전송됩니다.

인물 시트

얼굴마다 한 장의 시트

인물마다 외형 메모와 참조 이미지 최대 8장. 이미지를 끌어다 놓거나, 1화 삽화에서 잘 나온 얼굴처럼 갤러리에서 가져올 수 있습니다.

이전 삽화

40화에도 같은 얼굴로

참조 이미지 다음에 이전 삽화를 2장까지 함께 보냅니다. 같은 인물이 나온 그림이 먼저입니다. 썸네일로 보이고, 한 번 누르면 뺄 수 있습니다.

에이전트의 요청

에이전트는 그리지 못합니다

프롬프트, 비율, 캡션이 담긴 요청 카드를 남길 뿐이고, 작가가 고칠 수 있습니다. 생성을 누르기 전에는 이미지 프로바이더로 아무것도 가지 않습니다.

갤러리

작품당 200장까지

그림마다 프롬프트와 모델이 함께 남습니다. 씬에 넣거나, 아웃라인에서 씬·회차·부를 대표하게 할 수 있습니다.

작품이 가는 곳마다

그림은 글과 함께 다닙니다

삽화는 서재 백업, 마크다운 내보내기, 폴더·Git 동기화에 함께 들어가고, 게시하는 회차와 함께 올라갑니다.

§ 05 — 게시

독자는, 원할 때.

Linetta Works는 Linetta로 쓴 소설을 읽는 선택형 사이트이고, Linetta 개발자가 운영합니다. 계정을 연결하기 전에는 아무것도 가지 않고, 연결한 뒤에도 게시하기로 고른 것만 갑니다.

Linetta Works 둘러보기

회차

한 회차씩

아웃라인이나 명령 팔레트에서 게시합니다. 회차마다 주소가 생기고, 본문이 바뀌면 아웃라인에 수정됨으로 표시되며, 다시 게시하면 같은 주소가 갱신됩니다. 계정을 연결한 뒤에는 요청하면 에이전트도 게시할 수 있습니다.

시트와 표지

세계관도, 원한다면

인물·세계관 시트는 하나씩 켜기 전까지 비공개이므로 스포일러를 먼저 확인할 수 있습니다. 표지는 갤러리에서 고릅니다. 메모는 전송되지 않습니다.

공유

알리기

X, Threads, 네이버 블로그는 제목과 링크가 채워진 채 열립니다. 카카오톡과 인스타그램은 붙여 넣을 수 있게 복사해 줍니다.

가는 것

공개되고, 심사됩니다

게시한 본문과 삽화, 고른 시트는 공개되고, 사이트가 내용 심사를 위해 Anthropic API로 보냅니다. 게시하지 않은 회차, 메모, 팩트 카드, 에이전트 기억은 전송되지 않습니다.

§ 06 — 에이전트

내 에이전트를 데려오거나, 내 키를 연결하세요.

Linetta 자체에는 모델도 구독도 없습니다. 이미 쓰고 있는 에이전트 — Claude Code, Claude Desktop, Codex CLI, Gemini CLI — 를 MCP로 연결하면 이미 있는 구독으로 동작하고, Linetta에는 어떤 자격 증명도 넘기지 않습니다. 아니면 아래의 내장 에이전트를 켜고 직접 연결한 프로바이더를 쓸 수도 있습니다.

일반적인 파일시스템 MCP 서버도 마크다운은 읽고 씁니다. 그것이 조립하지 못하는 것은 씬 하나를 위한 브리프입니다. 그 씬이 아웃라인의 어디에 있는지, 상위 계층의 요약, 직전 씬의 요약, 인물과 관계 브리프, 플롯 스파인, 팩트 카드, 메모리, 그리고 문체와 분량 목표.

그 브리프가 Linetta가 건네는 것이고, 앱 바깥에서 쓴 초고가 14화와 모순되지 않고 돌아오는 이유입니다. 책상과 서류함과 거부권은 계속 작가가 쥐고 있습니다.

Claude Code — 터미널에 한 줄

claude mcp add --transport http linetta http://127.0.0.1:7391/mcp \
  --header "Authorization: Bearer <token>"

설정이 Claude Code, Claude Desktop, Codex CLI, Gemini CLI를 찾으면 linetta-mcp stdio 브리지로 한 번에 연결해 줍니다. 이 브리지를 함께 배포하는 빌드도, 그렇지 않은 빌드도 있으며 어느 쪽인지는 설정 화면이 알려줍니다. 토큰은 MCP를 켤 때 발급되고 설정에서 재발급·폐기할 수 있습니다.

권한

꺼짐

기본값입니다. 아무것도 열리지 않고, 아무것도 노출되지 않습니다.

읽기 전용

읽기 툴 15개. 쓰기 툴은 아예 등록되지 않아 tools/list에 나타나지도, 호출되지도 않습니다.

전체

36개 전부. 씬 쓰기는 먼저 스냅샷되고, 아웃라인 구조 변경은 한 번의 호출로 되돌릴 수 있습니다.

RPC 100개가 아니라, 툴 37개

클라이언트의 툴 예산은 유한하고 목록이 길어질수록 선택 정확도가 떨어집니다. 그래서 엔진 RPC를 1:1로 노출하지 않습니다. 접근을 한 작품으로 제한할 수도 있고, 설정 → 툴 예산에서 선택 그룹별 비용을 보고 끌 수 있습니다.

읽기 15
  • linetta_get_story_context 씬 하나를 위한 큐레이션 브리프 — 핵심 툴
  • linetta_read_scene 본문과 content_version
  • linetta_get_outline 라벨·종류·상태·분량이 붙은 트리
  • linetta_search_manuscript 원고 전문 검색
  • linetta_list_works 작품, 제목, 상태, 씬 수
  • linetta_list_characters 인물, 장소, 사물, 개념
  • linetta_where_does_appear 특정 엔티티가 등장하는 모든 씬
  • linetta_get_plot 스토리라인과 비트
  • linetta_get_fact_cards 출처가 붙은 조사 노트
  • linetta_get_character_visuals 인물 디자인과 참조 이미지
  • linetta_build_illustration_prompt 삽화와 4컷 프롬프트
  • linetta_list_illustrations 갤러리와 최근 요청의 처리 결과
  • linetta_analyze_style 작가의 문체 규칙에 어긋난 곳을 찾아 보고
  • linetta_read_skill 기록해 둔 기법 하나를 본문까지 열기 — 브리프에는 이름과 설명만 실립니다
  • linetta_publish_status Linetta Works에 게시된 내용
쓰기 21
  • linetta_create_work 첫 씬이 준비된 새 작품 만들기
  • linetta_write_scene 읽은 시점의 content_version 필수
  • linetta_revise_scene 씬 전체를 다시 보내지 않는 부분 수정
  • linetta_apply_story_ops 구조화된 스토리 변경을 한 배치로
  • linetta_write_summary 씬·컨테이너 요약과 작품 시놉시스
  • linetta_create_checkpoint 큰 개작 전 라벨 붙은 복원 지점
  • linetta_undo_last_change 배치 단위로 한 번에 되돌리기
  • linetta_edit_memory 알아낸 것을 기록 — 모든 작품에 적용되는 작가 프로필, 또는 이 작품의 노트
  • linetta_edit_skill 기법을 SKILL.md 파일로 기록 — 전역이거나 한 작품에 묶이거나. 승인 절차는 없고, 작가는 대신 작성자 표시와 버전 기록과 끄는 스위치를 받습니다
  • linetta_propose_story_ops 후보를 제안함으로 보냄 — 아무것도 적용되지 않습니다
  • linetta_report_continuity 연속성 점검 결과를 정확한 인용과 함께 기록
  • linetta_save_forecast 가능한 갈래를 저장 — 어느 것도 정사가 아닙니다
  • linetta_propose_style_profile 작가가 승인할 문체 프로필 초안 제안
  • linetta_set_character_visuals 인물 디자인 저장
  • linetta_set_art_style 화풍 저장
  • linetta_add_reference_image 참조 이미지 추가 — 갤러리의 그림도 가능
  • linetta_delete_reference_image 참조 이미지 삭제
  • linetta_request_illustration 삽화 요청 — 승인 전에는 그리지 않습니다
  • linetta_set_representative_illustration 씬·회차·부를 대표하는 그림 지정 또는 해제
  • linetta_register_work 작가가 승인한 소개글로 작품을 Linetta Works에 등록
  • linetta_publish_episode 요청받은 회차 게시

무엇이 이것을 안전하게 하는가

  • 01 127.0.0.1에만 바인딩하고 DNS 리바인딩을 막는 Origin 검사를 합니다. 어떤 설정에서도 LAN 바인딩이나 터널은 없습니다.
  • 02 32바이트 베어러 토큰. 시크릿 저장소가 있는 운영체제에서는 거기에, 없으면 0600 파일에 보관하며, 설정에서 재발급·폐기할 수 있습니다.
  • 03 낙관적 버전 검사: 에이전트가 고쳐 쓰는 씬을 당신이 타이핑 중이면, 쓰기는 조용히 적용되지 않고 거부됩니다.
  • 04 씬을 쓰기 전마다 스냅샷, 구조를 바꾸기 전마다 아웃라인 캡처.
  • 05 모든 호출의 활동 로그 — 시각, 툴, 작품, 대상, 결과 — 를 설정에서 보여줍니다.
  • 06 분당 120회 호출 상한. 폭주하는 에이전트 루프는 씬 40개가 아니라 벽에 부딪힙니다.

또는, 내장 에이전트

별도 앱 대신 Linetta 안의 패널에서 쓰고 싶다면, 내장 에이전트를 켜고 직접 프로바이더를 연결하세요.

  • ChatGPT (Codex) ChatGPT 계정으로 로그인 — 키를 보관할 필요 없음
  • Claude Code 이미 설치한 claude CLI를 내 로그인으로 실행 — 키 불필요. Mac App Store 빌드에는 없음
  • Anthropic API 키로
  • Google Gemini API 키로
  • OpenAI 호환 API 키로, 호환되는 어떤 엔드포인트든 — 내 컴퓨터에서 도는 모델도 포함
  • 01 동의는 프로바이더별이고, 연결 테스트 자체도 이 동의가 있어야 통과합니다
  • 02 API 키는 OS의 시크릿 저장소로 들어갑니다. Linux는 저장소가 없어서 ChatGPT 로그인과 Claude Code만 됩니다
  • 03 Cmd/Ctrl+J로 엽니다 — 외부 클라이언트가 쓰는 것과 같은 MCP 계층으로 Linetta의 툴에 접속합니다
  • 04 모든 호출은 같은 활동 로그에 남고, 어느 에이전트가 호출했는지 표시됩니다
  • 05 구조 변경과 에이전트가 쓴 씬은 해당 줄의 되돌리기 버튼으로 한 번에 되돌립니다(앱이 켜져 있는 동안, 최근 8건까지). 이전 본문은 기한 없이 버전으로도 남아 복원할 수 있습니다
  • 06 매 턴 시작에 짧은 기억 두 개 — 작가 프로필과 이 작품의 노트 — 를 읽고, 스스로 거기에 기록합니다. 작가 프로필은 전역이어서 열려 있는 작품에 한정되지 않습니다. 둘 다 설정 → 기억에서 직접 고쳐 쓸 수 있습니다
  • 07 스킬도 함께 쌓습니다. 방법을 적어 두는 문서이고, 데이터 폴더 아래 평범한 SKILL.md 파일이라 아무 편집기로나 열 수 있고 자기 Claude Code를 그 폴더에 붙일 수도 있습니다. 모든 작품에 적용할 수도, 한 작품에만 묶을 수도 있습니다. 에이전트는 묻지 않고 씁니다. 작가는 대신 작성자 표시와 버전 기록과 끄는 스위치를 설정 → 스킬에서 받습니다
  • 08 툴을 8번 이상 호출한 턴이 끝나고 답장이 나간 뒤, 같은 프로바이더와 같은 모델에 한 번 더 묻습니다 — 적어 둘 기법이 있었는지. 프로바이더에 그만큼 과금되는 추가 호출이며, 기본은 켜짐이고 설정 → 스킬에서 끕니다. Claude Code 프로바이더에서는 실행되지 않습니다
  • 09 한 턴은 기본 48번의 툴 호출에서 멈추고, 끝낸 일과 남은 일을 말합니다. 한도는 설정 → 툴 예산에서 8~200으로 바꿉니다
  • 10 매일 도는 백업은 데이터베이스만 담습니다. 스킬의 버전 기록은 담기고, 스킬 폴더 자체는 담기지 않습니다

§ 07 — 내 데이터

원고는 내가 가진 파일입니다.

Linetta에는 계정도 필수 클라우드도 없습니다. 아래는 전부 내 디스크에, 이 앱 없이도 읽을 수 있는 형식으로 남습니다.

저장 위치

macOS
~/Library/Application Support/com.devlikebear.linetta
Linux
${XDG_DATA_HOME:-~/.local/share}/com.devlikebear.linetta
Windows
%APPDATA%\com.devlikebear.linetta
library.db

SQLite 라이브러리 하나

작품, 씬, 아웃라인, 엔티티, 관계, 플롯, 버전 스냅샷, 에이전트가 읽는 기억, 그리고 모든 스킬의 버전 기록이 단일 데이터베이스 파일 안에 있습니다.

스냅샷

사라지지 않고 솎아지는 이력

수동 스냅샷은 기한 없이 보관됩니다. 자동 저장 스냅샷은 첫날 매 저장에서 30일 뒤 하루 하나로 솎아집니다.

backups/

검증된 일일 백업

일일 백업과 마이그레이션 전 백업을 14일 보관하고, 시작 시 복원할 수 있습니다. 담는 것은 데이터베이스뿐이고, 그 옆의 스킬 폴더는 담기지 않습니다.

마크다운

자유롭게 들어오고 나가기

기존 원고를 가져오고, 씬을 마크다운으로 폴더에 내보내고, 원하면 Git이 그 폴더를 다른 곳으로 옮깁니다. 삽화도 함께 나갑니다.

§ 08 — 받기

Mac App Store에서 무료. 나머지 플랫폼은 서명된 빌드로.

macOS 직접 배포 빌드는 Apple Developer ID로 서명되고 공증되었습니다. Windows와 Linux 설치 파일은 모든 GitHub 릴리스에 함께 올라갑니다.

현재 릴리스 v1.16.0

Mac App Store

무료. Apple Silicon Mac에 가장 간단히 설치하는 방법입니다.

Homebrew — Apple Silicon

서명·공증된 빌드를 탭으로 갱신합니다.

brew install --cask devlikebear/tap/linetta

Windows

모든 릴리스에 NSIS와 MSI 설치 파일이 있습니다.

Linux

모든 릴리스에 AppImage, .deb, .rpm 패키지가 있습니다.

Intel Mac 사용자와 직접 빌드하고 싶은 사람은 소스에서 빌드할 수 있습니다. Tauri 2 Rust 셸, React와 Vite, 내장 Go 엔진, SQLite로 되어 있습니다.

§ 09 — 질문

내려받기 전에.

01 계정이나 구독이 필요한가요?
아니요. 집필, 정리, 가져오기·내보내기, 스냅샷, 백업 모두 계정 없이 동작합니다. 만들어야 할 Linetta 계정 자체가 없습니다.
02 앱 안에 AI가 들어 있나요?
선택적으로요. 프로바이더 — ChatGPT 로그인, Claude Code CLI, Anthropic, Google Gemini, 또는 OpenAI 호환 엔드포인트 — 를 연결하고 각각 동의하면 내장 에이전트가 대신 씁니다. 아니면 그것 없이 Claude Code나 Codex CLI 같은 에이전트를 MCP 서버로 직접 연결할 수도 있습니다. 삽화는 따로 고르고 따로 동의합니다.
03 쓰던 원고를 가져올 수 있나요?
네. 마크다운 가져오기와 내보내기가 모두 되므로, 다른 도구에서 들어오고 다른 도구로 나갈 수 있습니다.
04 제 글이 어딘가로 업로드되나요?
기본값으로는 아니고, Linetta 클라우드는 애초에 없습니다. 무언가를 켰을 때만 이 기기를 벗어납니다 — 내장 에이전트는 작업 중인 내용을 연결한 프로바이더로 보내고, 직접 실행한 MCP 클라이언트는 그것을 읽으며, 고른 이미지 프로바이더는 생성을 누를 때 프롬프트와 참조 이미지를 받고, 게시한 회차는 누구나 읽도록 Linetta Works로 가며, GitHub 동기화나 폴더 동기화를 설정하면 하루 한 번과 실행할 때마다 전체 서재를 내보냅니다.
05 iPad나 Android는요?
엔진은 모바일 타깃으로도 빌드되고 iPad 레이아웃은 작업 중이지만, 모바일은 MCP 서버를 호스팅하지 않습니다. 오늘 지원되는 제품은 데스크톱 앱입니다.
06 라이선스는 무엇인가요?
AGPL-3.0-only 입니다. 소스는 GitHub에 있고, 상용 라이선스 옵션은 라이선스 고지에 적혀 있습니다.