PageSourceSearch

https://roundtable.sh/assets/js/e0a40276.a11d314e.js

js roundtable.sh collected 2026-10-04 06:39:06 UTC 6,258 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkroundtable_sh=globalThis.webpackChunkroundtable_sh||[]).push([[854],{2428(e,n,s){s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>h,default:()=>o,frontMatter:()=>r,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"the-heads","title":"The heads","description":"The six frontier models that sit at the Roundtable.","source":"@site/docs/the-heads.md","sourceDirName":".","slug":"/the-heads","permalink":"/docs/the-heads","draft":false,"unlisted":false,"editUrl":"https://github.com/frontier-infra/roundtable.sh/edit/main/docs/the-heads.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"The heads","description":"The six frontier models that sit at the Roundtable."},"sidebar":"docs","previous":{"title":"How it works","permalink":"/docs/how-it-works"},"next":{"title":"CLI reference","permalink":"/docs/cli-reference"}}');var d=s(4848),i=s(8453);const r={sidebar_position:3,title:"The heads",description:"The six frontier models that sit at the Roundtable."},h="The heads",c={},a=[{value:"Configuring heads",id:"configuring-heads",level:2},{value:"API keys, no CLIs required",id:"api-keys-no-clis-required",level:2},{value:"The chair",id:"the-chair",level:2}];function l(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(n.header,{children:(0,d.jsx)(n.h1,{id:"the-heads",children:"The heads"})}),"\n",(0,d.jsx)(n.p,{children:"Roundtable seats up to six frontier models. Each is independent \u2014 a different lab, a\ndifferent training run, a different set of blind spots. That diversity is the point: a\ncouncil of six uncorrelated reasoners catches what any single model misses."}),"\n",(0,d.jsxs)(n.table,{children:[(0,d.jsx)(n.thead,{children:(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.th,{}),(0,d.jsx)(n.th,{children:"Head"}),(0,d.jsx)(n.th,{children:"Provider"}),(0,d.jsx)(n.th,{children:"Key"}),(0,d.jsx)(n.th,{children:"How it runs"})]})}),(0,d.jsxs)(n.tbody,{children:[(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"\ud83e\udd16"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Grok"})}),(0,d.jsx)(n.td,{children:"xAI"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"XAI_API_KEY"})}),(0,d.jsx)(n.td,{children:"Direct API (or an authenticated local CLI if present)"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"\ud83e\udde0"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Codex / OpenAI"})}),(0,d.jsx)(n.td,{children:"OpenAI"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"OPENAI_API_KEY"})}),(0,d.jsxs)(n.td,{children:["Direct API (or the local ",(0,d.jsx)(n.code,{children:"codex"})," CLI if present)"]})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"\ud83d\udfe3"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"GLM"})}),(0,d.jsx)(n.td,{children:"Z.ai"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"ZAI_API_KEY"})}),(0,d.jsx)(n.td,{children:"Direct API"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"\ud83d\udfe0"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"MiniMax"})}),(0,d.jsx)(n.td,{children:"MiniMax"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"MINIMAX_API_KEY"})}),(0,d.jsx)(n.td,{children:"Direct API"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"\ud83d\udd35"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Claude"})}),(0,d.jsx)(n.td,{children:"Anthropic"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.code,{children:"ANTHROPIC_API_KEY"})}),(0,d.jsx)(n.td,{children:"Direct API \u2014 also serves as the chair"})]}),(0,d.jsxs)(n.tr,{children:[(0,d.jsx)(n.td,{children:"\u2728"}),(0,d.jsx)(n.td,{children:(0,d.jsx)(n.strong,{children:"Gemini"})}),(0,d.jsx)(n.td,{children:"Google"}),(0,d.jsxs)(n.td,{children:[(0,d.jsx)(n.code,{children:"GEMINI_API_KEY"})," / ",(0,d.jsx)(n.code,{children:"GOOGLE_API_KEY"})]}),(0,d.jsx)(n.td,{children:"Direct API"})]})]})]}),"\n",(0,d.jsx)(n.h2,{id:"configuring-heads",children:"Configuring heads"}),"\n",(0,d.jsx)(n.p,{children:"Every head is optional. Configure a key and the seat fills; leave it blank and the\nhead skips gracefully \u2014 the council runs with whatever subset you have."}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:"roundtable heads        # enable / disable heads interactively\nroundtable models       # pick the model id used for each head\nroundtable doctor       # show which heads are configured + reachable\n"})}),"\n",(0,d.jsxs)(n.p,{children:["Pick a subset for a single run with ",(0,d.jsx)(n.code,{children:"--heads"}),":"]}),"\n",(0,d.jsx)(n.pre,{children:(0,d.jsx)(n.code,{className:"language-bash",children:'roundtable ask "Review this API design" --heads claude,grok,gemini\n'})}),"\n",(0,d.jsx)(n.h2,{id:"api-keys-no-clis-required",children:"API keys, no CLIs required"}),"\n",(0,d.jsxs)(n.p,{children:["Roundtable's heads run on plain API keys, so the full council works without any\nvendor CLI installed. Where an authenticated local CLI ",(0,d.jsx)(n.em,{children:"is"})," present (",(0,d.jsx)(n.code,{children:"codex"}),", a\nlogged-in Grok client), Roundtable will prefer it \u2014 but it's never required."]}),"\n",(0,d.jsx)(n.h2,{id:"the-chair",children:"The chair"}),"\n",(0,d.jsxs)(n.p,{children:["Claude does double duty: it answers as a head ",(0,d.jsx)(n.strong,{children:"and"})," acts as the chair in\ndeliberation mode, adjudicating consensus. If you have an Anthropic key, you have a\nchair. See ",(0,d.jsx)(n.a,{href:"/docs/how-it-works#the-chair",children:"How it works"}),"."]})]})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}},8453(e,n,s){s.d(n,{R:()=>r,x:()=>h});var t=s(6540);const d={},i=t.createContext(d);function r(e){const n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function h(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:r(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.