"OpenHarness: Open Agent Harness with a Built-in Personal Agent--Ohmo!"
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
<h1 align="center"> <img src="assets/logo.png" alt="OpenHarness" width="64" style="vertical-align: middle;"> <img src="assets/ohmo.png" alt="ohmo" width="64" style="vertical-align: middle;"> <br> <code>oh</code> — OpenHarness & <code>ohmo</code> </h1>
<p align="center"> <a href="README.md"><strong>English</strong></a> · <a href="README.zh-CN.md"><strong>简体中文</strong></a> </p>
OpenHarness는 핵심 경량 에이전트 인프라를 제공합니다: 도구 사용, 스킬, 메모리, 다중 에이전트 조정.
ohmo는 OpenHarness 위에 구축된 개인 AI 에이전트입니다. 또 다른 챗봇이 아니라, 장기 세션 동안 실제로 당신을 위해 작업하는 어시스턴트입니다. Feishu / Slack / Telegram / Discord에서 ohmo와 채팅하면, ohmo가 브랜치를 포크하고, 코드를 작성하고, 테스트를 실행하고, PR을 직접 엽니다. ohmo는 기존 Claude Code 또는 Codex 구독으로 실행됩니다. 추가 API 키가 필요하지 않습니다.
커뮤니티에 참여하세요: 오픈 에이전트 개발을 위한 Harness에 기여하세요.
<p align="center"> <a href="#-quick-start"><img src="https://img.shields.io/badge/QuickStart-5min-blue?style=for-the-badge" alt="Quick Start"></a> <a href="#-harness-architecture"><img src="https://img.shields.io/badge/Harness-Architecture-ff69b4?style=for-the-badge" alt="Architecture"></a> <a href="#-features"><img src="https://img.shields.io/badge/Tools-43+-green?style=for-the-badge" alt="Tools"></a> <a href="#-test-results"><img src="https://img.shields.io/badge/Tests-114_Passing-brightgreen?style=for-the-badge" alt="Tests"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge" alt="License"></a> </p>
<p align="center"> <img src="https://img.shields.io/badge/python-≥3.10-blue?logo=python&logoColor=white" alt="Python"> <img src="https://img.shields.io/badge/React+Ink-TUI-61DAFB?logo=react&logoColor=white" alt="React"> <img src="https://img.shields.io/badge/pytest-114pass-brightgreen" alt="Pytest"> <img src="https://img.shields.io/badge/E2E-6suites-orange" alt="E2E"> <img src="https://img.shields.io/badge/output-text|json|stream--json-blueviolet" alt="Output"> <a href="https://github.com/HKUDS/OpenHarness/actions/workflows/ci.yml"><img src="https://github.com/HKUDS/OpenHarness/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://github.com/HKUDS/.github/blob/main/profile/README.md"><img src="https://img.shields.io/badge/Feishu-Group-E9DBFC?style=flat&logo=feishu&logoColor=white" alt="Feishu"></a> <a href="https://github.com/HKUDS/.github/blob/main/profile/README.md"><img src="https://img.shields.io/badge/WeChat-Group-C5EAB4?style=flat&logo=wechat&logoColor=white" alt="WeChat"></a> </p>
하나의 명령(oh)으로 OpenHarness를 실행하고 모든 에이전트 Harness를 잠금 해제하세요.
OpenClaw, nanobot, Cursor 등을 포함한 CLI 에이전트 통합을 지원합니다.
<p align="center"> <img src="assets/cli-typing.gif" alt="OpenHarness Terminal Demo" width="800"> </p>
<table align="center" width="100%"> <tr> <td width="20%" align="center" style="vertical-align: top; padding: 15px;">
<h3>🔄 에이전트 루프</h3>
<div align="center"> <img src="https://img.shields.io/badge/Engine-06B6D4?style=for-the-badge&logo=lightning&logoColor=white" alt="Engine" /> </div>
<img src="assets/scene-agentloop.png" width="140">
<p align="center"><strong>• 스트리밍 도구 호출 사이클</strong></p> <p align="center"><strong>• 지수 백오프를 사용한 API 재시도</strong></p> <p align="center"><strong>• 병렬 도구 실행</strong></p> <p align="center"><strong>• 토큰 계산 및 비용 추적</strong></p>
</td> <td width="20%" align="center" style="vertical-align: top; padding: 15px;">
<h3>🔧 Harness 도구 키트</h3>
<div align="center"> <img src="https://img.shields.io/badge/43+_Tools-10B981?style=for-the-badge&logo=toolbox&logoColor=white" alt="Toolkit" /> </div>
<img src="assets/scene-toolkit.png" width="140">
<p align="center"><strong>• 43개 도구 (파일, 셸, 검색, 웹, MCP)</strong></p> <p align="center"><strong>• 주문형 스킬 로딩 (.md)</strong></p> <p align="center"><strong>• 플러그인 생태계 (스킬 + 훅 + 에이전트)</strong></p> <p align="center"><strong>• anthropics/skills 및 플러그인과 호환</strong></p>
</td> <td width="20%" align="center" style="vertical-align: top; padding: 15px;">
<h3>🧠 컨텍스트 및 메모리</h3>
<div align="center"> <img src="https://img.shields.io/badge/Persistent-8B5CF6?style=for-the-badge&logo=brain&logoColor=white" alt="Context" /> </div>
<img src="assets/scene-context.png" width="140">
<p align="center"><strong>• CLAUDE.md 발견 및 주입</strong></p> <p align="center"><strong>• 컨텍스트 압축 (자동 압축)</strong></p> <p align="center"><strong>• MEMORY.md 영구 메모리</strong></p> <p align="center"><strong>• 세션 재개 및 기록</strong></p>
</td> <td width="20%" align="center" style="vertical-align: top; padding: 15px;">
<h3>🛡️ 거버넌스</h3>
<div align="center"> <img src="https://img.shields.io/badge/Permissions-F59E0B?style=for-the-badge&logo=shield&logoColor=white" alt="Governance" /> </div>
<img src="assets/scene-governance.png" width="140">
<p align="center"><strong>• 다중 레벨 권한 모드</strong></p> <p align="center"><strong>• 경로 수준 및 명령 규칙</strong></p> <p align="center"><strong>• PreToolUse / PostToolUse 훅</strong></p> <p align="center"><strong>• 대화형 승인 대화상자</strong></p>
</td> <td width="20%" align="center" style="vertical-align: top; padding: 15px;">
<h3>🤝 Swarm 조정</h3>
<div align="center"> <img src="https://img.shields.io/badge/Multi--Agent-EC4899?style=for-the-badge&logo=network&logoColor=white" alt="Swarm" /> </div>
<img src="assets/scene-swarm.png" width="140">
<p align="center"><strong>• 하위 에이전트 생성 및 위임</strong></p> <p align="center"><strong>• 팀 레지스트리 및 작업 관리</strong></p> <p align="center"><strong>• 백그라운드 작업 수명 주기</strong></p> <p align="center"><strong>• <a href="https://github.com/HKUDS/ClawTeam">ClawTeam</a> 통합 (로드맵)</strong></p>
</td> </tr> </table>
에이전트 Harness는 LLM을 감싸서 기능적인 에이전트로 만드는 완전한 인프라입니다. 모델은 지능을 제공하고, Harness는 손, 눈, 메모리 및 안전 경계를 제공합니다.
<p align="center"> <img src="assets/harness-equation.png" alt="Harness = 도구 + 지식 + 관찰 + 행동 + 권한" width="700"> </p>
OpenHarness는 연구자, 빌더 및 커뮤니티를 위해 설계된 오픈 소스 Python 구현입니다:
oh --dry-run은 모델, 도구 또는 하위 에이전트를 실행하지 않고 해결된 런타임 설정, 인증 상태, 스킬, 명령, 도구 및 구성된 MCP 서버를 미리 봅니다.ready / warning / blocked 준비 상태 판정을 보고합니다.bin 디렉토리를 PATH에 추가하는 대신 oh, ohmo, openharness를 ~/.local/bin에 링크하여 Conda 관리 셸을 덮어쓰지 않습니다.Shift+Enter로 줄바꿈을 삽입하고 일반 Enter는 제출로 유지합니다.ohmo는 채널 슬래시 명령과 멀티모달 첨부 파일 지원을 얻습니다.ohmo 채널은 파일 첨부 및 멀티모달 게이트웨이 메시지를 지원합니다.reasoning_content 지원.OPENAIBASEURL 환경 변수 재정의, 프로필 범위 자격 증명 우선 순위.calltool / readresource에서 연결이 끊긴 서버를 정상적으로 처리합니다.web_fetch URL 검증 강화.--debug 로깅, Windows cmd 깜박임 수정.ohmo 개인 에이전트 앱:oh setup은 이제 원시 인증/공급자 내부를 노출하는 대신 워크플로로 공급자 선택을 안내합니다.ohmo는 ~/.ohmo 작업 공간, 게이트웨이, 부트스트랩 프롬프트 및 채널 구성 흐름과 함께 패키지 앱으로 제공됩니다.<p align="center"> <strong>여기서 시작하세요:</strong> <a href="#-quick-start">빠른 시작</a> · <a href="#-provider-compatibility">공급자 호환성</a> · <a href="docs/SHOWCASE.md">쇼케이스</a> · <a href="CONTRIBUTING.md">기여하기</a> · <a href="CHANGELOG.md">변경 로그</a> </p>
# 원클릭 설치
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash
# 또는 pip 사용
pip install openharness-ai
# 원클릭 설치 (PowerShell)
iex (Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.ps1')
# 또는 pip 사용
pip install openharness-ai
참고: Windows 지원은 이제 네이티브입니다. PowerShell에서는 oh 대신 openh를 사용하세요. oh는 내장 Out-Host 별칭으로 확인될 수 있기 때문입니다.
oh setup # 대화형 마법사 — 공급자 선택, 인증, 완료
# Windows PowerShell에서는: openh setup
Claude / OpenAI / Copilot / Codex / Moonshot(Kimi) / GLM / MiniMax / NVIDIA NIM 및 모든 호환 엔드포인트를 지원합니다.
oh
# Windows PowerShell에서는: openh
<p align="center"> <img src="assets/landing.png" alt="OpenHarness 시작 화면" width="700"> </p>
Feishu / Slack / Telegram / Discord에서 당신을 위해 작업하는 AI 에이전트를 원하시나요?
ohmo init # ~/.ohmo 작업 공간 초기화
ohmo config # 채널 및 공급자 구성
ohmo gateway start # 게이트웨이 시작 — 이제 ohmo가 채팅 앱에서 활성화됩니다.
ohmo는 기존 Claude Code 구독 또는 Codex 구독으로 실행됩니다. 추가 API 키가 필요하지 않습니다.
# 단일 프롬프트 → stdout
oh -p "이 코드베이스 설명"
# 프로그래밍 방식 사용을 위한 JSON 출력
oh -p "main.py의 모든 함수 나열" --output-format json
# 실시간 JSON 이벤트 스트림
oh -p "버그 수정" --output-format stream-json