본문으로 이동

하위 시스템

DeepSeek Harness의 하위 시스템마다 하나의 페이지를 제공합니다. 각 페이지에서는 하위 시스템의 개념, 이동하는 데이터 구조, 그리고 ctx 서비스 또는 이벤트 범위가 이를 지원하는 경우 서비스 및 이벤트 참조를 담은 생성된 Cordis API 섹션을 설명합니다. 이 폴더는 architecture.md를 보완하며, 이 문서는 하위 시스템 전반의 동작 (서비스 맵, session/turn/step 수명 주기, 이벤트 분류 체계)을 설명합니다. 여기의 각 페이지는 하나의 하위 시스템에 대한 용어와 연결 방식을 참조로 제공합니다.

페이지담당 내용
core.mdpackages/core가 에이전트 루프를 제어하는 방식: 패키지별 루프 설명, 에이전트 생성 및 소유권(AgentHandle), Agent 핸들의 delivery/cancellation/interception 계약, 리포지토리 전체의 타입 패턴(…Map → derived-union, 브랜디드 ID)
llm-streaming.mdpackages/llm 대화 타입 — Message/ContentBlock, 조합된 모델 요청, StreamChunk 와이어 프로토콜 및 어댑터 계약, BlockAssembler, LlmAdapter 공급자 계약
token-meter.md소비된 로그 수정본을 포함한 불변 스칼라 및 위치 재생 측정값
scope.md범위가 지정된 등록 식별자, 디스패치 전달자, 그리고 소유된 Scope 컨텍스트
typert.mdRemote 호출 기술자, 조회/Context 선언, Typert 레지스트리, Host 게이트웨이/Client API 경계
goal.md영속된 목표 식별자, 수명 주기 스냅샷, 활성화, 변경 레코드 및 라운드 귀속
schedule.md세션 로컬 알림 레코드, 지속 가능한 전환, 활성 뷰 및 일반 대화 전달
commands.md사용자 명령 레지스트리 서비스: 정의, 어댑터 검색, 직접 호출, 결과 및 구문 분석 뷰
session.md전체 SessionEventMap 변형 카탈로그, TurnTrigger/TurnEndReason, deriveMessages(), 실행 인클로저 및 독립 이벤트
persistence.md영속성 추상 접점: SessionPersistence, JSONL + SQLite 백엔드, session/flush, 충돌 복구, SessionHeader
settings.md사용자 설정 추상 접점: SettingsNamespace 등록, 계층형 확인(기본값 → 구성 base → 사용자 문서), 소유자 범위, 핫 커밋
credentials.md자격 증명 추상 접점: 구성의 CredentialRef 참조(값은 제외), 작업별 확인, UI 안전 CredentialInfo, 공급자 소스 계층
session-query.md논리 레코드, 제한된 정확한 이벤트 읽기, 관계 추적, 의미 필터/문서 및 전문 검색 결과 페이지
feedback.md수명 주기에 연결된 메시지별 피드백 레코드, 낙관적 버전, 사이드카 영속성 및 Host Remote 계약
session-title.md지속 가능한 제목 스냅샷, 인용된 소스 메시지 seq 및 비동기 공급자 계약
session-reference.md구조화된 세션 간 참조: SessionReferenceInput/Candidate, 준비된 메시지 컨텍스트, 안정적인 오류 분류 체계
system-prompt.md조립별 컨텍스트, 도구 공급자 결과, 프롬프트 섹션 및 협력적 조립
tools.mdToolDefinition 전체 필드, 스키마 DSL, ToolExecution/ToolResult, 도구 표시 UI 타입 및 보호된 실행 파이프라인
user-questions.mdUI 기반 사용자 질문/답변 추상 접점: AskUserQuestionRequest, 답변/옵션 용어, 공급자 API, 오류 분류 체계
approval.md일회성 사용자 승인 추상 접점: ApprovalRequest, ApprovalOutcome, 세션별 정책, 감사 이벤트 및 응답자 계약
attachment.md지속 가능한 이미지 식별자 및 메타데이터, 검증 입력, 검증된 읽기 및 AttachmentStore 추상 접점
shell.mdbash 실행기 추상 접점: ShellExecRequest/Spec, ShellRunResult, 백그라운드 ShellProcess 핸들
subprocess.md하위 프로세스 추상 접점: 완전히 명시적인 SubprocessSpawnSpec, 오프셋 기반 출력 리더, 분류되지 않은 SubprocessOutcome 및 관리되는 DSH_* 환경 용어
terminal.md영구 터미널 ID, 백엔드/세션 계약, 전송 준비 상태, 제한된 읽기 및 소유자에게 표시되는 스냅샷
sandbox.md세션별 정책 확인 및 프로세스 격리 추상 접점: 파일 효과 모드, 실행/공급자 정책, ConfinedArgv, 강제 적용 및 실패 폐쇄 오류
code-runtime.md코드 실행 추상 접점: CodeRunRequest/Result, 바인딩 네임스페이스, 캡처된 로그, CodeRunFailure 분류 체계
extensions.md버전이 지정된 동적 Cordis Plugins 및 Packages, Host/Client 활성화, 승인, 런타임 검사 및 수명 주기 해제
filesystem.md파일 시스템 추상 접점: FsTarget, read/write/edit 결과, 관찰된 파일 상태, FsErrorCode
lsp.mdLSP 탐색 추상 접점: LspQueryRequest/Result, LspProvider/Service, 네 가지 작업, LspError
skills.md스킬 서비스: 검색 우선순위, SkillSummary/SkillDefinition, 세션 접두사 카탈로그, 모델 대상 skill 로딩
compaction.md압축 추상 접점: compaction/* 세션 이벤트, CompactionResult, CompactionEngine 인터페이스
subagent.md하위 에이전트 추상 접점: 명명된 공급자 레지스트리, SubagentStartRequest/Result/Run, 시작 시점과 런타임 간 기능 분리
web.md웹 액세스 추상 접점: WebSearchRequest/Result, WebFetchRequest/Result, WebFetchBody, 공급자 가용성, WebError
spill.md스필 저장소 추상 접점: SaveTextSpill, SpillOwner/SpillSource, SpillRef, 브랜디드 SpillLocator
workflow.md워크플로 추상 접점: WorkflowStartRequest, WorkflowMeta, WorkflowRun/Result, workflow/* 이벤트 페이로드, WorkflowError 치명성
jobs.md백그라운드 작업 런타임: 브랜디드 JobId, 생산자 계약, 소비자 뷰 및 ctx.jobs 서비스 동작
permission-presets.md권한 사전 설정 계층: PresetSpec/PresetOption, 파생된 custom 상태, 로그 전용 permission/preset 이벤트
plan.md계획 모드: 로그 전용 plan/mode 상태, 보류 중인 선택 플러시, PlanModeConfig, exit_plan_mode 검토 흐름
invariants.md런타임 불변 조건 레지스트리: 선택 Config, InvariantInstaller/InvariantFailure, 빈 동반 항목 계약
web-server.mdHTTP 전달자: WebRouteKind/WebRoute, 일치 순서, 획득 가능한 폴백 자리, 인덱스 탭
storage.md저장소 하위 시스템: 백엔드 계약(StorageBackend), StorageForms, DomainSpec/Domain, domain/changed
workspace.md워크스페이스 레지스트리: Workspace/WorkspaceId, 등록 및 확인, 세션 cwd 관계
client-modules.md웹 플러그인 테이블: dsh.client 선언, WebBootGraph 와이어 구성, 번들 경로 및 인덱스 탭
session-projection.md프로젝션 추상 접점: SessionProjectionMap, 순수한 ProjectionDefinition 단위, ProjectionSnapshot의 일관된 절단, 변경 피드
session-telemetry.md아웃바운드 세션 보고 기능 추상 접점: SessionTelemetryRecord/SessionTelemetrySeverity, SessionTelemetrySink 계약 및 session-telemetry/record 삭제 워터폴

이 페이지의 타입 선언과 해당 JSDoc은 소스와 동등하며 pnpm run verify-type-equiv로 드리프트를 검사합니다(development.md 참고). 일반 블록은 완전한 선언을 유지하고, public-api 블록은 본문이 제거된 공개 클래스 선언을 유지합니다. Cordis 서비스와 이벤트는 각 페이지에서 생성된 Cordis API 섹션을 사용합니다.