[{"data":1,"prerenderedAt":277},["ShallowReactive",2],{"\u002Fblog\u002Fopencode-productive-stack\u002F:ko":3,"\u002Fblog\u002Fopencode-productive-stack\u002F-surround:ko":173,"blog-all-posts:ko":174},{"id":4,"title":5,"author":6,"body":10,"date":155,"description":156,"extension":157,"image":158,"locale":159,"meta":160,"minRead":161,"navigation":162,"original":163,"path":164,"pinned":163,"seo":165,"source":166,"sourceUrl":23,"stem":167,"tags":168,"updated":158,"__hash__":172},"blog\u002Fblog\u002Fopencode-productive-stack.ko.md","안정, 빠름, 고생산성, 저렴함: 내 AI Coding 스택 완전 기록",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":146},"minimark",[13,28,35,38,43,51,54,58,61,67,73,79,85,91,97,101,104,111,115,118,121,134,140,143],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"핵심 주장은 먼저 ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2086611065920733305",[25],"nofollow","X","에 게시했다. 이 글은 설정 기록의 완전판이다.",[17,29,30,31],{},"결론부터: ",[32,33,34],"strong",{},"OpenCode + OpenChamber + OpenCode Go의 DeepSeek V4 Flash 구독 + Ollama Cloud의 DeepSeek V4 Flash 구독.",[17,36,37],{},"이 조합을 오래 고강도로 써왔다. 네 마디로 요약하면: 안정, 빠름, 생산, 절약. 프로젝트 15개를 연달아 열어 동시에 코드를 돌렸는데도 쿼터는 아주 조금밖에 안 줄었다.",[39,40,42],"h2",{"id":41},"왜-opencode-openchamber인가","왜 OpenCode + OpenChamber인가",[17,44,45,46,50],{},"선정 과정은 ",[21,47,49],{"href":48},"\u002Fblog\u002Fagent-harness-selection","다른 글","에 썼으니, 여기서는 결과 차원의 이유만 말한다. OpenCode는 현재 가장 균형 잡힌 멀티모델 코어다 — 오픈소스에 Provider가 많고, Client\u002FServer, 데스크톱, Subagent가 모두 성숙하다. OpenChamber는 내가 써본 오픈소스 프로젝트 중 프런트엔드가 가장 잘 닦인 Harness GUI이고, 개발자가 극도로 성실하게 유지보수한다. 정교하고 안정적이어서 가끔 있는 자잘한 버그는 장기 사용에 전혀 지장이 없다.",[17,52,53],{},"Web 인터페이스 + PWA라 데스크톱 클라이언트와 거의 차이가 없고, 업데이트도 수동이 필요 없다.",[39,55,57],{"id":56},"설정은-세-가지-핵심-니즈를-중심으로","설정은 세 가지 핵심 니즈를 중심으로",[17,59,60],{},"내 OpenCode 설정은 세 가지를 축으로 한다: Context 관리, 기억 시스템, 외부 능력.",[17,62,63,66],{},[32,64,65],{},"1. opencode-dcp(오픈소스) — 동적 Context 프루닝."," Context가 임계값에 도달하면 오래된 내용을 자동으로 기술 요약으로 압축한다: 핵심 정보는 남기고, 노이즈는 버리고, 중복은 정리하고, 도구 에러 같은 저가치 내용은 Context에서 걷어낸다. 긴 세션에서 Context가 터지지 않고, 돈과 token을 아낀다. 하루 종일 긴 작업을 돌릴 수 있는 기반이다.",[17,68,69,72],{},[32,70,71],{},"2. opencode-goal-plugin — 목표 관리."," 긴 작업에 Goal 모드를 붙여서 Agent가 길을 잃으면 다시 끌어온다.",[17,74,75,78],{},[32,76,77],{},"3. Hermes Memory — 계층 메모리(필요하면 나중에 오픈소스화)."," 내가 가장 공들인 플러그인: Hermes agent의 계층 메모리 메커니즘을 OpenCode로 이식해서, 세션을 넘어 사용자 취향, 프로젝트 결정, 과거의 교훈을 기억한다. 새 프로젝트를 제로부터 가르칠 필요가 없다.",[17,80,81,84],{},[32,82,83],{},"4. context7-MCP."," 라이브러리와 프레임워크의 최신 공식 문서를 조회한다. 직접 뒤질 필요 없다.",[17,86,87,90],{},[32,88,89],{},"5. grep-MCP."," GitHub 전역 코드에서 실제 사용례를 검색한다. 기억으로 대충 쓰는 것보다 훨씬 믿을 만하다.",[17,92,93,96],{},[32,94,95],{},"6. open-computer-use — 데스크톱 자동화."," AI가 macOS 앱을 직접 조작하게 한다: 클릭, 입력, 스크롤, 드래그, 스크린샷, 접근성 트리 읽기. 테스트와 검수 단계에서 특히 유용하다.",[39,98,100],{"id":99},"비용-계산-구독-두-장을-어떻게-쓰나","비용 계산: 구독 두 장을 어떻게 쓰나",[17,102,103],{},"DeepSeek V4 Flash는 이 스택의 가성비 핵심이다: 정말로 똑똑하고, 정말로 돈이 안 든다. OpenCode Go 구독이 메인 워크플로를 커버하고, Ollama Cloud 구독이 제2 채널로 분류를 담당한다 — 구독 두 장을 합쳐도 주류 순정 Coding Plan 하나보다 싸고, 산출은 더 많다.",[17,105,106,107,110],{},"\"모델을 서드파티 껍데기에 넣으면 머리가 나빠진다\"는 말은 분해해서 봐야 한다: ",[32,108,109],{},"열화의 근원은 \"껍데기가 모델을 위한 Harness Engineering을 하지 않는 것\"이지",", 껍데기를 바꾸는 행위 자체가 아니다. OpenCode의 오픈 모델 지원은 최상위권이고, DeepSeek V4 Flash는 그 안에서 안정적으로 빠르게 돌아간다 — 바로 이래서 프로젝트 15개를 얹을 용기가 난 것이다.",[39,112,114],{"id":113},"원래-조합이-답의-교훈","'원래 조합이 답'의 교훈",[17,116,117],{},"그룹 채팅에 자주 이런 질문이 올라온다: 각사 구독을 다 연결할 수 있고, 모든 모델이 열화되지 않는 만능 AI 코딩 데스크톱은 없을까?",[17,119,120],{},"매일 고강도로 만지작거리는 친구 몇과 얘기한 결론은 일치했다: 없다. 원래 조합으로 돌아가라.",[122,123,124,128,131],"ul",{},[125,126,127],"li",{},"GPT → Codex: 공식 구독 직결, 네이티브 스케줄링이 가장 안정적.",[125,129,130],{},"Gemini → AntiGravity: 속도의 천장. 긴 윈도우도 안 끊긴다.",[125,132,133],{},"DeepSeek, GLM 등 오픈 모델 → OpenCode \u002F ZCode 같은 오픈 모델 친화 Harness.",[17,135,136,137],{},"모델을 맞지 않는 껍데기에 넣으면 열화, 느려짐, 구독 불통을 피하기 어렵다. ",[32,138,139],{},"각 모델을 제일 편한 자리에 두어야, 그 조합이 당신의 올인원 스택이다.",[39,141,142],{"id":142},"마지막으로",[17,144,145],{},"이 스택을 몇 달 돌렸는데 가장 큰 체감은 \"얼마를 아꼈나\"가 아니라 \"작업을 과감히 열게 됐다\"는 것이다 — 안정적이고 싸니까 프로젝트 15개를 열어도 마음이 흔들리지 않는다. 도구 스택의 가치는 결국 얼마나 많은 일을 얹을 용기가 나는가로 드러난다.",{"title":147,"searchDepth":148,"depth":148,"links":149},"",2,[150,151,152,153,154],{"id":41,"depth":148,"text":42},{"id":56,"depth":148,"text":57},{"id":99,"depth":148,"text":100},{"id":113,"depth":148,"text":114},{"id":142,"depth":148,"text":142},"2026-09-09","OpenCode + OpenChamber + DeepSeek V4 Flash 구독 두 장으로 15개 프로젝트를 동시에 돌려도 쿼터는 거의 안 줄었다. 이 글은 Context 프루닝, 계층 메모리, 데스크톱 자동화, 그리고 '역시 원래 조합'이라는 선택의 교훈까지, 내 전체 설정을 모두 까보는 글이다.","md",null,"ko",{},8,true,false,"\u002Fblog\u002Fopencode-productive-stack",{"title":5,"description":156},"x","blog\u002Fopencode-productive-stack.ko",[169,170,171],"OpenCode","AI 코딩","설정","L1O9BOGs5AhF6R1EGTWM88Df_Cjy-MP4tn40yB-1HnM",[158,158],[175,183,192,201,208,215,221,223,231,237,244,253,260,268],{"path":48,"title":176,"description":177,"date":178,"minRead":179,"tags":180},"Pi Agent, OMP, Codex, ZCode를 이리저리 만져본 끝에, 내가 마지막으로 OpenCode + OpenChamber를 고른 이유","Agent Harness 선택 회고: GUI 경험, 벤더 종속, 2차 개발 자유도라는 세 가지 기준으로 Pi Agent, OMP, Codex, ZCode를 탈락시키고, 마지막으로 OpenCode 코어 + OpenChamber 인터페이스를 선택했다.","2026-08-06",6,[181,182],"AI Agent","도구 선택",{"path":184,"title":185,"description":186,"date":187,"minRead":179,"tags":188},"\u002Fblog\u002Fcloudflare-broke-stack","2026 인디 개발 베스트 프랙티스: Cloudflare 가난뱅이 올인원 스택","인디 개발자를 위한 무료 기술 스택: 코드는 Codex, 버전 관리는 GitHub, 결제는 Stripe, 프런트엔드는 TanStack Start, 백엔드는 Hono + Workers, 데이터베이스는 D1, 스토리지는 R2, 캐시는 KV — 전부 Cloudflare 위에서 돌아간다.","2026-06-15",[189,190,191],"Cloudflare","인디 개발","기술 스택",{"path":193,"title":194,"description":195,"date":196,"minRead":179,"tags":197},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek API에 내장된 웹 검색 — Responses API로 공식 검색을 공짜로 쓰자","DeepSeek가 API 안에 웹 검색을 내장했다: Responses 인터페이스로 deepseek-v4-flash를 호출하고 web_search 도구만 선언하면 된다. 타사 검색 엔진 연동도, 검색 API 키도 필요 없다.","2026-08-05",[198,199,200],"DeepSeek","API","AI 도구",{"path":202,"title":203,"description":204,"date":196,"minRead":205,"tags":206},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash 정식 버전 핸즈온: 싸고, 빠르고, 1M 컨텍스트, 내장 검색","DeepSeek V4 Flash 정식 버전을 며칠간 깊게 써본 결과: 공격적으로 싸고, 번개처럼 빠르고, 1M 컨텍스트, 공식 내장 웹 검색, 완전 오픈소스. 유일한 약점은 멀티모달 — 하지만 다른 모델을 조합하면 메울 수 있다.",7,[198,207,200],"모델 리뷰",{"path":209,"title":210,"description":211,"date":187,"minRead":161,"tags":212},"\u002Fblog\u002Ffree-cloudflare","무료 사용자가 Cloudflare를 끝까지 짜먹는 법 — 무료 플랜이 실제로 어디까지 되나?","Cloudflare 무료 플랜이 개인 인터넷 인프라 전체를 지탱할 수 있다: DNS, CDN, Pages, Workers, KV, D1, R2, 이메일, Tunnel, AI Gateway 등.",[189,213,214],"무료 플랜","배포",{"path":216,"title":217,"description":218,"date":155,"minRead":161,"tags":219},"\u002Fblog\u002Fmodel-harness-decoupling","순정 Harness가 곧 버전 정답은 아니다: 오픈 모델 시대에는 모델과 Harness를 따로 골라라","Claude 쓰면 Claude Code? 오픈 모델 시대에는 이 직관을 업그레이드할 때다. 순정의 강점은 진짜지만, 좋은 모델을 만드는 일과 좋은 Harness를 만드는 일은 별개의 공학이다 — 이 글은 모델과 Harness를 분리해서 선택할 수 있게 된 이유와 다섯 가지 Harness의 포지셔닝 맵을 정리한다.",[181,220,182],"Harness",{"path":164,"title":5,"description":156,"date":155,"minRead":161,"tags":222},[169,170,171],{"path":224,"title":225,"description":226,"date":227,"minRead":228,"tags":229},"\u002Fblog\u002Fproduct-faxin-principle","발심의 원리: 인디 개발자는 왜 버리는 법을 배워야 하나","왜 출발하는가? 누구를 위해 출발하는가? 도대체 어떤 문제를 풀고 싶은가? 제품의 날카로움은 감히 버리는 것에서 나온다.","2026-06-20",10,[230,190],"제품 사고",{"path":232,"title":233,"description":234,"date":227,"minRead":161,"tags":235},"\u002Fblog\u002Fproduct-pain-vs-itch","사용자가 '대박'이라 해도 들뜨지 마라: 통증 포인트와 가려움 포인트","입으로 하는 좋아함은 한 푼 가치도 없다. 수요를 판단하는 기준은 딱 하나다: 사용자가 무엇을 지불할 의향이 있는가.",[230,236],"수요 판단",{"path":238,"title":239,"description":240,"date":178,"minRead":241,"tags":242},"\u002Fblog\u002Fqwen-vision-for-deepseek","DeepSeek에 멀티모달 더하기: Qwen-3.7-Flash 비전 접근법","DeepSeek V4 Flash에는 멀티모달이 없다 — 이미지 이해는 어떻게 할까? 시장을 조사해 보니 현재 가장 가성비 좋은 방법은 Qwen-3.7-Flash다: 이미지 한 장을 인식하는 비용이 거의 들지 않고, V4 Flash와 조합하면 빈틈이 메워진다.",5,[198,243,207],"멀티모달",{"path":245,"title":246,"description":247,"date":248,"minRead":249,"tags":250},"\u002Fblog\u002Fsub-store-cloudflare","프록시 구독 통합을 Cloudflare로 옮겼다","여러 프록시 서비스와 자체 노드를 하나의 구독으로 합치고, 라우팅 규칙을 서버 쪽에서 설정 — 클라이언트는 그냥 구독만 하면 된다.","2026-06-28",4,[189,251,252],"우회","오픈소스 프로젝트",{"path":254,"title":255,"description":256,"date":155,"minRead":205,"tags":257},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI는 당신의 인지 대역폭을 죽이고 있다: AI Coding의 '긱 필터'는 깨질 때가 됐다","AI Coding Agent가 앞다투어 TUI를 올리면서 인터랙션을 80년대 터미널 패러다임으로 되밀어 놓고는 '몰입형', '프로그래머 존중'이라고 미화한다. 이 글은 TUI가 인지 대역폭을 체계적으로 떨어뜨리는 세 가지 메커니즘과, Web UI가 왜 정답인지를 해부한다.",[170,258,259],"인터랙션 디자인","에세이",{"path":261,"title":262,"description":263,"date":264,"minRead":179,"tags":265},"\u002Fblog\u002Fvalue-not-external","가치가 있는지 논하는 것 자체가 가치가 없다","우리의 가치는 누구도 정의하지 않는다. AI 시대에 인간은 도대체 어떻게 자신을 이해해야 하는가?","2026-06-18",[266,267],"AI 사고","인문 에세이",{"path":269,"title":270,"description":271,"date":272,"minRead":273,"tags":274},"\u002Fblog\u002Fx-growth-1000-followers","하루 조금 넘게 팔로워 1000+ 달성 — 내가 한 일","6월에 X 계정을 진지하게 운영해 하루 조금 넘게 팔로워 1000+를 달성했다. 이 글은 내가 한 일과 받은 피드백을 기록한다.","2026-06-16",12,[275,276],"X 운영","콘텐츠 성장",1789752317553]