라이브러리
oh-my-fable
didrod205/oh-my-fable
긴 작업을 하는 AI 에이전트가 도중에 죽어도 이어서 하게 만드는 TypeScript 하네스예요.

설치
npm i oh-my-fable무엇을 하나요
oh-my-fable은 긴 작업을 맡은 AI 에이전트가 중간에 죽어도 처음부터 다시 하지 않게 해주는 TypeScript 하네스예요. 실행 상태 전부가 RunContext 하나에 들어가고 매 단계마다 저장되기 때문에, 프로세스가 꺼져도 resume()으로 죽은 지점에서 그대로 이어집니다. 계획을 먼저 세우고 매 단계 스스로 점검하며, 정해둔 한도를 넘으면 일한 것을 남긴 채 멈춥니다. 의존성이 하나도 없고 어떤 모델이든 붙일 수 있어요.
이런 걸 막아줘요
- 60단계 중 47단계에서 프로세스가 죽어 처음부터 다시 시작하는 것
- 같은 단계에서 같은 방법으로 무한히 반복하는 것
- 40개짜리 대화 기록 속에서 계획을 잃어버리는 것
- 목표를 못 이뤘는데 단계가 끝났다고 성공을 선언하는 것
- 한도 없이 토큰과 시간을 태우는 것
어떤 모델이든 붙어요
AnthropicProvider와 OpenAICompatProvider를 기본으로 넣어 뒀어요. OpenAI, Ollama, LM Studio, OpenRouter, Groq처럼 OpenAI 호환 서버면 다 붙습니다. ScriptedProvider를 쓰면 네트워크 없이 에이전트 루프 전체를 결정적으로 테스트할 수 있어요.
Node 18 이상이 필요해요.
어떻게 쓰나요
설치 없이 먼저 보기
npx oh-my-fable demo
API 키도 설정도 없이 죽었다가 이어지는 과정을 10초 만에 볼 수 있어요.
코드에서 쓰기
npm i oh-my-fable
import { run, AnthropicProvider } from "oh-my-fable";
const result = await run(
{
description: "Research the top 3 Rust web frameworks and write a comparison table",
successCriteria: ["a markdown table comparing 3 frameworks exists"],
constraints: ["only use information you can verify"],
},
{ provider: new AnthropicProvider() },
);
console.log(result.status); // "done" | "halted" | "failed"
터미널에서 쓰기
이미 Claude Code를 쓰고 있다면 별도 API 키 없이 그 로그인을 그대로 씁니다.
npx oh-my-fable run "refactor utils.ts and run the tests" --provider claude --cli-tools
로컬 모델도 됩니다.
npx oh-my-fable run "outline a talk on durable agents" --provider ollama --model llama3.1
저장된 실행을 다루는 명령이에요.
npx oh-my-fable list # 저장된 실행 목록
npx oh-my-fable show run_abc123 # 계획·단계·예산을 시간순으로
npx oh-my-fable resume run_abc123 # 체크포인트에서 이어하기주제
- agent
- agent-framework
- ai-agent
- anthropic
- autonomous-agent
- checkpoint
- crash-recovery
- fable-5
- fable5
- llm
- mindset
- model-agnostic
- plan-and-execute
- planner
- reasoning
- reflection
- resumable
- self-correcting
- typescript
- zero-dependency