[{"data":1,"prerenderedAt":597},["ShallowReactive",2],{"project-48883305":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":49,"post_text":51,"what":52,"said":125,"maker_in_thread":261,"shape":272,"grid":277,"attempts":559,"same_week":560,"maker_shows":44,"maker_hidden":589,"reader_version":590,"card":591},"48883305","Juggler","an open-source GUI coding agent, by the creator of JUCE","title","Show HN: Juggler – an open-source GUI coding agent, by the creator of JUCE","https:\u002F\u002Fgithub.com\u002Fjuggler-ai\u002Fjuggler","github.com","julesrms",1783880895,2026,280,118,163,4366,4,"legend","dev_tools","ai coding agent gui","desktop_app",[24,25,26,27,28],"coding agent","ai coding gui","llm agent","open source agent","session tree","mixed",0.205,{"positive":32,"neutral":33,"mixed":34,"critical":35},22,25,1,10,58,{"privacy":38,"idea":40,"design":42,"execution":45,"performance":46,"pricing":47,"docs":48},{"positive":39,"critical":39},0,{"positive":41,"critical":34},12,{"positive":43,"critical":44},5,2,{"positive":34,"critical":43},{"positive":34,"critical":44},{"positive":39,"critical":39},{"positive":39,"critical":39},[50,43,43,50,43,50,43,43,50,39,43,50,50,43,50,50,50,43,43,50,50,43,34,50,50,43,34,50,50,43,34,34,43,34,43,43,34,50,34,50],3,null,{"problem":53,"audience":64,"pricing":51,"motivation":68,"time_to_build":75,"stack":85,"openness":122,"stage":123,"team_size":124},{"value":54,"source":55,"evidence":56},"Coding agents are stuck in the terminal and conversations are linear.","maker",[57,60],{"id":58,"by":11,"text":59},"48906597","Just wanted to add a follow-up to what I posted above.. In terms of who might be interested in this: I've watched amazing communities spring up around open agents like Opencode…",{"id":61,"by":62,"text":63},"48909080","gnarlouse","@julesrms thank you for lending more credibility to the idea that agent conversations need to be natively branching. It's crazy that we're almost 3 years in on this LLM joyride…",{"value":65,"source":55,"evidence":66},"Claude and Codex users who want a GUI instead of a terminal.",[67],{"id":58,"by":11,"text":59},{"value":69,"source":55,"evidence":70},"Maker wanted a GUI agent with a better UX than terminal and plugin-based extensibility.",[71,72],{"id":58,"by":11,"text":59},{"id":73,"by":11,"text":74},"48907748","Thanks! I think hearing \"the UI is clean\" is exactly the reaction I've been hoping for :) While I've put huge effort into things like its architecture and extension API, it's…",{"value":76,"source":55,"evidence":77},"About 6 months of spare-time solo work.",[78,82],{"id":79,"by":80,"text":81},"48907906","Semkas","This looks cool! I'll check it out. Out of curiosity: I assume you've also used agents to help build this, and on the site you mention working on this for ~6 months. Most one-man…",{"id":83,"by":11,"text":84},"48911223","As this post gradually sinks downwards on the HN front page, I'd just like to say thanks to everyone who've made all the lovely comments, it's great to get some feedback to show…",[86,92,96,100,108,116],{"value":87,"source":55,"evidence":88},"Go",[89],{"id":90,"by":11,"text":91},"48908268","No, this is pretty much the anti-juce! There's no c++ in it, it's all Go\u002FJavascript. And all the UIs are HTML. JUCE is a great choice for some things, but this wasn't one of them!",{"value":93,"source":55,"evidence":94},"JavaScript",[95],{"id":90,"by":11,"text":91},{"value":97,"source":55,"evidence":98},"HTML",[99],{"id":90,"by":11,"text":91},{"value":101,"source":102,"evidence":103},"Wails","commenter",[104],{"id":105,"by":106,"text":107},"48913718","anigbrowl","Miller columns rather than a big doom-scroll Sold, this is my biggest annoyance with Cline. Go backend, Wails for windowing (no Electron), plain type-checked JS (strict JSDoc),…",{"value":109,"source":102,"evidence":110},"Yjs CRDT",[111,112],{"id":105,"by":106,"text":107},{"id":113,"by":114,"text":115},"48910313","solarkraft","> Because it's a CRDT behind a local web server I think that’s the secret to stability. I see too many projects that try to embed the harness into their UI. I think that’s…",{"value":117,"source":55,"evidence":118},"GTK WebKit",[119],{"id":120,"by":11,"text":121},"48908667","At the moment it uses a GTK webview for running server-side javascript, so it's needed right now. At some point I'll see if I can find a JS engine that I could swap in there","open_source","beta","solo",{"praise":126,"objections":160,"requests":186,"questions":223,"alternatives":243},[127,138,149],{"value":128,"source":102,"evidence":129},"Clean UI and good design.",[130,134],{"id":131,"by":132,"text":133},"48907654","prabhanjana_c","UI is clean. could install in Mac. Adding context files at the top is clean. It worked. Currently I use zed, vscode (for UI). along with claude, codex, Hermes. Not sure If I will…",{"id":135,"by":136,"text":137},"48913695","cassianoleal","This is really nice, thanks for sharing! If you don't mind a little feature request, I'd love to have a \"thinking level\" selector on the GUI for models that have it. I really…",{"value":139,"source":102,"evidence":140},"Tree and subthread structure is a novel idea.",[141,145],{"id":142,"by":143,"text":144},"48908982","robbomacrae","This looks really interesting and a unique take on the AI agent orchestration. I think we need a bunch of experiments in this area as it's clear we are entering a new paradigm…",{"id":146,"by":147,"text":148},"48910692","sbloz","This looks nice, and I like the more opinionated take on how \"communicating\" with an agent should work. The post talks a lot about what this is and how it works. I'm curious,…",{"value":150,"source":102,"evidence":151},"Open source AGPL, built without Electron.",[152,156],{"id":153,"by":154,"text":155},"48910618","bartvk","> Wails for windowing (no Electron) Awesome. > AGPL Even more awesome.",{"id":157,"by":158,"text":159},"48910481","markasoftware","Really glad to see an harness other than Pi that seems to be non-vc-backed FOSS and by a competent maintainer Edit: seems like the remote connection feature may not work...",[161,172,179],{"value":162,"source":102,"evidence":163},"Requires WebKitGTK, causing install and sandbox problems on Linux.",[164,168],{"id":165,"by":166,"text":167},"48908629","LeSaucy","For running headless is it possible to not require installing libwebkitgtk-6.0.so.4",{"id":169,"by":170,"text":171},"48915314","SilentM68","Seems to work when I click the juggler.app in Ubuntu 24.04 (Noble Numbat) GNOME's desktop. Running same app via terminal does not launch the app. Appear to be a sandbox issue…",{"value":173,"source":102,"evidence":174},"Limited provider list, no custom provider management for BYOK.",[175],{"id":176,"by":177,"text":178},"48918022","shunia_huang","Sorry but it's not real BYOK to me as there is no UI\u002Fmethod provided to modify the providers, instead the app provides limited provider list and only allow custom API keys. I…",{"value":180,"source":102,"evidence":181},"Provider API bugs such as DeepSeek reasoning_content error.",[182],{"id":183,"by":184,"text":185},"48909030","drcongo","Having now given it a quick spin, I like the UI concept and could definitely see myself working with this. I ran into a bug(?) almost immediately though, I hooked up Deepseek 4…",[187,198,205,209,216],{"value":188,"source":102,"evidence":189},"Support for ACP.",[190,194],{"id":191,"by":192,"text":193},"48908253","everforward","ACP support would be a big deal and would make this a real contender for me. It looks super nice, but the idea of re-writing my Pi plugins is a real blocker. I’m generally happy…",{"id":195,"by":196,"text":197},"48918747","orivibes","Is this using ACP?",{"value":199,"source":102,"evidence":200},"Sandboxing support.",[201],{"id":202,"by":203,"text":204},"48910077","noja","Does it support sandboxing?",{"value":206,"source":102,"evidence":207},"Thinking level selector in the GUI.",[208],{"id":135,"by":136,"text":137},{"value":210,"source":102,"evidence":211},"Skills discovery from global config.",[212],{"id":213,"by":214,"text":215},"48910225","mannanj","Interesting. Just opened it up to use, while I had a codex terminal session running - my first instinct was to want to see my pre-existing open session in the GUI instead and be…",{"value":217,"source":102,"evidence":218},"Screenshots on the GitHub page.",[219],{"id":220,"by":221,"text":222},"48908615","buggylearning","Could you include screenshots on your github page?",[224,228,236],{"value":225,"source":102,"evidence":226},"Can it attach to an existing Codex terminal session?",[227],{"id":213,"by":214,"text":215},{"value":229,"source":102,"evidence":230},"Does it work with an Anthropic key or Claude Agent SDK login?",[231,235],{"id":232,"by":233,"text":234},"48910753","m_kos","Nicely done! Would you consider adding an Agent SDK login for Claude for those who don't have an API budget and want to avoid potential issues with Anthropic's capricious…",{"id":183,"by":184,"text":185},{"value":237,"source":102,"evidence":238},"Why not use JUCE for the UI?",[239],{"id":240,"by":241,"text":242},"48909345","zerr","Why not use JUCE for UI? :)",[244,248,253],{"value":245,"source":55,"evidence":246},"Opencode and Pi",[247],{"id":58,"by":11,"text":59},{"value":249,"source":102,"evidence":250},"Claude Code and Codex",[251,252],{"id":146,"by":147,"text":148},{"id":213,"by":214,"text":215},{"value":254,"source":102,"evidence":255},"Zed, Cursor and VS Code",[256,257],{"id":131,"by":132,"text":133},{"id":258,"by":259,"text":260},"48908108","Shorel","Great work, it is very funny that I did just the opposite :) Got fed up with Zed, Cursor, and the other GUI agentic tools and created a console TUI agent for my own use.",{"comments":262,"answered":263,"key":264},44,18,[265,266,269],{"id":83,"text":84},{"id":267,"text":268},"48912718","The default mode it uses for approving LLM tools is already read-only - it has a quite complicated (but conservative) bash parser that tries to let things that are definitely…",{"id":270,"text":271},"48919174","Excellent. The audio dev industry is a really nice community!",{"commenters":273,"max_depth":274,"maker_replies":262,"first_comment_mins":275,"lifespan_hours":276},53,7,2584,167,[278,280,284,285,288,292,293,296,298,301,303,305,308,311,312,314,317,319,321,324,326,329,331,332,334,337,339,341,343,345,348,350,353,356,358,360,363,365,366,368,370,372,374,376,379,382,384,386,391,394,398,400,403,404,406,409,411,413,415,417,419,421,423,426,427,430,432,434,436,438,442,445,447,450,452,456,458,460,462,464,467,469,471,474,477,480,484,486,488,489,491,496,500,504,508,510,512,513,515,518,520,523,525,528,530,532,534,536,538,540,542,546,551,553,555],[83,39,39,279,11,34],"maker\u002Fneutral\u002Fnone",[281,39,50,282,283,39],"48912297","project\u002Fneutral\u002Fprivacy","hyperhello",[267,39,39,282,11,34],[286,39,50,282,287,39],"48916072","hnav",[289,39,43,290,291,39],"48917734","maker\u002Fpositive\u002Fnone","sinfulprogeny",[270,39,39,290,11,34],[294,39,43,290,295,39],"48970158","_doctor_love",[142,34,43,297,143,39],"project\u002Fpositive\u002Fidea",[299,34,39,300,11,34],"48909061","project\u002Fneutral\u002Fidea",[302,34,50,300,143,39],"48909211",[304,34,39,300,11,34],"48909276",[306,34,39,307,147,39],"48910601","other\u002Fneutral\u002Fnone",[309,34,39,307,310,39],"48931188","jchaselubitz",[61,44,43,297,62,39],[313,44,39,300,11,34],"48909133",[315,44,50,300,316,39],"48909697","paldepind2",[318,44,39,300,11,34],"48909890",[320,44,50,300,316,39],"48910830",[322,44,39,307,323,39],"48911438","kosolam",[325,44,43,297,62,39],"48914635",[327,44,39,307,328,39],"48916342","copperx",[330,44,43,297,62,39],"48914570",[79,50,50,279,80,39],[333,50,39,279,11,34],"48907975",[335,50,50,279,336,39],"48917771","dixtel",[338,50,39,307,11,34],"48918267",[340,50,39,307,336,39],"48918371",[342,50,39,307,11,34],"48919891",[105,18,43,344,106,39],"project\u002Fpositive\u002Fdesign",[346,43,43,297,347,39],"48917213","hypfer",[191,349,50,300,192,39],6,[351,349,39,352,11,34],"48908299","project\u002Fneutral\u002Fnone",[354,349,50,300,355,39],"48909233","ireadmevs",[357,349,39,300,11,34],"48926441",[359,349,50,300,192,39],"48926443",[361,349,50,300,362,39],"48909242","jdright",[364,349,39,300,11,34],"48909347",[146,274,43,297,147,39],[367,274,39,300,11,34],"48910856",[369,274,50,300,147,39],"48911201",[371,274,39,300,11,34],"48911548",[373,274,50,300,147,39],"48911732",[375,274,39,352,11,34],"48912888",[183,377,34,378,184,39],8,"project\u002Fcritical\u002Fexecution",[380,377,39,381,11,34],"48909092","maker\u002Fneutral\u002Fexecution",[383,377,43,297,184,39],"48909271",[385,377,39,279,11,34],"48909566",[387,388,50,389,390,39],"48919857",9,"project\u002Fmixed\u002Fdesign","Max-q",[392,388,39,393,11,34],"48919935","project\u002Fneutral\u002Fexecution",[395,35,43,396,397,39],"48910245","project\u002Fpositive\u002Fperformance","vorticalbox",[113,399,43,344,114,39],11,[401,399,39,402,11,34],"48910375","project\u002Fneutral\u002Fdesign",[157,41,43,297,158,39],[405,41,39,279,11,34],"48910620",[407,41,39,307,408,39],"48912414","easymuffin",[410,41,39,307,158,39],"48913400",[213,412,50,402,214,39],13,[414,412,39,402,11,34],"48910993",[416,412,50,402,214,39],"48926009",[418,412,50,352,214,39],"48926044",[131,420,43,344,132,39],14,[73,420,39,422,11,34],"maker\u002Fpositive\u002Fdesign",[424,420,50,393,425,39],"48908236","MomsAVoxell",[90,420,39,352,11,34],[428,420,34,429,425,39],"48908702","project\u002Fcritical\u002Fperformance",[431,420,39,279,11,34],"48908829",[433,420,34,429,425,39],"48908924",[135,435,43,344,136,39],15,[437,435,39,352,11,34],"48916655",[439,440,39,307,441,39],"48915739",16,"digitaltrees",[232,443,50,444,233,39],17,"project\u002Fneutral\u002Fpricing",[446,443,39,393,11,34],"48910801",[448,263,43,290,449,39],"48908678","SoleilAbsolu",[451,263,39,290,11,34],"48908697",[453,454,34,378,455,39],"48916658",19,"thenthenthen",[457,454,39,279,11,34],"48916739",[459,454,50,393,455,39],"48917050",[461,454,50,393,455,39],"48917065",[463,454,39,279,11,34],"48917122",[465,454,39,466,455,39],"48917169","commenter\u002Fneutral\u002Fnone",[258,468,39,307,259,39],20,[470,468,39,307,11,34],"48908145",[220,472,50,473,221,39],21,"project\u002Fneutral\u002Fdocs",[475,472,39,476,11,34],"48908631","maker\u002Fneutral\u002Fdocs",[478,32,43,297,479,39],"48916308","trenchgun",[481,482,43,297,483,39],"48910859",23,"clodecloud",[169,485,34,378,170,39],24,[487,485,39,279,11,34],"48916659",[240,33,50,402,241,39],[490,33,39,402,11,34],"48909412",[492,493,34,494,495,39],"48917509",26,"project\u002Fcritical\u002Fidea","fragmede",[497,498,39,307,499,39],"48917654",27,"zhonglin",[501,502,43,297,503,39],"48910331",28,"catapart",[505,506,39,307,507,39],"48909021",29,"tomduncalf",[509,506,39,279,11,34],"48909072",[165,511,34,378,166,39],30,[120,511,39,393,11,34],[514,511,39,393,11,34],"48917222",[153,516,43,517,154,39],31,"project\u002Fpositive\u002Fexecution",[58,519,39,300,11,34],32,[521,519,43,297,522,39],"48908290","yowlingcat",[524,519,39,279,11,34],"48908577",[526,519,50,300,527,39],"48911010","alok-g",[176,529,34,378,177,39],33,[531,529,39,393,11,34],"48920029",[533,529,39,393,11,34],"48920112",[202,535,50,282,203,39],34,[537,535,39,393,11,34],"48910111",[195,539,50,393,196,39],35,[541,539,39,393,11,34],"48920000",[543,544,39,307,545,39],"48910657",36,"westurner",[547,548,34,549,550,39],"48907935",37,"project\u002Fcritical\u002Fdesign","blackberrysoda",[552,548,39,402,11,34],"48908025",[554,548,43,344,184,39],"48908646",[556,557,34,549,558,39],"48910498",38,"guessmyname",[],[561,566,571,575,580,585],{"id":562,"name":563,"points":564,"category":565},"48845049","18 Words",1160,"games",{"id":567,"name":568,"points":569,"category":570},"48842459","colibri",937,"ai",{"id":572,"name":573,"points":574,"category":565},"48896286","Super Dario",397,{"id":576,"name":577,"points":578,"category":579},"48875377","Ant",330,"languages",{"id":581,"name":582,"points":583,"category":584},"48926939","Firefox in WebAssembly",273,"creative",{"id":586,"name":587,"points":588,"category":20},"48892859","Clawk",226,false,"v2",{"id":592,"name":5,"line":6,"ai":589,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":593,"top":18,"kw":594,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":595,"url":9,"mix":596,"praise":128,"objection":162,"sub":21},48883305,0.21,[24,25,26,27,28],"3553535530533533355335133513351151551313",[32,33,34,35],1794036704803]