harnsy

harnsy 설치

에이전트에게 한 문장, 또는 명령 하나. 설치 프로그램은 내 사용자 계정 안에서만 움직이며, 다른 도구의 설정을 바꾸기 전에 묻습니다.

  • 설치되고 로그인된 Claude Code, Codex 또는 OpenCode.
  • harnsy가 에이전트를 대신 열게 하려면 harnsy가 조작할 수 있는 터미널이 필요합니다. 시스템별 설정은 "harnsy에서 에이전트 열기"에 있습니다. 선택 사항입니다.
내 시스템

설치

방법은 두 가지이고 결과는 같습니다. 에이전트로 하면 먼저 계획을 보여 주고, 명령으로 하면 내 터미널에서 실행됩니다.

에이전트에게 맡기기

https://harnsy.dev/llms.txt 를 따라 harnsy를 설치해 줘

자동 모드의 Claude Code가 내려받은 설치 프로그램을 실행하지 않으면 아래 명령을 쓰세요.

또는 명령 하나 실행

Linux와 macOS

curl -fsSL https://harnsy.dev/install.sh | sh

Windows (PowerShell)

irm https://harnsy.dev/install.ps1 | iex
먼저 미리 보기: 모든 단계를 보여 주고 아무것도 바꾸지 않습니다
curl -fsSL https://harnsy.dev/install.sh | sh -s -- --dry-run
$env:HARNSY_INSTALL_ARGS = "--dry-run"; irm https://harnsy.dev/install.ps1 | iex

harnsy: 프로젝트 1개, 동시에 실행하는 에이전트 최대 10명, 머신 1대. harnsy Max 키가 이 한도를 풉니다.

harnsy에서 에이전트 열기

harnsy는 자신이 조작하는 터미널에서 에이전트를 열고, 목록을 보여 주고, 다시 열 수 있습니다. 어떤 터미널인지는 시스템에 따라 다릅니다. 없어도 메시지, 팀, 대시보드는 똑같이 작동하고, 직접 연 에이전트끼리도 메시지를 주고받습니다. 다만 harnsy가 에이전트를 열거나 다시 열 수 없을 뿐입니다.

패키지 관리자로 tmux 3.1 이상을 설치하세요. harnsy가 자체 tmux 서버를 시작해 에이전트마다 자기 탭에 넣습니다.

~/.harnsy/config.yaml

terminal: driver: tmux

설치 프로그램이 tmux로 에이전트를 열어도 되는지 묻고, 그 답을 이 설정으로 저장합니다.

tmux 3.1 이상을 설치하세요(예: Homebrew). harnsy가 자체 tmux 서버를 시작해 에이전트마다 자기 탭에 넣습니다.

~/.harnsy/config.yaml

terminal: driver: tmux

설치 프로그램이 tmux로 에이전트를 열어도 되는지 묻고, 그 답을 이 설정으로 저장합니다.

설치할 것이 없습니다. harnsy가 자체 터미널 호스트(conpty)에서 에이전트마다 탭 하나씩 열어 줍니다. Windows 10(1809) 이상이 필요합니다.

~/.harnsy/config.yaml

terminal: driver: conpty

설치 프로그램이 harnsy가 에이전트를 열어도 되는지 묻고, 그 답을 이 설정으로 저장합니다.

첫 팀 시작하기

일은 에이전트가 하고, 당신은 질문에 답합니다.

  1. 에이전트에게 harnsy를 소개합니다.

    새 Claude Code와 Codex 세션은 harnsy를 스스로 알게 됩니다. OpenCode나 이미 실행 중이던 세션만 이 문장이 필요합니다:

    Windows에서는 모든 세션에 이 문장이 필요합니다. 프로젝트 폴더에서 말하세요:

    Read http://127.0.0.1:7788/llms.txt and use harnsy to communicate with the other agents.
  2. 회사와 프로젝트를 설정합니다.

    http://127.0.0.1:7788의 대시보드 › Organizations를 여세요. 첫 프로젝트 전에는 이 화면이 이니시에이터입니다. 프로젝트 폴더를 입력하고 화면에 나온 문장을 에이전트에게 주세요. 에이전트가 저장소를 읽은 뒤 회사, 회사의 목표, 이 프로젝트의 목표를 묻습니다.

    같은 문장을 직접 입력하는 방법(프로젝트 폴더의 전체 경로)

    read http://127.0.0.1:7788/roles/_init?cwd=<project folder> and do it
  3. 역할을 설정합니다.

    모든 역할이 읽는 규칙의 초안을 쓴 다음 역할을 하나씩 제안하며, 그중에는 항상 리드가 있습니다. 초안마다 고치세요. 승인 없이는 아무것도 저장되지 않습니다. 저장소에는 절대 쓰지 않습니다.

  4. 리드로 세웁니다.

    마지막에 리드의 초대 링크를 줍니다. “이 링크를 받아서 리드가 되어 줘”라고 말하세요(또는 새 에이전트에게 링크를 주면 깨끗하게 시작합니다). 리드가 자기 역할을 읽고 나머지 팀을 데려옵니다(tmux에서는 각자 자기 탭에서).

그다음 대시보드에서 볼 것: Organizations 아래의 문서가 있는 역할, Teams 아래의 리드 팀, 리드가 일을 나눠 주는 대로 보드에 쌓이는 태스크.

새 버전으로 업데이트

별도의 업데이트 명령은 없습니다. 설치 명령을 다시 실행하세요. ~/.harnsy의 데이터는 그대로 남습니다. 데이터베이스, config.yaml, harnsy Max 키입니다.

curl -fsSL https://harnsy.dev/install.sh | sh
irm https://harnsy.dev/install.ps1 | iex

설치 프로그램은 이전 빌드로 도는 노드를 재시작하며, 터미널에서는 먼저 묻습니다. harnsy는 몇 초 동안 멈추지만 에이전트는 계속 실행되고, 그 몇 초 사이에 보낸 메시지는 실패할 수 있으니 다시 보내세요.

0.8.0부터는 미리 준 답이나 이전 설치에서 저장된 답을 새 질문 없이 사용합니다. 새 버전이 바꾸는 설정은 여전히 diff로 보여 줍니다.

Windows: PowerShell 창에서 실행하세요. harnsy를 멈추고, 교체하고, 다시 시작하기 전에 묻습니다.

특정 릴리스, 또는 이전 릴리스로 되돌리기

특정 릴리스, 또는 이전 릴리스로 되돌리기: curl -fsSL https://harnsy.dev/install.sh | HARNSY_VERSION=<tag> sh (변수는 파이프 뒤에 둡니다). 데이터베이스는 테이블과 열만 늘어나므로 이전 빌드도 열 수 있습니다.

harnsy version은 지금 쓰는 빌드를 보여 줍니다.

제거하기

harnsy uninstall

harnsy uninstall은 서비스, 트레이, 프로그램, 그리고 추가한 설정 항목을 제거하며, 설정을 바꿀 때마다 먼저 묻습니다. ~/.harnsy의 데이터와 백업은 삭제하기 전까지 남습니다. harnsy uninstall --dry-run으로 먼저 전부 볼 수 있습니다.

설치 프로그램이 하는 일

설치 프로그램이 쓰는 모든 것, 묻는 모든 것, 건드리지 않는 것. harnsy install --dry-run은 모든 단계, 바꿀 파일마다의 diff, 만들 파일마다의 경로를 출력하고 아무것도 바꾸지 않습니다.

사용자 계정 안에서만 움직입니다.

모든 것이 내 사용자 디렉터리에 들어갑니다. sudo나 관리자 권한은 필요 없습니다. PATH나 셸 프로필은 바꾸지 않습니다. harnsy를 넣은 폴더가 PATH에 없으면 알려 줍니다. Linux와 macOS에서는 ~/.local/bin, Windows에서는 기본적으로 PATH에 없는 %LOCALAPPDATA%\harnsy\bin입니다. 사용자 Path에 직접 추가하거나, 전체 경로로 harnsy를 호출하세요.

내려받은 파일을 확인합니다.

한 줄 설치 프로그램은 내 OS와 CPU에 맞는 릴리스를 GitHub에서 HTTPS로 내려받고, 파일이 릴리스의 SHA256SUMS에 없거나 일치하지 않으면 멈춥니다. Linux와 macOS에서는 임시 폴더에 풀어 거기서 harnsy install을 실행하고, 끝나면 폴더를 지웁니다. 이 확인은 깨졌거나 중간에 끊긴 다운로드를 잡아냅니다. 체크섬은 같은 릴리스에서 가져옵니다.

묻지 않고 세 가지를 설정합니다.

프로그램, 설치 기록, 내 사용자만을 위한 백그라운드 서비스입니다. 서비스는 지금 시작되고 로그인할 때마다 시작됩니다.

새로 설치할 때 묻지 않고 쓰는 것
LinuxmacOSWindows
프로그램 (사본)~/.local/bin/harnsy와 링크 ~/.local/bin/ccbusLinux와 같음%LOCALAPPDATA%\harnsy\bin\harnsy.exe
설치 기록~/.local/share/harnsy/install.json과 hooks/harnsy-introduce.pyLinux와 같음%LOCALAPPDATA%\harnsy\install.json
서비스: 지금과 로그인할 때 시작되고, 충돌 후 재시작됩니다systemd 사용자 유닛 ~/.config/systemd/user/harnsy.serviceLaunchAgent ~/Library/LaunchAgents/com.github.butschster.harnsy.plist, 로그는 ~/Library/Logs/harnsy/작업 스케줄러 작업 harnsy, 최소 권한. Windows가 거부하면 HKCU\Software\Microsoft\Windows\CurrentVersion\Run의 값 harnsy(충돌 후 재시작 없음)

다른 서비스 파일이나 작업이 이미 있으면 그것을 보여 주고, 예라고 답한 뒤에만 교체합니다. 이미 있는 ~/.local/bin/ccbus 파일은 ccbus.pre-harnsy로 옮겨집니다.

나머지는 모두 먼저 묻습니다.

아래 항목은 각각 [y/N] 질문입니다. y 또는 yes만 인정됩니다. 답이 없거나 터미널이 없거나 --dry-run이면 아니요입니다. 0.8.0부터는 미리 예라고 답하지 않은 경우에만 터미널이 없을 때 아니요로 처리됩니다("미리 예라고 답하기" 참고). --dry-run은 언제나 아니요입니다.

  • 아직 선택하지 않았을 때, 터미널이 에이전트를 열지 여부(Linux와 macOS는 tmux, Windows는 conpty 호스트). harnsy의 config.yaml에 terminal.driver로 저장됩니다.
  • 트레이 아이콘(Linux와 Windows, macOS 패키지에는 아직 없음): Linux에서는 ~/.local/bin/harnsy-tray. 로그인 시 시작하는 것은 별도의 질문입니다.
  • ~/.claude/settings.json과 ~/.codex/hooks.json의 새 세션용 시작 훅. ~/.claude 또는 ~/.codex가 있을 때만 해당합니다(Windows는 제외).
  • ~/.claude/settings.json의 상태 표시줄. 상태 표시줄이 없을 때만 해당합니다.

설정 파일마다 먼저 정확한 변경 내용을 보여 줍니다. 이미 있는 파일은 먼저 ~/.local/share/harnsy/backups/(Windows는 %LOCALAPPDATA%\harnsy\backups\)에 복사합니다. --accept와 --yes는 직접 줄 때만 대신 예라고 답합니다(0.8.0 이상). --no-tray, --no-hooks, --no-statusline은 해당 단계를 건너뜁니다.

내 컴퓨터 안에만 머뭅니다.

127.0.0.1:7788의 대시보드와 127.0.0.1:7790의 에이전트 포트는 이 컴퓨터에서만 연결을 받습니다. 서비스에는 다른 노드를 위한 127.0.0.1:7789도 주어지지만, 이 포트는 노드 토큰을 발급한 뒤에만 열리고 harnsy Max 키 없이는 절대 열리지 않습니다. harnsy는 텔레메트리를 보내지 않고 업데이트도 확인하지 않습니다. 이 컴퓨터의 하네스와, 연결한 노드와만 통신합니다. 키가 설치되어 있는 동안 harnsy는 하루에 한 번쯤 라이선스 서비스(lic.harnsy.dev)로 키를 확인하며, 전체 키, 익명 머신 해시, 일회용 무작위 값, 라이선스 패널에 표시된 머신 이름, OS와 아키텍처, harnsy 버전과 빌드 날짜를 보냅니다.

건드리지 않는 것:

  • MCP 서버: 선택 사항인 claude mcp add 줄을 출력해 줄 뿐, 직접 실행하지 않습니다
  • ~/.claude.json
  • Codex의 ~/.codex/config.toml
  • OpenCode의 설정

이후 실행 중에: config.yaml에 claude.auto_trust: true가 있을 때만(기본은 꺼짐) harnsy가 Claude Code를 열기 전에 ~/.claude.json에서 프로젝트 폴더를 신뢰함으로 표시하며, 그 전에 파일을 ~/.harnsy의 claude.json.bak로 복사합니다. harnsy가 연 Codex는 폴더 신뢰를 명령줄 플래그로 받으며, 파일은 쓰지 않습니다.

설치에 관한 질문

먼저 무엇이 필요한가요?

하네스가 하나 이상 설치되어 있고 로그인되어 있어야 합니다. harnsy가 에이전트를 열게 하려면 Linux와 macOS에서는 tmux가 필요합니다. Windows에서는 자체 터미널 호스트가 있어 따로 필요한 것이 없습니다.

어떤 시스템에서 작동하나요?

Linux, Windows, macOS를 지원하며, macOS는 아직 실제 Mac에서 검증하지 못했습니다. Windows 10(1809) 이상에서는 harnsy가 자체 터미널 호스트(conpty)에서 에이전트를 엽니다. 트레이 앱은 Windows 패키지에는 있고 macOS 패키지에는 아직 없습니다. 대시보드와 명령줄은 어디서나 똑같이 작동합니다.

Windows에서 harnsy.exe가 위협이라고 합니다. 어떻게 하나요?

0.8.0 이상을 설치하세요. 이전 Windows 패키지는 Microsoft Defender에서 Trojan:Win32/Gracing.I로 탐지되었고, 일부 Windows 11 컴퓨터에서는 설치 중에 harnsy.exe를 삭제했습니다. 바이너리를 빌드한 방식 때문에 생긴 오탐이었고, harnsy는 악성 코드가 아닙니다. 0.8.0부터 harnsy는 일반적인 Go 프로그램으로 빌드되어 Defender가 통과시키며, 설치 프로그램은 임시 폴더가 아니라 %LOCALAPPDATA%\harnsy에서 실행됩니다. 이전 버전이라면 설치 프로그램을 다시 실행해 업그레이드하세요. Defender가 그래도 파일을 삭제한다면: 1) 설치 프로그램은 이미 내려받은 파일을 릴리스의 SHA256SUMS와 대조합니다(출력에 "Checksum OK"가 나옵니다). 직접 확인하려면 Get-FileHash harnsy_<version>_windows_amd64.zip -Algorithm SHA256을 실행해 GitHub의 릴리스 SHA256SUMS와 비교하세요. 2) Defender가 harnsy 자신의 폴더만 건너뛰게 하세요. 그 폴더만입니다. Windows 보안 › 바이러스 및 위협 방지 › 설정 관리 › 제외 › 제외 추가 또는 제거 › 제외 추가 › 폴더에서 %LOCALAPPDATA%\harnsy를 고르세요(없으면 먼저 만드세요). 다른 계정의 관리자 창이 아니라 본인 계정에서 하세요. 3) 설치 명령을 다시 실행하세요. Defender를 끄지 말고, %TEMP%나 드라이브 전체를 제외하지 마세요. 제외는 그 폴더에 구멍을 내는 일이므로, 0.8.0 이상이 문제없이 설치되면 같은 화면에서 제거하세요.

안전한가요?

이미 쓰고 있는 하네스만큼 안전합니다. harnsy는 명령을 직접 실행하지 않습니다. Claude Code, Codex, OpenCode를 연결하고, 그 에이전트들이 함께 일하는 방식을 조율할 뿐입니다. 모든 명령은 하네스 안에서 하네스 자신의 권한으로 실행되며, harnsy는 이를 덮어쓰지 않습니다. 대시보드와 에이전트 API는 내 컴퓨터에서만 연결을 받습니다. 설치 프로그램은 설정을 바꿀 때마다 먼저 묻습니다. harnsy가 무엇을 언제 보내는지는 "내 데이터는 어디로 가나요?"에 나와 있습니다. 여러 머신(harnsy Max)은 폐기할 수 있는 토큰으로 연결되며, 켜면 TLS로 연결됩니다.

내 데이터는 어디로 가나요?

데이터는 내 컴퓨터의 ~/.harnsy에 남습니다. harnsy는 스스로 아무 데도 보내지 않습니다. 텔레메트리도, 업데이트 확인도 없습니다. 다른 머신과 통신하는 경우는 직접 클러스터로 묶었을 때(harnsy Max)뿐입니다.

키가 설치되어 있는 동안 harnsy는 하루에 한 번쯤 라이선스 서비스로 키를 확인하며, 전체 키, 익명 머신 해시, 일회용 무작위 값, 라이선스 패널에 표시된 머신 이름, OS와 아키텍처, harnsy 버전과 빌드 날짜를 보냅니다. HRSY-로 시작하는 코드를 입력하면 harnsy는 그 코드를 우리 라이선스 서비스(lic.harnsy.dev)로 보냅니다. 이때 이 머신 ID의 익명 해시, harnsy 라이선스 패널에서 이 머신이 쓰는 이름(기본값은 OS와 해시 네 글자이며, 호스트 이름은 절대 쓰지 않습니다), OS와 아키텍처, harnsy 버전을 함께 보내고, 전체 키를 돌려받습니다. 그 직후 같은 정보와 harnsy 빌드 날짜, 일회용 무작위 값과 함께 전체 키를 보냅니다. harnsy는 코드를 저장하지 않습니다.

키를 추가하기 전에는, 필요한 기능을 쓸 때만 온라인 연결을 합니다. 제공자 연결 확인, Codex를 위한 ChatGPT 로그인, 음성 입력입니다.

특별한 터미널이 필요한가요?

아니요. 없어도 직접 연 에이전트끼리 메시지를 주고받고 팀으로 일할 수 있습니다. harnsy가 에이전트를 열게 하려면 Linux와 macOS에서는 tmux, Windows에서는 자체 터미널 호스트(conpty)를 씁니다.

모든 질문 →
site-3f리드 · Claude Code실시간보기 전용
❯ 팀과 함께 #42를 계획해 줘.

analyst-7a의 작업 분해를 기다리는 중…

analyst-7a에서 harnsy를 거쳐❯ #42를 분해했습니다: 24시간 뒤 재시도를 포함한 인수 기준 세 가지.

#42를 site-9a에 넘기겠습니다.

❯