[{"data":1,"prerenderedAt":1543},["ShallowReactive",2],{"navigation":3,"/ai/kimi-k25-fireworks-opencode":458,"/ai/kimi-k25-fireworks-opencode-surround":1538},[4,58,91,178,194,201,249,295,315,371,435,449],{"title":5,"path":6,"stem":7,"children":8,"icon":57},"MacOS","/macos","01.macos/01.index",[9,12,17,22,27,32,37,42,47,52],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Recommended Software","/macos/recommended-software","01.macos/02.recommended-software","i-lucide-laptop",{"title":18,"path":19,"stem":20,"icon":21},"Development Applications and Tools","/macos/development-tools","01.macos/03.development-tools","i-lucide-folder-code",{"title":23,"path":24,"stem":25,"icon":26},"Command Line Interface","/macos/cli-tools","01.macos/04.cli-tools","i-lucide-terminal",{"title":28,"path":29,"stem":30,"icon":31},"ZSH Configuration","/macos/zshrc","01.macos/05.zshrc","i-simple-icons-zsh",{"title":33,"path":34,"stem":35,"icon":36},"Uninstall Python","/macos/uninstall-python","01.macos/06.uninstall-python","i-simple-icons-python",{"title":38,"path":39,"stem":40,"icon":41},"Mac Mini Server Setup","/macos/mac-mini-server","01.macos/07.mac-mini-server","i-lucide-server",{"title":43,"path":44,"stem":45,"icon":46},"Image to 3D Model","/macos/image-to-3d","01.macos/08.image-to-3d","i-lucide-rotate-3d",{"title":48,"path":49,"stem":50,"icon":51},"NSVisualEffectView","/macos/material-view","01.macos/09.material-view","i-lucide-layers",{"title":53,"path":54,"stem":55,"icon":56},"SSH","/macos/ssh","01.macos/10.ssh","i-lucide-key-round","i-simple-icons-macos",{"title":59,"path":60,"stem":61,"children":62,"icon":90},"Windows","/windows","02.windows/01.index",[63,64,67,70,75,80,85],{"title":10,"path":60,"stem":61,"icon":11},{"title":13,"path":65,"stem":66,"icon":21},"/windows/recommended-software","02.windows/02.recommended-software",{"title":23,"path":68,"stem":69,"icon":26},"/windows/cli-tools","02.windows/03.cli-tools",{"title":71,"path":72,"stem":73,"icon":74},"Miscellaneous Tips","/windows/miscellaneous-tips","02.windows/04.miscellaneous-tips","i-lucide-lightbulb",{"title":76,"path":77,"stem":78,"icon":79},"Keyboard Shortcuts","/windows/keyboard-shortcuts","02.windows/05.keyboard-shortcuts","i-lucide-keyboard",{"title":81,"path":82,"stem":83,"icon":84},"WSL - Arch Linux","/windows/wsl-arch-linux","02.windows/06.wsl-arch-linux","i-simple-icons-archlinux",{"title":86,"path":87,"stem":88,"icon":89},"VirtualBox on Windows","/windows/virtualbox","02.windows/07.virtualbox","i-simple-icons-virtualbox","i-simple-icons-windows",{"title":92,"path":93,"stem":94,"children":95,"icon":177},"Rust","/rust","03.rust/01.index",[96,98,103,108,113,118,123,128,132,136,140,144,148,152,156,161,165,169,173],{"title":97,"path":93,"stem":94,"icon":26},"Installation",{"title":99,"path":100,"stem":101,"icon":102},"Continuous Integration","/rust/ci","03.rust/02.ci","i-lucide-workflow",{"title":104,"path":105,"stem":106,"icon":107},"Benchmarking with Criterion","/rust/benchmarking","03.rust/03.benchmarking","i-lucide-timer",{"title":109,"path":110,"stem":111,"icon":112},"Publishing Crates","/rust/publishing-crates","03.rust/04.publishing-crates","i-lucide-package",{"title":114,"path":115,"stem":116,"icon":117},"Multi-Crate Dependency Management","/rust/multi-crate-dependencies","03.rust/05.multi-crate-dependencies","i-lucide-git-branch",{"title":119,"path":120,"stem":121,"icon":122},"Just Task Runner","/rust/just-task-runner","03.rust/06.just-task-runner","i-lucide-play",{"title":124,"path":125,"stem":126,"icon":127},"Error Handling Patterns","/rust/error-handling","03.rust/07.error-handling","i-lucide-alert-triangle",{"title":129,"path":130,"stem":131},"Mutation Testing","/rust/mutation-testing","03.rust/08.mutation-testing",{"title":133,"path":134,"stem":135},"Semver Compliance with cargo-semver-checks","/rust/semver-checks","03.rust/09.semver-checks",{"title":137,"path":138,"stem":139},"Property-Based Testing","/rust/property-testing","03.rust/10.property-testing",{"title":141,"path":142,"stem":143},"Workspace Automation","/rust/workspace-automation","03.rust/11.workspace-automation",{"title":145,"path":146,"stem":147},"Type-Safe Units","/rust/type-safe-units","03.rust/12.type-safe-units",{"title":149,"path":150,"stem":151},"Faster Testing with nextest","/rust/nextest","03.rust/13.nextest",{"title":153,"path":154,"stem":155},"Cross-Crate Validation Testing","/rust/cross-crate-validation","03.rust/14.cross-crate-validation",{"title":157,"path":158,"stem":159,"icon":160},"Defensive API Design","/rust/defensive-api-design","03.rust/15.defensive-api-design","i-lucide-shield",{"title":162,"path":163,"stem":164},"Structured Logging with tracing","/rust/tracing","03.rust/16.tracing",{"title":166,"path":167,"stem":168},"Feature Flags & Conditional Compilation","/rust/feature-flags","03.rust/17.feature-flags",{"title":170,"path":171,"stem":172},"Debugging Rust","/rust/debugging","03.rust/18.debugging",{"title":174,"path":175,"stem":176},"Production-Ready Rust CLI Workflow","/rust/production-cli-workflow","03.rust/18.production-cli-workflow","i-simple-icons-rust",{"title":179,"path":180,"stem":181,"children":182,"icon":36},"Python","/python","04.python/01.index",[183,184,189],{"title":97,"path":180,"stem":181,"icon":26},{"title":185,"path":186,"stem":187,"icon":188},"Optionally Callable Decorators","/python/decorators","04.python/02.decorators","i-lucide-at-sign",{"title":190,"path":191,"stem":192,"icon":193},"Pre-commit, with uv","/python/pre-commit","04.python/03.pre-commit","i-simple-icons-precommit",{"title":195,"path":196,"stem":197,"children":198,"icon":200},"Go","/go","05.go/01.index",[199],{"title":97,"path":196,"stem":197,"icon":26},"i-simple-icons-go",{"title":202,"path":203,"stem":204,"children":205,"icon":248},"Web Design","/webdesign","06.webdesign/01.index",[206,209,214,219,224,229,234,239,244],{"title":207,"path":203,"stem":204,"icon":208},"Icons","i-simple-icons-lucide",{"title":210,"path":211,"stem":212,"icon":213},"CSS","/webdesign/css","06.webdesign/02.css","i-simple-icons-css",{"title":215,"path":216,"stem":217,"icon":218},"Captive Portals","/webdesign/captive-portals","06.webdesign/03.captive-portals","i-lucide-wifi",{"title":220,"path":221,"stem":222,"icon":223},"URL Pattern API","/webdesign/url-pattern","06.webdesign/04.url-pattern","i-lucide-link",{"title":225,"path":226,"stem":227,"icon":228},"Hidden Until Found","/webdesign/hidden-until-found","06.webdesign/05.hidden-until-found","i-lucide-search",{"title":230,"path":231,"stem":232,"icon":233},"Login Patterns","/webdesign/login-patterns","06.webdesign/06.login-patterns","i-lucide-log-in",{"title":235,"path":236,"stem":237,"icon":238},"Typography","/webdesign/typography","06.webdesign/07.typography","i-lucide-type",{"title":240,"path":241,"stem":242,"icon":243},"UI Details","/webdesign/ui-details","06.webdesign/08.ui-details","i-lucide-sparkles",{"title":245,"path":246,"stem":247},"Draftboard","/webdesign/draftboard","06.webdesign/09.draftboard","i-lucide-arrow-down-up",{"title":250,"icon":251,"path":252,"stem":253,"children":254,"page":294},"Health","i-lucide-heart-pulse","/health","07.health",[255,260,265,270,275,280,285,290],{"title":256,"path":257,"stem":258,"icon":259},"ADHD and Sleep Cycles","/health/adhd-sleep","07.health/02.adhd-sleep","i-lucide-moon",{"title":261,"path":262,"stem":263,"icon":264},"Daily Health Habits","/health/daily-health-habits","07.health/03.daily-health-habits","i-lucide-list-checks",{"title":266,"path":267,"stem":268,"icon":269},"Calm Down Posture","/health/calm-down-posture","07.health/04.calm-down-posture","i-lucide-bed",{"title":271,"path":272,"stem":273,"icon":274},"Mood Switch on Your Face","/health/mood-face","07.health/05.mood-face","i-lucide-smile",{"title":276,"path":277,"stem":278,"icon":279},"Baby Gas Relief","/health/baby-gas-relief","07.health/06.baby-gas-relief","i-lucide-baby",{"title":281,"path":282,"stem":283,"icon":284},"Fast Acting Wound Sealer","/health/wound-sealer","07.health/07.wound-sealer","i-lucide-bandage",{"title":286,"path":287,"stem":288,"icon":289},"Water Flosser","/health/waterpick","07.health/08.waterpick","i-lucide-droplets",{"title":291,"path":292,"stem":293},"Meal Timing & Sleep","/health/meal-timing","07.health/09.meal-timing",false,{"title":296,"icon":297,"path":298,"stem":299,"children":300,"page":294},"Strategy","i-lucide-target","/strategy","08.strategy",[301,305,310],{"title":302,"path":303,"stem":304,"icon":297},"Jobs to Be Done","/strategy/jobs-to-be-done","08.strategy/02.jobs-to-be-done",{"title":306,"path":307,"stem":308,"icon":309},"Pillars of Money","/strategy/pillars-of-money","08.strategy/03.pillars-of-money","i-lucide-landmark",{"title":311,"path":312,"stem":313,"icon":314},"Marketing","/strategy/marketing","08.strategy/04.marketing","i-lucide-megaphone",{"title":316,"icon":317,"path":318,"stem":319,"children":320,"page":294},"Artificial Intelligence","i-lucide-brain","/ai","09.ai",[321,325,330,334,338,342,347,352,357,362,366],{"title":322,"path":323,"stem":324},"Linear + Cursor + Codex Workflow Integration","/ai/workflow-integration","09.ai/01.workflow-integration",{"title":326,"path":327,"stem":328,"icon":329},"Fabric","/ai/fabric","09.ai/02.fabric","i-lucide-cpu",{"title":331,"path":332,"stem":333},"OpenCode: Open Source AI Coding Agent","/ai/opencode-agent","09.ai/02.opencode-agent",{"title":335,"path":336,"stem":337},"Kimi K2.5 + Fireworks AI + OpenCode: Cost-Effective Daily Driver","/ai/kimi-k25-fireworks-opencode","09.ai/03.kimi-k25-fireworks-opencode",{"title":339,"path":340,"stem":341,"icon":259},"Looping Agents at Night","/ai/looping-agents","09.ai/03.looping-agents",{"title":343,"path":344,"stem":345,"icon":346},"Real ML Systems","/ai/real-ml-systems","09.ai/04.real-ml-systems","i-lucide-factory",{"title":348,"path":349,"stem":350,"icon":351},"AI Ralph","/ai/ai-ralph","09.ai/05.ai-ralph","i-lucide-bot",{"title":353,"path":354,"stem":355,"icon":356},"ChatGPT Prompt Techniques","/ai/chatgpt-prompts","09.ai/06.chatgpt-prompts","i-lucide-message-square-text",{"title":358,"path":359,"stem":360,"icon":361},"AI Courses","/ai/ai-courses","09.ai/07.ai-courses","i-lucide-graduation-cap",{"title":363,"path":364,"stem":365,"icon":208},"Claude & Codex Skills","/ai/claude-codex-skills","09.ai/08.claude-codex-skills",{"title":367,"path":368,"stem":369,"icon":370},"OpenDataLoader PDF","/ai/opendataloader-pdf","09.ai/09.opendataloader-pdf","i-lucide-file-text",{"title":372,"icon":329,"path":373,"stem":374,"children":375,"page":294},"Engineering","/engineering","10.engineering",[376,381,386,391,396,401,406,411,416,421,426,431],{"title":377,"path":378,"stem":379,"icon":380},"Aircraft Wing Design","/engineering/aircraft-wing-design","10.engineering/02.aircraft-wing-design","i-lucide-plane",{"title":382,"path":383,"stem":384,"icon":385},"Machinery's Handbook","/engineering/machinery-handbook","10.engineering/03.machinery-handbook","i-lucide-wrench",{"title":387,"path":388,"stem":389,"icon":390},"KiCAD Circuit Snips","/engineering/kicad-circuit-snips","10.engineering/04.kicad-circuit-snips","i-lucide-copy",{"title":392,"path":393,"stem":394,"icon":395},"Enamel Wire for Rework","/engineering/enamel-wire-rework","10.engineering/05.enamel-wire-rework","i-lucide-cable",{"title":397,"path":398,"stem":399,"icon":400},"Treating Steel","/engineering/treating-steel","10.engineering/06.treating-steel","i-lucide-flame",{"title":402,"path":403,"stem":404,"icon":405},"Knipex vs Lindstrom","/engineering/knipex-vs-lindstrom","10.engineering/07.knipex-vs-lindstrom","i-lucide-scissors",{"title":407,"path":408,"stem":409,"icon":410},"Gel-Pak Tack Levels","/engineering/gel-pack-tack","10.engineering/08.gel-pack-tack","i-lucide-grip",{"title":412,"path":413,"stem":414,"icon":415},"Antenna Radiation Patterns","/engineering/antenna-patterns","10.engineering/09.antenna-patterns","i-lucide-radio",{"title":417,"path":418,"stem":419,"icon":420},"Codesign Hardware and Software","/engineering/codesign-hw-sw","10.engineering/10.codesign-hw-sw","i-lucide-circuit-board",{"title":422,"path":423,"stem":424,"icon":425},"Plasticity CAD","/engineering/plasticity-cad","10.engineering/11.plasticity-cad","i-lucide-box",{"title":427,"path":428,"stem":429,"icon":430},"Mission Assurance","/engineering/mission-assurance","10.engineering/12.mission-assurance","i-lucide-shield-check",{"title":432,"path":433,"stem":434},"Google Search Operators","/engineering/google-search-operators","10.engineering/13.google-search-operators",{"title":436,"icon":437,"path":438,"stem":439,"children":440,"page":294},"Learning","i-lucide-book-open","/learning","11.learning",[441,445],{"title":442,"path":443,"stem":444,"icon":74},"Art of Problem Solving","/learning/art-of-problem-solving","11.learning/02.art-of-problem-solving",{"title":446,"path":447,"stem":448,"icon":400},"Do the Work","/learning/do-the-work","11.learning/03.do-the-work",{"title":450,"icon":26,"path":451,"stem":452,"children":453,"page":294},"Node Tools & CLI","/node-tools","12.node-tools",[454],{"title":455,"path":456,"stem":457},"OpenCode: AI Coding Agent for Terminal & CLI","/node-tools/opencode-cli","12.node-tools/01.opencode-cli",{"id":459,"title":335,"body":460,"description":1531,"extension":1532,"links":1533,"meta":1534,"navigation":1535,"path":336,"seo":1536,"stem":337,"__hash__":1537},"docs/09.ai/03.kimi-k25-fireworks-opencode.md",{"type":461,"value":462,"toc":1483},"minimark",[463,467,475,478,483,488,491,507,512,538,543,557,561,568,582,584,588,592,614,618,629,633,636,654,657,665,675,678,704,708,728,731,737,740,742,746,750,756,762,765,771,774,780,784,789,795,797,803,806,811,815,818,824,827,829,833,836,862,866,869,894,898,909,911,915,919,925,933,938,943,952,959,961,965,1088,1090,1094,1098,1104,1107,1111,1117,1120,1124,1127,1131,1134,1138,1144,1147,1149,1153,1157,1163,1175,1177,1181,1185,1191,1195,1200,1204,1213,1217,1222,1226,1231,1233,1237,1242,1262,1269,1274,1288,1294,1296,1300,1323,1329,1334,1340,1346,1352,1358,1364,1370,1376,1382,1388,1391,1393,1397,1439,1441,1445,1450,1468,1479],[464,465,335],"h1",{"id":466},"kimi-k25-fireworks-ai-opencode-cost-effective-daily-driver",[468,469,470,474],"p",{},[471,472,473],"strong",{},"The Pattern",": Use Kimi K2.5 (Moonshot AI) through Fireworks AI at 200 tokens/sec within OpenCode for fast, cheap everyday coding tasks. Save Claude/GPT-4 for complex work that needs PhD-level reasoning.",[476,477],"hr",{},[479,480,482],"h2",{"id":481},"why-kimi-k25","Why Kimi K2.5?",[484,485,487],"h3",{"id":486},"the-right-tool-for-the-job","The Right Tool for the Job",[468,489,490],{},"Not every coding task needs the most powerful model. In fact:",[492,493,494,501],"ul",{},[495,496,497,500],"li",{},[471,498,499],{},"Claude Opus / GPT-4 Turbo",": $15-30 per 1M tokens (expensive)",[495,502,503,506],{},[471,504,505],{},"Kimi K2.5",": Much cheaper, fast enough for 80% of daily work",[468,508,509],{},[471,510,511],{},"Kimi K2.5 is great for:",[492,513,514,517,520,523,526,529,532,535],{},[495,515,516],{},"✅ Routine refactoring",[495,518,519],{},"✅ Adding simple features",[495,521,522],{},"✅ Code review and suggestions",[495,524,525],{},"✅ Documentation generation",[495,527,528],{},"✅ Bug fixes in familiar code",[495,530,531],{},"✅ Boilerplate generation",[495,533,534],{},"✅ Testing and test generation",[495,536,537],{},"✅ API integration",[468,539,540],{},[471,541,542],{},"Not ideal for:",[492,544,545,548,551,554],{},[495,546,547],{},"❌ Complex algorithm design",[495,549,550],{},"❌ Architectural decisions",[495,552,553],{},"❌ Novel research or specialized domains",[495,555,556],{},"❌ Edge case reasoning",[484,558,560],{"id":559},"the-speed-advantage","The Speed Advantage",[468,562,563,564,567],{},"Running at ",[471,565,566],{},"200 tokens/sec through Fireworks"," means:",[492,569,570,573,576,579],{},[495,571,572],{},"OpenCode responses feel instant",[495,574,575],{},"No waiting for complex LLM inference",[495,577,578],{},"Feedback loop is tight and satisfying",[495,580,581],{},"Perfect for interactive coding sessions",[476,583],{},[479,585,587],{"id":586},"setup-fireworks-ai-opencode","Setup: Fireworks AI + OpenCode",[484,589,591],{"id":590},"step-1-sign-up-for-fireworks-ai","Step 1: Sign Up for Fireworks AI",[593,594,595,604,607],"ol",{},[495,596,597,598],{},"Go to ",[599,600,601],"a",{"href":601,"rel":602},"https://fireworks.ai",[603],"nofollow",[495,605,606],{},"Create account (free tier available, pay-as-you-go)",[495,608,609,610,613],{},"Get your ",[471,611,612],{},"API key"," from dashboard",[484,615,617],{"id":616},"step-2-add-billing-to-fireworks","Step 2: Add Billing to Fireworks",[492,619,620,623,626],{},[495,621,622],{},"Add credit card to your Fireworks account",[495,624,625],{},"Set spending limits if desired",[495,627,628],{},"Cost is typically 2-5x cheaper than official Anthropic/OpenAI APIs",[484,630,632],{"id":631},"step-3-configure-opencode","Step 3: Configure OpenCode",[468,634,635],{},"Launch OpenCode:",[637,638,643],"pre",{"className":639,"code":640,"language":641,"meta":642,"style":642},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","opencode\n","bash","",[644,645,646],"code",{"__ignoreMap":642},[647,648,651],"span",{"class":649,"line":650},"line",1,[647,652,640],{"class":653},"sBMFI",[468,655,656],{},"Run:",[637,658,663],{"className":659,"code":661,"language":662},[660],"language-text","/connect\n","text",[644,664,661],{"__ignoreMap":642},[468,666,667,668,671,672],{},"Select: ",[471,669,670],{},"Custom Provider"," or ",[471,673,674],{},"Models.dev",[468,676,677],{},"Enter Fireworks credentials:",[492,679,680,686,695],{},[495,681,682,685],{},[471,683,684],{},"Provider",": Fireworks AI",[495,687,688,691,692],{},[471,689,690],{},"API Key",": ",[647,693,694],{},"paste your Fireworks API key",[495,696,697,691,700,703],{},[471,698,699],{},"Model",[644,701,702],{},"accounts/fireworks/models/kimi-k2-5"," (or latest variant)",[484,705,707],{"id":706},"step-4-test-it","Step 4: Test It",[637,709,711],{"className":639,"code":710,"language":641,"meta":642,"style":642},"cd ~/project\nopencode\n",[644,712,713,723],{"__ignoreMap":642},[647,714,715,719],{"class":649,"line":650},[647,716,718],{"class":717},"s2Zo4","cd",[647,720,722],{"class":721},"sfazB"," ~/project\n",[647,724,726],{"class":649,"line":725},2,[647,727,640],{"class":653},[468,729,730],{},"Ask:",[637,732,735],{"className":733,"code":734,"language":662},[660],"What's the structure of this codebase?\n",[644,736,734],{"__ignoreMap":642},[468,738,739],{},"You should get instant responses.",[476,741],{},[479,743,745],{"id":744},"workflow-kimi-for-daily-work-claudegpt-4-for-hard-problems","Workflow: Kimi for Daily Work, Claude/GPT-4 for Hard Problems",[484,747,749],{"id":748},"pattern-1-daily-coding-use-kimi","Pattern 1: Daily Coding (Use Kimi)",[468,751,752,755],{},[471,753,754],{},"Scenario",": Add a simple feature, fix a bug, refactor",[637,757,760],{"className":758,"code":759,"language":662},[660],"opencode\n/model kimi-k2-5\n",[644,761,759],{"__ignoreMap":642},[468,763,764],{},"Then:",[637,766,769],{"className":767,"code":768,"language":662},[660],"Add a new route /users/:id/profile that returns user data.\nUse the same pattern as /users/:id\n",[644,770,768],{"__ignoreMap":642},[468,772,773],{},"Kimi responds quickly. You review. Done.",[468,775,776,779],{},[471,777,778],{},"Cost",": ~$0.001-0.005 per request",[484,781,783],{"id":782},"pattern-2-complex-problem-switch-to-claude","Pattern 2: Complex Problem (Switch to Claude)",[468,785,786,788],{},[471,787,754],{},": Architectural decision, performance optimization, novel approach",[637,790,793],{"className":791,"code":792,"language":662},[660],"opencode\n/model claude-opus\n",[644,794,792],{"__ignoreMap":642},[468,796,764],{},[637,798,801],{"className":799,"code":800,"language":662},[660],"We have N+1 query problems in the user dashboard.\nShow me the trade-offs between:\n1. Eager loading with JOINs\n2. DataLoader-style batch loading\n3. Moving to a read replica\nRecommend which for a SaaS with 10K users.\n",[644,802,800],{"__ignoreMap":642},[468,804,805],{},"Claude thinks deeply. You get nuanced analysis.",[468,807,808,810],{},[471,809,778],{},": ~$0.02-0.05 per request",[484,812,814],{"id":813},"pattern-3-quick-context-switch-stay-with-kimi","Pattern 3: Quick Context Switch (Stay with Kimi)",[468,816,817],{},"During the same session:",[637,819,822],{"className":820,"code":821,"language":662},[660],"Now add field-level permission checks to @utils/auth.ts\n",[644,823,821],{"__ignoreMap":642},[468,825,826],{},"Kimi handles it. No need for the expensive model.",[476,828],{},[479,830,832],{"id":831},"fireworks-ai-advantages","Fireworks AI Advantages",[484,834,778],{"id":835},"cost",[492,837,838,844,850,856],{},[495,839,840,843],{},[471,841,842],{},"Pay-as-you-go"," (no subscription)",[495,845,846,849],{},[471,847,848],{},"2-5x cheaper"," than official API pricing",[495,851,852,855],{},[471,853,854],{},"Lower latency"," (optimized inference)",[495,857,858,861],{},[471,859,860],{},"Transparent billing"," (see costs in real-time)",[484,863,865],{"id":864},"llm-model-variety","LLM Model Variety",[468,867,868],{},"Access to:",[492,870,871,876,882,888],{},[495,872,873,875],{},[471,874,505],{}," (cheap, fast)",[495,877,878,881],{},[471,879,880],{},"Claude"," (via Fireworks routing)",[495,883,884,887],{},[471,885,886],{},"Mixtral, Llama"," (open source options)",[495,889,890,893],{},[471,891,892],{},"Proprietary models"," (tested & benchmarked)",[484,895,897],{"id":896},"no-vendor-lock-in","No Vendor Lock-In",[492,899,900,903,906],{},[495,901,902],{},"Easy to switch providers",[495,904,905],{},"Just change API key in OpenCode",[495,907,908],{},"Same prompts work everywhere",[476,910],{},[479,912,914],{"id":913},"the-numbers","The Numbers",[484,916,918],{"id":917},"example-1-hour-of-coding","Example: 1 Hour of Coding",[468,920,921,924],{},[471,922,923],{},"Daily work with Kimi K2.5",":",[492,926,927,930],{},[495,928,929],{},"20 requests × 500 tokens avg = 10K tokens",[495,931,932],{},"At Fireworks rates: ~$0.05-0.10",[468,934,935,924],{},[471,936,937],{},"vs Claude Opus (for comparison)",[492,939,940],{},[495,941,942],{},"Same work: ~$0.30-0.50",[468,944,945,948,949],{},[471,946,947],{},"Annual savings",": $0.05-0.10/day × 250 working days = ",[471,950,951],{},"$12-25/year per developer",[468,953,954,955,958],{},"More importantly: ",[471,956,957],{},"No waiting for responses",". Kimi is fast.",[476,960],{},[479,962,964],{"id":963},"when-to-use-each-model","When to Use Each Model",[966,967,968,983],"table",{},[969,970,971],"thead",{},[972,973,974,978,980],"tr",{},[975,976,977],"th",{},"Task",[975,979,699],{},[975,981,982],{},"Why",[984,985,986,997,1007,1017,1027,1037,1048,1058,1068,1078],"tbody",{},[972,987,988,992,994],{},[989,990,991],"td",{},"Refactor existing code",[989,993,505],{},[989,995,996],{},"Fast, cheap, sufficient",[972,998,999,1002,1004],{},[989,1000,1001],{},"Add straightforward feature",[989,1003,505],{},[989,1005,1006],{},"Well-defined scope",[972,1008,1009,1012,1014],{},[989,1010,1011],{},"Code review / nitpicks",[989,1013,505],{},[989,1015,1016],{},"Pattern matching is easy",[972,1018,1019,1022,1024],{},[989,1020,1021],{},"Generate tests",[989,1023,505],{},[989,1025,1026],{},"Template-based work",[972,1028,1029,1032,1034],{},[989,1030,1031],{},"Document code",[989,1033,505],{},[989,1035,1036],{},"Straightforward extraction",[972,1038,1039,1042,1045],{},[989,1040,1041],{},"Architectural decision",[989,1043,1044],{},"Claude/GPT-4",[989,1046,1047],{},"Needs deep reasoning",[972,1049,1050,1053,1055],{},[989,1051,1052],{},"Performance optimization",[989,1054,1044],{},[989,1056,1057],{},"Complex trade-offs",[972,1059,1060,1063,1065],{},[989,1061,1062],{},"Novel algorithm",[989,1064,1044],{},[989,1066,1067],{},"Requires creativity",[972,1069,1070,1073,1075],{},[989,1071,1072],{},"Security audit",[989,1074,1044],{},[989,1076,1077],{},"Edge cases matter",[972,1079,1080,1083,1085],{},[989,1081,1082],{},"Complex debugging",[989,1084,1044],{},[989,1086,1087],{},"Might need original thinking",[476,1089],{},[479,1091,1093],{"id":1092},"pro-tips","Pro Tips",[484,1095,1097],{"id":1096},"tip-1-batch-similar-tasks-with-kimi","Tip 1: Batch Similar Tasks with Kimi",[637,1099,1102],{"className":1100,"code":1101,"language":662},[660],"/model kimi-k2-5\n",[644,1103,1101],{"__ignoreMap":642},[468,1105,1106],{},"Then ask for 3-4 related changes. Kimi batches well.",[484,1108,1110],{"id":1109},"tip-2-switch-to-claude-for-risky-changes","Tip 2: Switch to Claude for Risky Changes",[637,1112,1115],{"className":1113,"code":1114,"language":662},[660],"/model claude-opus\n",[644,1116,1114],{"__ignoreMap":642},[468,1118,1119],{},"If you're uncertain, spend the $0.02-0.05 for peace of mind.",[484,1121,1123],{"id":1122},"tip-3-monitor-costs-in-fireworks-dashboard","Tip 3: Monitor Costs in Fireworks Dashboard",[468,1125,1126],{},"Keep Fireworks dashboard open in another tab. See costs in real-time.",[484,1128,1130],{"id":1129},"tip-4-set-spending-limits","Tip 4: Set Spending Limits",[468,1132,1133],{},"In Fireworks settings, set a daily spending limit (e.g., $10/day).",[484,1135,1137],{"id":1136},"tip-5-use-plan-mode-with-kimi","Tip 5: Use Plan Mode with Kimi",[637,1139,1142],{"className":1140,"code":1141,"language":662},[660],"Tab key → Plan Mode\n",[644,1143,1141],{"__ignoreMap":642},[468,1145,1146],{},"Kimi's plans are good for everyday work. Use them before building.",[476,1148],{},[479,1150,1152],{"id":1151},"integration-with-linear-github","Integration with Linear + GitHub",[484,1154,1156],{"id":1155},"full-workflow","Full Workflow",[637,1158,1161],{"className":1159,"code":1160,"language":662},[660],"1. Create issue in Linear\n   Title: \"Add user profile API endpoint\"\n   Acceptance Criteria:\n   - GET /users/:id/profile\n   - Returns user data (id, name, email)\n   - Same auth pattern as existing endpoints\n\n2. Start OpenCode with Kimi\n   opencode\n   /model kimi-k2-5\n   \n3. Ask OpenCode\n   \"Implement Linear issue RFX-XX: Add user profile API endpoint\"\n   \n4. Review changes\n   git diff\n   \n5. Push and create PR\n   git push → GitHub PR\n   \n6. Human review\n   \"Looks good, merged\"\n   \n7. Linear updates automatically\n   (GitHub integration marks as Done)\n",[644,1162,1160],{"__ignoreMap":642},[468,1164,1165,1167,1168,1171,1174],{},[471,1166,778],{},": ~$0.05-0.10 per issue",[1169,1170],"br",{},[471,1172,1173],{},"Time",": 5-10 minutes",[476,1176],{},[479,1178,1180],{"id":1179},"faq","FAQ",[484,1182,1184],{"id":1183},"q-is-kimi-k25-production-ready","Q: Is Kimi K2.5 production-ready?",[468,1186,1187,1190],{},[471,1188,1189],{},"A",": For well-scoped work, yes. It's good at following patterns and generating standard code. For novel/risky changes, spend extra on Claude.",[484,1192,1194],{"id":1193},"q-does-it-work-offline","Q: Does it work offline?",[468,1196,1197,1199],{},[471,1198,1189],{},": No. It's cloud-based through Fireworks. You need internet. For offline, use local Ollama + Llama 2.",[484,1201,1203],{"id":1202},"q-can-i-mix-models-in-same-session","Q: Can I mix models in same session?",[468,1205,1206,1208,1209,1212],{},[471,1207,1189],{},": Yes. Use ",[644,1210,1211],{},"/model [name]"," to switch anytime.",[484,1214,1216],{"id":1215},"q-what-if-fireworks-is-down","Q: What if Fireworks is down?",[468,1218,1219,1221],{},[471,1220,1189],{},": Switch to another provider (OpenAI, Anthropic direct, others). OpenCode supports all of them.",[484,1223,1225],{"id":1224},"q-does-this-work-with-cursor","Q: Does this work with Cursor?",[468,1227,1228,1230],{},[471,1229,1189],{},": Yes. Cursor supports custom providers via their configuration.",[476,1232],{},[479,1234,1236],{"id":1235},"recommended-setup","Recommended Setup",[468,1238,1239],{},[471,1240,1241],{},"What you actually need:",[593,1243,1244,1250,1256],{},[495,1245,1246,1249],{},[471,1247,1248],{},"OpenCode"," (free, open source)",[495,1251,1252,1255],{},[471,1253,1254],{},"Fireworks API key"," ($5-20/month for token credits)",[495,1257,1258,1261],{},[471,1259,1260],{},"One model configured"," (Kimi K2.5 is the default)",[468,1263,1264,1265,1268],{},"Total monthly cost: ",[471,1266,1267],{},"$5-20"," depending on usage.",[468,1270,1271],{},[471,1272,1273],{},"Compare to:",[492,1275,1276,1279,1282,1285],{},[495,1277,1278],{},"Claude API: $20-50/month",[495,1280,1281],{},"OpenAI API: $10-30/month",[495,1283,1284],{},"Cursor subscription: $20/month",[495,1286,1287],{},"ChatGPT Plus: $20/month",[468,1289,1290,1293],{},[471,1291,1292],{},"With Fireworks",": Probably the cheapest + fastest combo.",[476,1295],{},[479,1297,1299],{"id":1298},"example-session","Example Session",[637,1301,1303],{"className":639,"code":1302,"language":641,"meta":642,"style":642},"$ cd ~/my-project\n$ opencode\n",[644,1304,1305,1316],{"__ignoreMap":642},[647,1306,1307,1310,1313],{"class":649,"line":650},[647,1308,1309],{"class":653},"$",[647,1311,1312],{"class":721}," cd",[647,1314,1315],{"class":721}," ~/my-project\n",[647,1317,1318,1320],{"class":649,"line":725},[647,1319,1309],{"class":653},[647,1321,1322],{"class":721}," opencode\n",[637,1324,1327],{"className":1325,"code":1326,"language":662},[660],"OpenCode v0.5.2\n> \n",[644,1328,1326],{"__ignoreMap":642},[637,1330,1332],{"className":1331,"code":1101,"language":662},[660],[644,1333,1101],{"__ignoreMap":642},[637,1335,1338],{"className":1336,"code":1337,"language":662},[660],"Model switched to kimi-k2-5 (Fireworks AI)\n>\n",[644,1339,1337],{"__ignoreMap":642},[637,1341,1344],{"className":1342,"code":1343,"language":662},[660],"Add a GET endpoint to /api/posts that returns all posts.\nUse the same error handling pattern as /api/users.\n",[644,1345,1343],{"__ignoreMap":642},[637,1347,1350],{"className":1348,"code":1349,"language":662},[660],"[Kimi thinks for 1 second]\n\nI'll add a GET endpoint to /api/posts that returns all posts.\nLooking at /api/users for the error handling pattern...\n\nHere's what I'll do:\n1. Create POST handler in /api/posts.ts\n2. Query posts from database\n3. Apply same error handling (try/catch + res.status(500))\n4. Return JSON response\n\nReady to implement. Go ahead? (Y/n)\n",[644,1351,1349],{"__ignoreMap":642},[637,1353,1356],{"className":1354,"code":1355,"language":662},[660],"y\n",[644,1357,1355],{"__ignoreMap":642},[637,1359,1362],{"className":1360,"code":1361,"language":662},[660],"[Changes made to 2 files]\n✓ /api/posts.ts - Added GET handler\n✓ /types/post.ts - Updated types\n\nAll changes saved. Run `git diff` to review.\n",[644,1363,1361],{"__ignoreMap":642},[637,1365,1368],{"className":1366,"code":1367,"language":662},[660],"git diff\n",[644,1369,1367],{"__ignoreMap":642},[637,1371,1374],{"className":1372,"code":1373,"language":662},[660],"[Shows the changes - looks good]\n",[644,1375,1373],{"__ignoreMap":642},[637,1377,1380],{"className":1378,"code":1379,"language":662},[660],"/share\n",[644,1381,1379],{"__ignoreMap":642},[637,1383,1386],{"className":1384,"code":1385,"language":662},[660],"Conversation saved: https://opencode.ai/s/abc123xyz\n",[644,1387,1385],{"__ignoreMap":642},[468,1389,1390],{},"Done. ~2 minutes of work. Cost: ~$0.02.",[476,1392],{},[479,1394,1396],{"id":1395},"resources","Resources",[492,1398,1399,1407,1416,1425,1434],{},[495,1400,1401,691,1404],{},[471,1402,1403],{},"Fireworks AI",[599,1405,601],{"href":601,"rel":1406},[603],[495,1408,1409,691,1412],{},[471,1410,1411],{},"Fireworks Docs",[599,1413,1414],{"href":1414,"rel":1415},"https://docs.fireworks.ai",[603],[495,1417,1418,691,1420,1424],{},[471,1419,674],{},[599,1421,1422],{"href":1422,"rel":1423},"https://models.dev",[603]," (provider directory)",[495,1426,1427,691,1430],{},[471,1428,1429],{},"OpenCode Docs",[599,1431,1432],{"href":1432,"rel":1433},"https://opencode.ai/docs",[603],[495,1435,1436,1438],{},[471,1437,505],{},": Available via Fireworks",[476,1440],{},[479,1442,1444],{"id":1443},"takeaway","Takeaway",[468,1446,1447],{},[471,1448,1449],{},"Use the right tool for the job.",[492,1451,1452,1457,1462],{},[495,1453,1454,1456],{},[471,1455,505],{},": 80% of daily coding (fast, cheap, good enough)",[495,1458,1459,1461],{},[471,1460,1044],{},": 20% of hard problems (expensive, worth it)",[495,1463,1464,1467],{},[471,1465,1466],{},"Fireworks",": The infrastructure that makes this economical",[468,1469,1470,1471,1474,1475,1478],{},"Running Kimi at 200 tokens/sec through Fireworks gives you ",[471,1472,1473],{},"instant feedback"," without the ",[471,1476,1477],{},"Claude Opus price tag",". Perfect for a productive daily driver.",[1480,1481,1482],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":642,"searchDepth":725,"depth":725,"links":1484},[1485,1490,1496,1501,1506,1509,1510,1517,1520,1527,1528,1529,1530],{"id":481,"depth":725,"text":482,"children":1486},[1487,1489],{"id":486,"depth":1488,"text":487},3,{"id":559,"depth":1488,"text":560},{"id":586,"depth":725,"text":587,"children":1491},[1492,1493,1494,1495],{"id":590,"depth":1488,"text":591},{"id":616,"depth":1488,"text":617},{"id":631,"depth":1488,"text":632},{"id":706,"depth":1488,"text":707},{"id":744,"depth":725,"text":745,"children":1497},[1498,1499,1500],{"id":748,"depth":1488,"text":749},{"id":782,"depth":1488,"text":783},{"id":813,"depth":1488,"text":814},{"id":831,"depth":725,"text":832,"children":1502},[1503,1504,1505],{"id":835,"depth":1488,"text":778},{"id":864,"depth":1488,"text":865},{"id":896,"depth":1488,"text":897},{"id":913,"depth":725,"text":914,"children":1507},[1508],{"id":917,"depth":1488,"text":918},{"id":963,"depth":725,"text":964},{"id":1092,"depth":725,"text":1093,"children":1511},[1512,1513,1514,1515,1516],{"id":1096,"depth":1488,"text":1097},{"id":1109,"depth":1488,"text":1110},{"id":1122,"depth":1488,"text":1123},{"id":1129,"depth":1488,"text":1130},{"id":1136,"depth":1488,"text":1137},{"id":1151,"depth":725,"text":1152,"children":1518},[1519],{"id":1155,"depth":1488,"text":1156},{"id":1179,"depth":725,"text":1180,"children":1521},[1522,1523,1524,1525,1526],{"id":1183,"depth":1488,"text":1184},{"id":1193,"depth":1488,"text":1194},{"id":1202,"depth":1488,"text":1203},{"id":1215,"depth":1488,"text":1216},{"id":1224,"depth":1488,"text":1225},{"id":1235,"depth":725,"text":1236},{"id":1298,"depth":725,"text":1299},{"id":1395,"depth":725,"text":1396},{"id":1443,"depth":725,"text":1444},"The Pattern: Use Kimi K2.5 (Moonshot AI) through Fireworks AI at 200 tokens/sec within OpenCode for fast, cheap everyday coding tasks. Save Claude/GPT-4 for complex work that needs PhD-level reasoning.","md",null,{},true,{"title":335,"description":1531},"6BR5KAnxJng2gIxgngo7k7RBuNnpATapA45jUyj_nPg",[1539,1541],{"title":331,"path":332,"stem":333,"description":1540,"children":-1},"OpenCode is a community-driven, open source AI coding agent that works in your terminal, IDE, or desktop. With 120K+ GitHub stars, 800+ contributors, and 5M+ monthly developers, it's one of the most widely-used AI coding tools.",{"title":339,"path":340,"stem":341,"description":1542,"icon":259,"children":-1},"Run AI coding agents overnight to multiply your productivity.",1775772884013]