AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
작은 DSL로 Claude Code·Codex·Antigravity·MiniMax 등 에이전트 팀 흐름을 제어하는 공급자‑중립 프로그래머블 버전
The programmable, provider-agnostic version of Claude Code Teams. Control agent-team flow with a tiny DSL — for Claude Code, Codex, Antigravity, MiniMax, or any coding agent.
개발 도구Python · HTMLGitHub @sancovp온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Connect AI agents like code. A provider-agnostic multi-agent orchestration library + Claude Code plugin — compose any agents (Claude, Codex, MiniMax) into teams with a tiny DSL, every topology, a programmable control flow, and a proven-team library.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Programmable, leader-driven agent teams on CAVE.
Run many agent "teams" — a team leader that orchestrates teammates — without Claude Code Teams' blockers, reuse them, and use MiniMax or Claude (or any runtime), from Claude Code. cave-teams uses CAVE (it doesn't reimplement it): each team makes an ephemeral CAVE server that hosts the agents, runs them, and serves the flow, then tears it down.
Teams are always a leader + teammates:README 전문 보기 ↗Programmable, leader-driven agent teams on CAVE.
Run many agent "teams" — a team leader that orchestrates teammates — without Claude Code Teams' blockers, reuse them, and use MiniMax or Claude (or any runtime), from Claude Code. cave-teams uses CAVE (it doesn't reimplement it): each team makes an ephemeral CAVE server that hosts the agents, runs them, and serves the flow, then tears it down.
pip install cave-teams # pulls cave-harness (the CAVE runtime) + pydantic
Teams are always a leader + teammates:
Conditions on messages come in two tiers:
open_rules): intelligent-reliant checks only the leader can judge; cave-teams surfaces them and assumes they hold when the leader invokes the next teammate.from cave_teams import Team, AgentRef, seq, cave_team
from cave_teams.examples import MiniMaxRuntime
class Brief(Team): # a topology = a Team subclass (Class · Link · Config)
op = "brief"
def build(self):
return seq(AgentRef("researcher"), AgentRef("writer"))
leader = MiniMaxRuntime("leader", tools=None) # writes its message files (needs file tools)
teammates = {
"researcher": MiniMaxRuntime("researcher", tools=[]),
"writer": MiniMaxRuntime("writer", tools=[]),
}
result = cave_team(
Brief({}), agent_runtimes=teammates, leader_runtime=leader,
task="Topic: why octopuses are intelligent.",
open_rules={"researcher": ["research must be accurate before the writer uses it"]},
)
print(result["report"])
A backend is any object with .run(str) -> str — that's all set_runtime needs. The MiniMax/Claude backends are just an example instance; CAVE runs any agent runtime.
Compose teammates with a tiny algebra; it compiles to the guardrails (whose turn it is):
seq(a, b) # a then b a >> b
par(a, b) # a and b together a | b
gate(body, phi) # loop until phi
choice(routes) # guarded branch
team(G) # a composition as one Link → a team is a teammate (closure law)
Topologies are also configs (save under .cave/golden/, reuse, scan_caves) and classes (subclass a Team, override build()).
run_team(team, task, leader, teammate_runtimes, team_dir, open_rules=...) is the leader-driven loop directly (no CAVE server). llm_leader(rt) / file_leader(rt) wrap a runtime as the leader (the latter writes its message as a file, per the session/inbox structure). cave_team(...) is run_team on a freshly-made, torn-down CAVE server.
cave-harness (the CAVE runtime; import name cave) — pulled in automatically.MINIMAX_API_KEY in the environment.MIT.