LINA는 Codex를 실행 엔진으로 사용하는 개인 에이전트 시스템입니다. 각 에이전트는 하나의 장기 대화를 유지하며, 개발·검색·글쓰기·자료 정리를 돕습니다. 필요하면 별도 Codex 작업을 관리하지만, 업무 자료를 공유하기 위해 작업을 만들 필요는 없습니다. 프로바이더 계정, 인증 정보, 사용 가능한 모델 목록은 OpenCodex에서 관리합니다.
개발·머지 규칙은 POLICY.md, 기여 절차와 이슈·PR 작성법은 CONTRIBUTING.md, CI 구성과 GitHub 적용 절차는 CI 안내에 있습니다. 기본 런타임 구조는 Codex 실행 구조에서 확인할 수 있습니다. 이 소스를 받거나 실행해도 기존 설치 환경을 자동으로 이전하거나 배포하지 않습니다.
UI·Electron·이미지·월드·상태 이력 계획은 제품 기획과 다음 작업에 모았습니다. 현재 구현과 후속 계획을 함께 표시합니다.
자체 기억·페르소나·컨텍스트·공유 자료 엔진의 기능 검사는
bun scripts/qa/context-engines.ts로 재실행할 수 있습니다. 합성 데이터로 실행·저장·복구 경로를 검사하며,
실제 모델의 대화 품질을 평가하는 명령은 아닙니다. 설정과 API 경계는
엔진 계약 목록에 정리했습니다.
bun install --frozen-lockfile --ignore-scripts
bun run start
# 다른 터미널에서 실행:
bun run web**http://127.0.0.1:7980**을 열면 새 사용자는 리나와 소개 대화를 시작합니다. 모델이 아직 설정되지 않았다면 첫 화면의 모델 설정에서 연결을 준비하세요. 프로바이더 연결에서 OpenCodex 관리 화면을 열어 계정을 연결하고 목록을 새로고친 뒤, 역할별 모델에서 대화 모델을 고릅니다. 모델 목록 조회와 실제 응답 성공 여부는 따로 표시하며, 저장한 모델을 별도로 시험할 수도 있습니다.
소개 양식을 먼저 작성하지 않습니다. 리나가 부를 이름이나 호칭부터 묻고, 생활 맥락·관심 주제·대화 선호를 한 번에 하나씩 확인합니다. 답하고 싶지 않은 항목은 건너뛸 수 있으며, 질문 횟수만으로 소개를 마치지 않습니다. 소개를 확인하거나 건너뛴 뒤에는 리나로 시작하거나 내 에이전트를 만듭니다. 첫 소개는 사이드바 없는 전용 대화에서 최초 한 번만 진행합니다. 중간에 닫았다면 이어가며, 완료 후에는 설정 메뉴나 이전 주소로 다시 시작하지 않습니다.
다른 분야의 에이전트는 사이드바 + → 에이전트 추가에서 만듭니다. 8개 도메인 템플릿은 역할과 기본 성격의 출발점입니다. 리나가 생성 전용 대화를 진행하며 만들 에이전트의 이름과 성격을 함께 정합니다. 요약을 확인하고 확정하면 그 에이전트와 일반 대화를 시작합니다. 첫 일반 대화에서는 에이전트와 Lina의 사용 방식을 짧게 안내하며, 이미 대화한 방에 들어갈 때마다 인사를 반복하지 않습니다.
소개 원문은 state/introductions.sqlite에 별도로 저장합니다. 확인한 소개와
페르소나만 평소 대화에 반영하며, 다른 에이전트와 소개를 공유할지는 사용자가
선택합니다. 새로고침·재시작 후 이어가기와 실패한 요청의 재시도를 지원합니다.
컨트롤러는 127.0.0.1:7979에서 실행되고, 웹 게이트웨이는 Host와 Origin을 검사합니다.
새 설치는 LINA_HOME을 사용하며 기본 경로는 ~/.lina입니다. 상태 데이터는 state/,
에이전트별 작업 디렉터리는 workspaces/에 저장합니다. 기존 LINA_STATE_DIR과 저장된
작업 디렉터리 연결도 지원합니다. 경로를 지정하지 않은 상태에서 이전 데이터를 발견하면
사용할 경로를 명시하도록 안내합니다. Senpi 상태는 별도로 보관합니다.
Hub 인증 정보, 원격 Hub·Tailscale 설정, Codex 소켓 탐색, 메모리 서비스 설정은 런타임 안내를 참고하세요.
Bun과 Codex CLI를 먼저 설치한 뒤, 소스 디렉터리와 분리된 로컬 실행 버전을 설치합니다.
bun run install:local
bun ~/.lina/runtime/launch.ts paths
bun ~/.lina/runtime/launch.ts start
# 다른 터미널에서 실행:
bun ~/.lina/runtime/launch.ts web다른 위치를 사용하려면 설치할 때와 실행할 때 모두 LINA_HOME을 지정하세요.
설치 프로그램은 의존성 준비를 마친 뒤 현재 실행 버전을 가리키는 포인터를 바꿉니다.
기존 에이전트 데이터는 유지하며, 출력된 실행 경로는 소스 디렉터리 밖에서도 사용할 수
있습니다. 같은 소스를 다시 설치하면 이미 설치된 버전이라고 안내합니다.
현재 Linux에서 검증했으며, macOS와 Windows의 네이티브 실행은 실기 검증이 남아 있습니다.
실행 버전 설치와 상태 데이터 쓰기는 각각 별도의 잠금을 사용합니다. 이미 실행 중인 프로세스는 기존 버전을 계속 사용하고, 새 버전은 다음 시작부터 적용됩니다. 상태 잠금은 서로 다른 버전이 같은 에이전트 집합을 동시에 여는 일을 막습니다.
bun run lina paths는 홈, 상태, 작업 공간, 인증 정보, 런타임, 이력, 스킬, 로그,
캐시의 실제 경로를 출력합니다. 디렉터리는 만들지 않습니다. 실행에 필요한 리소스는
설치된 버전에서 읽으므로 터미널의 현재 디렉터리에 영향을 받지 않습니다.
LINA_WORKSPACE로 작업 디렉터리를 지정할 수 있지만, 기존 세션에 연결된 디렉터리를
바꾸려면 이전 절차가 필요합니다.
새 CLI 설치는 Lina가 직접 관리하는 Codex 작업 프로세스를 사용합니다. 기존 상태 경로를
명시하면 기본값은 공유 데몬 연결입니다. LINA_CODEX_TASK_MODE=shared|owned로 연결 방식을
선택하며, 저장된 연결 방식이 시작 기본값보다 우선합니다. 저장된 방식이나 공유 소켓을
바꾸려면 이전 절차를 거쳐야 합니다. owned는 전용 Codex 홈을 만들고 프로세스를 관리합니다.
shared는 공유 데몬에 연결하며, 연결을 종료해도 데몬 자체는 종료하지 않습니다.
네이티브 설치, 전용 작업 컴퓨터, Lina OS는 같은 에이전트 시스템을 조합하는 방식입니다. 에이전트마다 작업 디렉터리를 나눠도 독립 데스크톱이나 실행 격리가 생기지는 않습니다. 런타임 전체를 격리하려면 컨테이너 패키징을 참고하세요. VM 데스크톱 생성과 호스트 GUI 커넥터는 아직 구현하지 않았습니다. Lina와 Lina OS의 소스 분리 기준과 남은 작업은 Lina와 OS의 제품 경계에 기록했습니다.
bun run lina checkpoint create "에이전트 설정 변경 전"
# 필요하면 체크포인트 메타데이터도 로컬 Git에 기록:
bun run lina checkpoint create --git "이번 버전을 Git에 기록"
bun run lina checkpoint list
bun run lina checkpoint verify <id>
bun run lina checkpoint diff <older-id> <newer-id>
bun run lina restore <id> /absolute/new-recovery-directory체크포인트를 만들기 전에 런타임을 중지하세요. 로컬 에이전트 데이터베이스, 페르소나, 메모리, 설정, 사용자 스킬을 함께 저장합니다. 체크포인트 명세는 생성 후 변경하지 않으며, 검증된 데이터 객체를 참조합니다. CLI는 제외된 인증 정보와 외부 메모리·세션·작업 공간을 따로 표시합니다. 외부 서비스까지 모두 포함하는 백업은 아닙니다.
Git 호스팅은 필요하지 않습니다. --git을 지정하면 history/vcs에 명세 메타데이터만
기록하고, 실제 데이터는 Git 밖의 비공개 객체 저장 영역에 보관합니다. 원격 저장소를
자동으로 추가하거나 푸시하지 않습니다. 이력은 사용자의 비공개 로컬 데이터이므로
이 소스 저장소에 커밋하면 안 됩니다.
복구는 새 디렉터리에 데이터를 준비하고 검토 표시를 남깁니다. 현재 설치를 덮어쓰거나 완료된 작업을 다시 실행하지 않습니다. 복구한 데이터를 활성화하기 전에 세션에 저장된 절대 경로, 권한, 외부 서비스 연결을 검토해야 합니다. 실행 중 선택 복구, 의미 있는 변경의 자동 이력 기록, 외부 서비스 데이터 내보내기는 후속 작업입니다.
각 에이전트는 하나의 지속적인 대화, 작성된 페르소나, 출처와 연결된 메모리, 초안을 유지합니다. 별도 작업은 원래의 Codex 작업 ID를 보존합니다. 작업 사이드바에서는 이력, 메시지, 중단, 승인, 담당 에이전트 변경을 다룰 수 있습니다. Codex 클라이언트에서 같은 작업에 직접 개입할 수도 있습니다. 재연결하면 Codex의 실제 상태를 확인해 맞추며, 대체 작업을 새로 만들거나 처리 여부가 불확실한 입력을 반복하지 않습니다.
실행 컨텍스트와 기본 압축은 Codex가 관리합니다. LINA는 대화 원문과 LCM 방식의 요약 트리를 별도로 보존하고, 현재 요약을 참고 자료로 주입하며 원문 검색과 펼쳐 읽기를 제공합니다. 요약에 실패해도 원문과 이전 체크포인트를 유지한 채 대화를 계속합니다. 원문 보존이 완벽한 기억 회수나 무제한 처리 능력을 보장하지는 않습니다. 검증 범위는 반복 압축과 재시작까지이며, 수년간의 사용량을 시험한 것은 아닙니다.
개인 기억·페르소나·세션 컨텍스트·공유 자료는 LINA의 내장 엔진이 관리합니다. 사용자 정정, 직접 작성한 정체성, 잠정 추론은 구분해서 저장합니다. 비코드 자료는 논리적 폴더와 안정된 참조로 찾고, 에이전트와 Codex가 같은 자료와 출처를 사용할 수 있습니다. 자료 저장, 요약·기억 처리, 이후 검색의 성공 여부는 각각 확인합니다.
Honcho와 OpenViking의 외부 실행 어댑터는 퇴역했습니다. 과거 Honcho 설정은 이전 필요 상태를 표시하며 외부 데이터를 자동으로 가져오거나 삭제하지 않습니다. 내부 처리에는 공통 4단계 모델 라우트를 적용하고 일반 대화는 지정 모델을 유지합니다. 현재 브랜치는 통합 검증 중이며, 전체 기능 인수와 실제 모델 품질 검증의 완료를 뜻하지 않습니다.
Codex 작업은 설치된 스킬과 플러그인을 사용합니다. 에이전트 세션도 기존 설치를 복사하지 않고 원래 스킬 경로에서 paperthin과 CXC를 불러올 수 있습니다. CXC를 사용하면 CXC가 워크플로 상태를 관리하고, paperthin은 개별 사고·편집 작업을 돕습니다. 사용자가 직접 호출해야 하는 스킬은 자동으로 실행하지 않습니다. LINA가 별도의 다중 모델 하네스 라우터를 구현하지는 않습니다.
반응형 웹 앱은 다크·라이트·시스템 테마, 키보드 단축키, 대화 검색, 첨부 파일, 에이전트 온보딩, 페르소나 프로필 편집을 지원합니다. 화면에서는 에이전트라는 용어를 사용하며, 프로바이더 설정 메뉴는 프로바이더 연결입니다. 모델 서비스가 연결되지 않아도 설정과 작업 목록을 열 수 있습니다.
설치형 PWA를 위해 버전이 지정된 정적 리소스만 캐시합니다. 서비스 워커는 대화, 첨부 파일, API 응답을 캐시하지 않습니다. 공개 호스팅, macOS·iOS 네이티브 실행 파일, 앱 자체의 계정 관리는 이번 구현 범위에 포함하지 않습니다.
packages/lina-codex: Codex RPC, 세션 상태 반영, 권한, 작업 상태의 영속 관리.packages/lina-opencodex: Hub 탐색, 모델 선택, 보조 추론.packages/lina-core: 대화·요청의 영속 처리 규약, 원문 보관, 컨텍스트 저장.packages/lina-history: 비공개 체크포인트 명세, 데이터 객체, 검증, 복구 준비.packages/lina-runtime: 앱·에이전트 집합 컨트롤러와 Codex 실행 구성.packages/lina-web: 브라우저 작업 화면과 동일 출처 게이트웨이.packages/lina-memory: 근거 기반 개인 기억, 비코드 자료·공유 기억·검색의 내장 엔진.packages/lina-channels: 채널 연동.data/personas: 작성된 페르소나와 출처 기록.
실행 엔진은 Codex만 지원합니다. Senpi 실행·옛 세션 가져오기·OmO 작업 실행 경로는 제거했습니다. 이전 상태 파일은 자동으로 옮기거나 삭제하지 않습니다. 페르소나, 관계 기억, LCM 요약과 Codex 작업 관리는 현재 Codex/OpenCodex 경로를 사용합니다.
bun test
bun run typecheck
bun run lintscripts/qa/에는 전용 프로세스, 공유 데몬, Hub, 브라우저를 분리해서 확인하는 스크립트가
있습니다. 검증 방법과 필요한 증거는 검증 범위에 정리했습니다.
실제 서비스를 호출하는 스크립트는 모델 토큰을 사용하고 별도 테스트 상태를 만들 수
있으므로, 다른 환경에서 실행하기 전에 설정을 확인하세요.
확인한 외부 프로젝트의 버전과 라이선스, 서비스 사용과 코드 재배포·수정의 구분은 외부 소프트웨어 고지를 참고하세요.
Lina의 자체 소스 코드·문서·유지관리자가 작성한 페르소나 프리셋 텍스트와 확인된 아바타 9개·앱 아이콘 2개는 보유 권리 범위에서 Apache-2.0으로 제공합니다. 저작권 표시는 Copyright 2026 Lina contributors이며 NOTICE에 기록했습니다. 외부 라이브러리와 서비스에는 각각의 라이선스가 적용됩니다.
포함된 Ensemble 사회 엔진의 고정 소스·변경 내역과 UC BSD-4 라이선스는 외부 소프트웨어 고지에 기록했습니다. This product includes software developed by the University of California, Santa Cruz and its contributors.
소유자는 2026-09-07 해당 이미지 11개를 직접 제작·생성했고 입력 자료에 대한 권리를 보유한다고 확인했습니다. 대상 파일과 해시를 포함한 소유자 확인 기록은 페르소나 출처에 있습니다. 사용자의 대화·메모리·인증 정보와 개인 설치에서 변경한 페르소나는 이 소스의 라이선스 부여나 공개 범위에 포함하지 않습니다.
Lina는 독립적인 소스 프로젝트입니다. 소스와 이력의 공개 범위, 권리·개인정보 검토 기준은 공개 안내에 있습니다. 소스 공개와 릴리스·배포는 별도 절차이며, 검증 결과는 해당 소스와 실행 환경을 기준으로 확인합니다. 취약점은 SECURITY.md의 비공개 경로로 제보해 주세요.