[ Web Proxy ]
URL:
Viewing: https://harborframework.com/docs [Back]  [Original]

Harbor documentation - Harbor
Skip to main content

Harbor documentation

Documentation for evaluating and optimizing agents and models with Harbor.

Copy page
Harbor is a framework for running any agent with any model on any task in any sandbox in parallel.

Quick start

Run your first evaluation with Harbor.

Run a job

Run agents on tasks and datasets.

Task overview

Understand the Harbor task format.

Create a task

Build and test your first task.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Harbor","colors":{"primary":"#111111","light":"#3F3F46","dark":"#F4F4F5"},"logo":{"light":"https://mintcdn.com/harborframework/l9c_ohETpnOqpDv2/harbor-wordmark-light.png?fit=max\u0026auto=format\u0026n=l9c_ohETpnOqpDv2\u0026q=85\u0026s=1f1a976e45a8c4d0f6c6aed694ec906f","dark":"https://mintcdn.com/harborframework/l9c_ohETpnOqpDv2/harbor-wordmark-dark.png?fit=max\u0026auto=format\u0026n=l9c_ohETpnOqpDv2\u0026q=85\u0026s=5ea5d359addaefdfb46e87339e87b65b"},"favicon":"https://mintcdn.com/harborframework/75tzvIWN0ZVN8I1R/harbor-logo.png?fit=max\u0026auto=format\u0026n=75tzvIWN0ZVN8I1R\u0026q=85\u0026s=014c9af368afe29d040b905c7c04fef7","appearance":{"default":"system"},"background":{"color":{"light":"#FAFAFA","dark":"#09090B"}},"navbar":{"links":[{"href":"https://github.com/harbor-framework/harbor","type":"github"}]},"footer":{"socials":{"github":"https://github.com/harbor-framework/harbor","discord":"https://discord.gg/QVvyhRw5UQ"},"links":[{"header":"Community","items":[{"label":"GitHub","href":"https://github.com/harbor-framework/harbor"},{"label":"Discord","href":"https://discord.gg/QVvyhRw5UQ"},{"label":"Hub","href":"https://hub.harborframework.com"}]}]},"seo":{"metatags":{"canonical":"https://docs.harborframework.com"}},"fonts":{"family":"Geist"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":false},"contextual":{"options":["copy","view","claude","chatgpt"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Harbor Hub","icon":"layers","href":"https://hub.harborframework.com"},{"anchor":"Discord","icon":"messages-square","href":"https://discord.gg/QVvyhRw5UQ"},{"anchor":"Docs MCP","icon":"bot","href":"/ai-agents"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"harborframework","hasAudioNarration":false,"actualSubdomain":"harborframework","customDomains":["docs.harborframework.com"],"gitSource":{"type":"github","owner":"harbor-framework","repo":"harbor","deployBranch":"main","contentDirectory":"docs-mintlify","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"6bf2fe0e-24e2-408a-86fd-c381b0374705","liveDeploymentHistoryId":"6ae3e36eb18ab3f05cb3336f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3e36eb18ab3f05cb3336f"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ae3e36eb18ab3f05cb3336f","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Docs","count":71},{"language":"default","tag":"Tasks","count":14},{"language":"default","tag":"Jobs","count":12},{"language":"default","tag":"Hosted Harbor","count":9},{"language":"default","tag":"News","count":7},{"language":"default","tag":"Agents","count":6},{"language":"default","tag":"Harbor Hub","count":6},{"language":"default","tag":"Earlier announcements","count":6},{"language":"default","tag":"Datasets","count":5},{"language":"default","tag":"Rewardkit","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* adlam */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwNS0hkBz.woff2) format('woff2');\n unicode-range: U+061F, U+0640, U+2015, U+201B, U+2020-2021, U+2030, U+204F, U+25CC, U+2E28-2E29, U+2E41, U+1E900-1E95F;\n}\n/* canadian-aboriginal */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwJm0hkBz.woff2) format('woff2');\n unicode-range: U+02C7, U+02D8-02D9, U+02DB, U+0307, U+1400-167F, U+18B0-18F5, U+25CC, U+11AB0-11ABF;\n}\n/* cherokee */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwKW0hkBz.woff2) format('woff2');\n unicode-range: U+0300-0302, U+0304, U+030B-030C, U+0323-0324, U+0330-0331, U+13A0-13FF, U+AB70-ABBF;\n}\n/* math */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwMq0hkBz.woff2) format('woff2');\n unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-209F, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;\n}\n/* old-permic */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwNq0hkBz.woff2) format('woff2');\n unicode-range: U+0300, U+0306-0308, U+0313, U+0483, U+20DB, U+25CC, U+10350-1037A;\n}\n/* symbols */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwNi0hkBz.woff2) format('woff2');\n unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AE, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F8D0-1F8D8, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FAC6, U+1FAC8, U+1FACC-1FADD, U+1FADF-1FAEB, U+1FAEF-1FAFA, U+1FB00-1FBFF;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwAyVo31KpA.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* syriac */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwMW0hkBz.woff2) format('woff2');\n unicode-range: U+0303-0304, U+0307-0308, U+030A, U+0320, U+0323-0325, U+032D-032E, U+0330-0331, U+060C, U+061B-061C, U+061F, U+0621, U+0640, U+064B-0655, U+0660-066C, U+0670, U+0700-074F, U+0860-086A, U+1DF8, U+1DFA, U+200C-200F, U+25CC, U+2670-2671;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwLm0hkBz.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwLi0hkBz.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: italic;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxisyogzv91QhV44Z_GQBHsGf5PuWEt-oWZnOk-ljWSpwaFBwLa0hg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* adlam */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jEb8LSsgg.woff2) format('woff2');\n unicode-range: U+061F, U+0640, U+2015, U+201B, U+2020-2021, U+2030, U+204F, U+25CC, U+2E28-2E29, U+2E41, U+1E900-1E95F;\n}\n/* canadian-aboriginal */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jFW8LSsgg.woff2) format('woff2');\n unicode-range: U+02C7, U+02D8-02D9, U+02DB, U+0307, U+1400-167F, U+18B0-18F5, U+25CC, U+11AB0-11ABF;\n}\n/* cherokee */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jFq8LSsgg.woff2) format('woff2');\n unicode-range: U+0300-0302, U+0304, U+030B-030C, U+0323-0324, U+0330-0331, U+13A0-13FF, U+AB70-ABBF;\n}\n/* math */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jEF8LSsgg.woff2) format('woff2');\n unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-209F, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;\n}\n/* old-permic */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jEV8LSsgg.woff2) format('woff2');\n unicode-range: U+0300, U+0306-0308, U+0313, U+0483, U+20DB, U+25CC, U+10350-1037A;\n}\n/* symbols */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jEX8LSsgg.woff2) format('woff2');\n unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AE, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F8D0-1F8D8, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FAC6, U+1FAC8, U+1FACC-1FADD, U+1FADF-1FAEB, U+1FAEF-1FAFA, U+1FB00-1FBFF;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jHD0ZGRu3k.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* syriac */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jEK8LSsgg.woff2) format('woff2');\n unicode-range: U+0303-0304, U+0307-0308, U+030A, U+0320, U+0323-0325, U+032D-032E, U+0330-0331, U+060C, U+061B-061C, U+061F, U+0621, U+0640, U+064B-0655, U+0660-066C, U+0670, U+0700-074F, U+0860-086A, U+1DF8, U+1DFA, U+200C-200F, U+25CC, U+2670-2671;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jF28LSsgg.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jF38LSsgg.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Google Sans Code';\n font-style: normal;\n font-weight: 300 800;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/googlesanscode/v22/pxiSyogzv91QhV44Z_GQBHsGf5PuckJMZfIVTPZaiXEp_jF58LQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\ncode,code-block,kbd,pre,samp{font-family:\"Google Sans Code\",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}body:has(#news-page) :is(#sidebar-content, #content-side-layout, #page-context-menu){display:none}body:has(#news-page) #body-content{padding-left:0}body:has(#news-page) #content-area{margin-inline:auto}.run-examples{margin-block:1.25rem 2rem;overflow:hidden;border:1px solid rgb(3 7 18/10%);border-radius:1rem}.run-examples [data-component-part=tabs-list]{margin:0!important;padding-inline:.75rem;gap:.5rem;background:#f9fafb}.run-examples [data-component-part=tab-button]{padding-inline:.5rem;font-weight:500}.run-examples .code-block{margin:0!important;padding:0;border:0;border-radius:0}.run-examples [data-component-part=code-block-header],.run-examples [data-component-part=code-block-root]{border-radius:0}.dark .run-examples{border-color:rgb(255 255 255/10%)}.dark .run-example>details,.dark .run-examples [data-component-part=tabs-list]{background:rgb(255 255 255/5%)}.run-example{margin:0;border-top:1px solid rgb(3 7 18/10%)}.run-example>details>summary{width:fit-content;margin:.75rem 1rem .75rem auto;padding:.375rem .75rem;border-radius:.5rem;background:#18181b;color:#fff;font-size:.875rem;font-weight:500;line-height:1.5rem;list-style:none;cursor:pointer}.run-example>details>summary::-webkit-details-marker{display:none}.run-example>details>summary:focus-visible{outline:2px solid currentColor;outline-offset:-3px}.run-example [data-component-part=accordion-content]{border-top:1px solid rgb(3 7 18/10%)}.dark .run-example,.dark .run-example [data-component-part=accordion-content]{border-top-color:rgb(255 255 255/10%)}.dark .run-example>details>summary{background:#f4f4f5;color:#18181b}.run-example>details{margin:0;padding:0;border:0;border-radius:0;background:#f9fafb}.run-example [data-component-part=accordion-caret-right],.run-example>details[open] [data-component-part=accordion-title-container]{display:none}.run-example [data-component-part=accordion-title]{color:inherit;font-size:inherit}.run-example>details[open]>summary::after{content:\"Hide output\";font-size:.875rem}.run-example-run>details[open]>summary::after{content:\"Hide Output\"}.run-example [data-component-part=accordion-content]{padding:0}.run-example-run [data-component-part=accordion-content]{padding:1rem;overflow:visible;background:#fff}.dark .run-example-run [data-component-part=accordion-content]{background:var(--shiki-dark-bg, #0b0c0e)}.run-example-run [data-component-part=accordion-content] [data-component-part=code-block-root],.run-example-run [data-component-part=accordion-content] [data-component-part=scroll-area-content],.run-example-run [data-component-part=accordion-content] [data-component-part=scroll-area-viewport]{display:contents!important}.run-example-run [data-component-part=accordion-content] .code-block-fade-overlay{display:none}.run-example-run [data-component-part=accordion-content] .whitespace-pre,.run-example-run [data-component-part=accordion-content] pre{white-space:pre-wrap;overflow-wrap:anywhere}.run-examples:has(.run-example-run) [data-component-part=tab-content]{overflow:visible}.auth-resolution-table{font-family:\"Google Sans Code\",monospace;font-size:.8rem;line-height:1.7}.auth-resolution-table table{width:100%;table-layout:fixed;margin:0;font-size:inherit;border-collapse:collapse}.auth-resolution-table [role=region]{overflow:visible}.auth-resolution-table td code{padding:0;border:0;border-radius:0;background:0 0;color:inherit;font:inherit;white-space:normal}.auth-resolution-table td,.auth-resolution-table th{padding:.65rem .75rem;border:1px solid rgb(3 7 18/15%);vertical-align:top;overflow-wrap:anywhere}.auth-resolution-table td:first-child,.auth-resolution-table th:first-child{width:29%}.dark .auth-resolution-table td,.dark .auth-resolution-table th{border-color:rgb(255 255 255/20%)}.rh-pipeline{--rh-fg:#09090b;--rh-muted:#71717a;--rh-line:#e4e4e7;--rh-hover:#f4f4f5;margin-block:1.5rem 2rem;border:1px solid var(--rh-line);color:var(--rh-fg);font-family:\"Google Sans Code\",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.45}.dark .rh-pipeline{--rh-fg:#fafafa;--rh-muted:#a1a1aa;--rh-line:#27272a;--rh-hover:#18181b}.rh-pipeline .rh-label{color:var(--rh-muted);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.rh-pipeline .rh-phase{grid-column:1/-1;padding:.6rem 1rem;border-bottom:1px solid var(--rh-line)}.rh-pipeline .rh-row{display:grid;grid-template-columns:repeat(4,auto)}.rh-pipeline .rh-row-6{grid-template-columns:repeat(3,minmax(0,1fr))}.rh-pipeline .rh-row-6>.rh-item:nth-child(n+5){border-top:1px dashed var(--rh-line)}.rh-pipeline .rh-row.rh-row-6>.rh-item:nth-child(5){border-left:0}.rh-pipeline .rh-row>.rh-item+.rh-item{border-left:1px dashed var(--rh-line)}.rh-pipeline .rh-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--rh-line)}.rh-pipeline .rh-stage{display:flex;flex-direction:column}.rh-pipeline .rh-stage+.rh-stage{border-left:1px solid var(--rh-line)}.rh-pipeline .rh-stage>.rh-title{padding:.6rem 1rem;border-bottom:1px solid var(--rh-line);font-weight:600}.rh-pipeline .rh-item{display:block;padding:.55rem 1rem;color:inherit;text-decoration:none}.rh-pipeline a.rh-item:hover{background:var(--rh-hover)}.rh-pipeline .rh-stage>.rh-item+.rh-item{border-top:1px dashed var(--rh-line)}.rh-pipeline .rh-item span{display:block;color:var(--rh-muted);font-size:.75rem}@media (max-width:640px){.rh-pipeline .rh-row,.rh-pipeline .rh-row-6{grid-template-columns:repeat(2,minmax(0,1fr))}.rh-pipeline .rh-row.rh-row-6>.rh-item:nth-child(5){border-left:1px dashed var(--rh-line)}.rh-pipeline .rh-row>.rh-item:nth-child(even){border-left:0}.rh-pipeline .rh-row>.rh-item:nth-child(n+4){border-top:1px dashed var(--rh-line)}.rh-pipeline .rh-stages{grid-template-columns:minmax(0,1fr)}.rh-pipeline .rh-stage+.rh-stage{border-left:0;border-top:1px solid var(--rh-line)}}"}],"page":{"pagePath":"index","slug":"/","pageMetadata":{"title":"Harbor documentation","description":"Documentation for evaluating and optimizing agents and models with Harbor.","href":"/index"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Documentation for evaluating and optimizing agents and models with Harbor.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components},{Card,CardGroup,Mermaid}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Harbor is a framework for running any agent with any model on any task in any sandbox in parallel.`}),`\n`,_jsx(Mermaid,{chart:`%%{init: {\"flowchart\": {\"curve\": \"basis\", \"nodeSpacing\": 40, \"rankSpacing\": 70}, \"look\": \"handDrawn\"}}%%\nflowchart TB\n Tasks[\"\u003cdiv >Tasks\u003c/div>\"] --> Harbor[\"Harbor Rollout Engine\"]\n Models[\"\u003cdiv >Models\u003c/div>\"] --> Harbor\n Agents[\"\u003cdiv >Agents\u003c/div>\"] --> Harbor\n Sandboxes[\"\u003cdiv >Sandboxes\u003c/div>\"] --> Harbor\n Skills[\"\u003cdiv >Skills\u003c/div>\"] --> Harbor\n\n Harbor --> Analysis[\"\u003cdiv >Trajectory analysis\u003c/div>\"]\n Harbor --> Evaluation[\"\u003cdiv >Evaluation\u003c/div>\"]\n Harbor --> Optimization[\"\u003cdiv >Optimization\u003c/div>\"]\n Harbor --> TaskQA[\"\u003cdiv >Task QA\u003c/div>\"]\n Harbor --> Artifacts[\"\u003cdiv >Artifacts\u003c/div>\"]`}),`\n`,_jsx(`div`,{\"aria-hidden\":`true`,style:{height:`2rem`}}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Quick start`,icon:`zap`,href:`/getting-started/quick-start`,children:_jsx(_components.p,{children:`Run your first evaluation with Harbor.`})}),_jsx(Card,{title:`Run a job`,icon:`terminal`,href:`/jobs/run-a-job`,children:_jsx(_components.p,{children:`Run agents on tasks and datasets.`})}),_jsx(Card,{title:`Task overview`,icon:`folder`,href:`/tasks/overview`,children:_jsx(_components.p,{children:`Understand the Harbor task format.`})}),_jsx(Card,{title:`Create a task`,icon:`plus`,href:`/tutorials/create-a-task`,children:_jsx(_components.p,{children:`Build and test your first task.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Harbor documentation","description":"Documentation for evaluating and optimizing agents and models with Harbor.","href":"/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"harborframework","siteName":"Harbor","title":"Harbor documentation - Harbor","navMaps":{"firstHrefInVersion":{"latest":{"href":"/index","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-10-03T22:21:25.919Z","originalFileLocation":"index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Documentation for evaluating and optimizing agents and models with Harbor.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Harbor\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Harbor documentation - Harbor\">\u003cmeta data-mint-head property=\"og:description\" content=\"Documentation for evaluating and optimizing agents and models with Harbor.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Harbor\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.harborframework.com\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://harborframework.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Harbor+documentation\u0026amp;description=Documentation+for+evaluating+and+optimizing+agents+and+models+with+Harbor.\u0026amp;theme=54b580ce30c2b1a3c538b601\u0026amp;signature=359925a60f3969ae3f393bf5a042e7bb78d54521d54396e464c01f38adf13029\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Harbor documentation - Harbor\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Documentation for evaluating and optimizing agents and models with Harbor.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://harborframework.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Harbor+documentation\u0026amp;description=Documentation+for+evaluating+and+optimizing+agents+and+models+with+Harbor.\u0026amp;theme=54b580ce30c2b1a3c538b601\u0026amp;signature=359925a60f3969ae3f393bf5a042e7bb78d54521d54396e464c01f38adf13029\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/harborframework/t1HVNIl2iBRRwd1v/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Harbor\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#111111\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.harborframework.com\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/index.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Harbor\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Harbor","nav":{"global":{"anchors":[{"anchor":"Harbor Hub","icon":"layers","href":"https://hub.harborframework.com"},{"anchor":"Discord","icon":"messages-square","href":"https://discord.gg/QVvyhRw5UQ"},{"anchor":"Docs MCP","icon":"bot","href":"/ai-agents"}]},"versions":[{"version":"latest","default":true,"tag":"Latest","tabs":[{"tab":"Docs","groups":[{"group":"Getting started","pages":[{"title":"Quick start","href":"/getting-started/quick-start"},{"title":"Installation","href":"/getting-started/installation"}]},{"group":"Core concepts","pages":[{"title":"Core concepts","href":"/core-concepts/index"}]},{"group":"Tasks","pages":[{"title":"Overview","href":"/tasks/overview"},{"title":"Instruction","href":"/tasks/instruction"},{"title":"Configuration","href":"/tasks/configuration"},{"title":"Environment","href":"/tasks/environment"},{"title":"Skills","href":"/tasks/skills"},{"title":"Solution","href":"/tasks/solution"},{"title":"Verifier","href":"/tasks/verifier"},{"title":"Artifacts","href":"/tasks/artifacts"},{"title":"Resources","href":"/tasks/resources"},{"title":"Multi-container","href":"/tasks/multi-container"},{"title":"Network policies","href":"/tasks/network-policies"},{"title":"Multi-step","href":"/tasks/multi-step"},{"title":"Separate verifier","href":"/tasks/separate-verifier"},{"title":"Lint","href":"/tasks/lint"}]},{"group":"Datasets","pages":[{"title":"Datasets","href":"/datasets/datasets"},{"title":"Create a Dataset","href":"/datasets/create-a-dataset"},{"title":"Git repos","href":"/datasets/git-repos"},{"title":"Registries","href":"/datasets/registries"},{"title":"Metrics","href":"/datasets/metrics"}]},{"group":"Jobs","pages":[{"title":"Run a job","href":"/jobs/run-a-job"},{"title":"Configs","href":"/jobs/configs"},{"title":"Environment variables","href":"/jobs/environment-variables"},{"title":"Error classification","href":"/jobs/error-classification"},{"title":"Skills","href":"/jobs/skills"},{"title":"Loading trajectories","href":"/jobs/loading-trajectories"},{"title":"Handoff","href":"/jobs/handoff"},{"title":"Regrade","href":"/jobs/regrade"},{"title":"Simulate a user","href":"/jobs/simulate-a-user"},{"title":"Custom verifiers","href":"/jobs/custom-verifiers"},{"title":"Artifact collection","href":"/jobs/artifact-collection"},{"title":"Stream","href":"/jobs/stream"}]},{"group":"Agents","pages":[{"title":"Pre-integrated agents","href":"/agents/pre-integrated-agents"},{"title":"ACP","href":"/agents/acp"},{"title":"Custom agents","href":"/agents/custom-agents"},{"title":"ATIF","href":"/agents/atif"},{"title":"Agent auth resolution","href":"/agents/agent-auth-resolution"},{"title":"Base URL management","href":"/agents/base-url-management"}]},{"group":"Sandboxes","pages":[{"title":"Pre-integrated sandboxes","href":"/sandboxes/pre-integrated-sandboxes"},{"title":"ASP","href":"/sandboxes/asp"},{"title":"Custom sandboxes","href":"/sandboxes/custom-sandboxes"}]},{"group":"Plugins","pages":[{"title":"Existing plugins","href":"/plugins/existing-plugins"},{"title":"Custom plugins","href":"/plugins/custom-plugins"}]},{"group":"Results","pages":[{"title":"View job results","href":"/results/view-job-results"},{"title":"Handoff","href":"/results/handoff"}]},{"group":"Harbor Hub","pages":[{"title":"Publish","href":"/harbor-hub/publish"},{"title":"Upload","href":"/harbor-hub/upload"},{"title":"Download","href":"/harbor-hub/download"},{"title":"Hosted jobs","href":"/harbor-hub/hosted-jobs"},{"title":"Leaderboards","href":"/harbor-hub/leaderboards"},{"title":"Sharing","href":"/harbor-hub/sharing"}]},{"group":"Hosted Harbor","pages":[{"title":"Hosted Harbor","href":"/hosted-harbor/index"},{"title":"Harbor Hub API key","href":"/hosted-harbor/api-key"},{"title":"Web UI","href":"/hosted-harbor/web-ui"},{"title":"CLI","href":"/hosted-harbor/cli"},{"title":"API overview","href":"/hosted-harbor/api"},{"title":"Submitting jobs","href":"/hosted-harbor/submitting-jobs"},{"title":"Custom agents","href":"/hosted-harbor/custom-agents"},{"title":"Managing secrets","href":"/hosted-harbor/secrets"},{"title":"Registry credentials","href":"/hosted-harbor/registry-credentials"}]},{"group":"Rewardkit","pages":[{"title":"Quick start","href":"/rewardkit/quick-start"},{"title":"Judge criteria","href":"/rewardkit/judge-criteria"},{"title":"Built-in criteria","href":"/rewardkit/built-in-criteria"},{"title":"Motivation \u0026 design","href":"/rewardkit/motivation-and-design"}]},{"group":"Tutorials","pages":[{"title":"Create a task","href":"/tutorials/create-a-task"},{"title":"Create a verifier with Rewardkit","href":"/tutorials/create-a-verifier-with-rewardkit"}]},{"group":"Open Source Policy","pages":[{"title":"Contributing","href":"/contributing/contributing"},{"title":"Release policy","href":"/contributing/release-policy"}]},{"group":"Telemetry","pages":[{"title":"Usage stats","href":"/telemetry/telemetry"}]}]},{"tab":"News","groups":[{"group":"Announcements","pages":[{"title":"News","mode":"wide","href":"/news"}]},{"group":"Earlier announcements","pages":[{"title":"Cracking down on reward hacking","mode":"wide","href":"/news/reward-hacking"},{"title":"Stop zipping your job results","mode":"wide","href":"/news/job-result-sharing"},{"title":"Verify Harbor tasks in a separate sandbox","mode":"wide","href":"/news/separate-verifier-sandboxes"},{"title":"Multi-step tasks","mode":"wide","href":"/news/multi-step-tasks"},{"title":"Explore the Harbor cookbook","mode":"wide","href":"/news/harbor-cookbook"},{"title":"The Harbor registry is getting an upgrade","mode":"wide","href":"/news/harbor-registry"}]}]},{"tab":"Changelog","groups":[{"group":"Releases","pages":[{"title":"Changelog","href":"/changelog"}]}]}]}]},"title":"Harbor documentation - Harbor","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}
Web Proxy Viewer  |  New URL  |  Original Page