[{"data":1,"prerenderedAt":371},["ShallowReactive",2],{"project-49562219":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":40,"post_text":43,"what":44,"said":77,"maker_in_thread":218,"shape":230,"grid":234,"attempts":332,"same_week":333,"maker_shows":219,"maker_hidden":363,"reader_version":364,"card":365},"49562219","TERMy","A fast terminal assistant that does not use LLMs","title","Show HN: TERMy – A fast terminal assistant that does not use LLMs","https:\u002F\u002Fgithub.com\u002Fgioblu\u002FNPC-Forge\u002Fblob\u002Fmain\u002Fdocs\u002Fdevelopment.md","github.com","gioscarab",1788512580,2026,225,45,234,4366,6,"notable","dev_tools","terminal assistant","cli",[21,24,25,26,27],"natural language shell","nlp","shell commands","deterministic","loved",0.402,{"positive":31,"neutral":31,"mixed":32,"critical":33},12,0,1,25,{"design":36,"idea":37,"docs":39},{"positive":33,"critical":33},{"positive":38,"critical":32},9,{"positive":32,"critical":32},[41,42,32,42,42,32,42,41,41,32,41,42,32,41,32,32,32,32,32,32,32,42,32,42,32,32,33,42,32,42,32,41,42,41,42,32,41,41,42,41],5,3,"I love research and development, you may have heard of me because of PJON (Padded Jittering Operative Network). It is a network protocol I started developing in 2010, which was recently implemented in silicon by the ETH Zurich university thanks to the research of Pius Sieber.\n\nI am excited to share with you TERMy, a terminal assistant built on top of the NPC-Forge framework. Unlike everything else being built today, TERMy does not use embeddings, machine-learning or LLMs. It runs on the CPU (even on a Raspberry Pi Zero) both in the terminal or client-side in a browser tab and responds in milli",{"problem":45,"audience":51,"pricing":60,"motivation":61,"time_to_build":65,"stack":69,"openness":74,"stage":75,"team_size":76},{"value":46,"source":47,"evidence":48},"Translating natural language requests into shell commands quickly without LLM cost or unpredictability","maker",[49],{"id":50},"post",{"value":52,"source":53,"evidence":54},"Linux terminal users, developers who run common shell tasks","inferred",[55,56],{"id":50},{"id":57,"by":58,"text":59},"49576045","analog_daddy","Yes tldr, navi cheatsheets are essentially a great set of how to do X using Y for terminal utilities. Pretty well curated set of commands for majority of the tasks, so are great…",null,{"value":62,"source":47,"evidence":63},"Reduce monthly spend on AI tokens for trivial terminal tasks and avoid LLM unpredictability",[64],{"id":50},{"value":66,"source":47,"evidence":67},"2 months of focused work since early July",[68],{"id":50},[70],{"value":71,"source":47,"evidence":72},"Python",[73],{"id":50},"open_source","prototype","unknown",{"praise":78,"objections":111,"requests":124,"questions":165,"alternatives":186},[79,95,100],{"value":80,"source":81,"evidence":82},"Deterministic, predictable design that suits a safe terminal tool","commenter",[83,87,91],{"id":84,"by":85,"text":86},"49568352","mpalmer","At first blush, it is a really persuasive compromise between full-on LLM inference and boring old fuzzy history search! I really like it, this flavor of specialization gives the…",{"id":88,"by":89,"text":90},"49568361","gurjeet","I haven't evaluated it yet, but I love the fact that the output is (at least claimed to be) deterministic. I can't trust an LLM to do the right thing after I deploy it to…",{"id":92,"by":93,"text":94},"49571974","publlus_enigma","This is a cool project; I think it's wonderful that traditional NLP methods are being used, rather than reaching straight for an LLM. One significant advantage of not using a…",{"value":96,"source":81,"evidence":97},"Runs fast on CPU without LLM dependencies",[98,99],{"id":92,"by":93,"text":94},{"id":84,"by":85,"text":86},{"value":101,"source":81,"evidence":102},"Clever, simple idea applied in a novel way",[103,107],{"id":104,"by":105,"text":106},"49578502","_superposition_","I'll be the first to admit I burn too many tokens on the command line. Some form of LLM harness has been my new shell for the past 3+ years, they are much better at *sh then me,…",{"id":108,"by":109,"text":110},"49575286","asa123","This is such a cool project. I can’t wait to try it out.",[112,118],{"value":113,"source":47,"evidence":114},"Limited to predetermined responses, cannot generate text",[115],{"id":116,"by":11,"text":117},"49568401","Warp uses LLMs so it is slow and prone to hallucination. Using very colloquial terms TERMy is more or less a calculator that knows english :) so it can run on your CPU and…",{"value":119,"source":47,"evidence":120},"Sentiment analysis is only a gimmick that adds an emoji",[121],{"id":122,"by":11,"text":123},"49576209","Ciao, yes for now the sentiment analysis is used only to provide an emoji related to the response. In the future I would like also to influence the choices of adjectives and…",[125,140,151,158],{"value":126,"source":81,"evidence":127},"Fallback to an LLM for unseen or low-confidence queries",[128,132,136],{"id":129,"by":130,"text":131},"49570108","mbil","It's kind of antithetical to the tool's deterministic positioning, but have you considered making TERMy leverage an LLM for unseen or low-confidence queries, and then generate…",{"id":133,"by":134,"text":135},"49574731","paguasmar","I like the project. I see a lot of potential integrating it with LLM providers in an effort to lower token usage for repetitive tasks. Your solution becomes the \"main model\" and…",{"id":137,"by":138,"text":139},"49570617","dmos62","It would make sense to have this integrate with a self-learning routine for an agent: e.g. at night it looks through what it did and writes NPC-Forge recipes. Tomorrow it can…",{"value":141,"source":81,"evidence":142},"Support for coding tasks",[143,147],{"id":144,"by":145,"text":146},"49568335","vegnus","If you could get Termy to code, you'd be a rich man",{"id":148,"by":149,"text":150},"49574286","stefanka","That would be so amazing. Even if it just helped with repetitive or hard to remember patterns.",{"value":152,"source":81,"evidence":153},"Ask for approval before running potentially destructive commands",[154],{"id":155,"by":156,"text":157},"49576579","cyberclimb","is it supported to have it propose a command for approval rather than running autmatically? in the YT video it looks likw it ran the cpu temp command on its own love the…",{"value":159,"source":81,"evidence":160},"Find installed packages by task",[161],{"id":162,"by":163,"text":164},"49573228","zem","what I would love to see along those lines is something that can answer \"what packages do I have installed to do task $foo\"; I keep installing things that I use for one thing and…",[166,173,180],{"value":167,"source":81,"evidence":168},"Which dataset does step 5 rely on",[169],{"id":170,"by":171,"text":172},"49568509","utopiah","What dataset does step 5 rely on? Is it from your own terminal history, man pages, scrapped dataset from e.g. StackOverflow, sth else?",{"value":174,"source":81,"evidence":175},"How does it differ from Warp's AI mode",[176],{"id":177,"by":178,"text":179},"49568354","registereduser1","Cool project! How does it differ from warp terminals ai mode where you can ask it questions and it responds back",{"value":181,"source":81,"evidence":182},"Are there similar datasets for coding",[183],{"id":184,"by":149,"text":185},"49574322","Any similar data sets for coding?",[187,192,200,207],{"value":188,"source":81,"evidence":189},"Warp terminal AI mode",[190,191],{"id":177,"by":178,"text":179},{"id":116,"by":11,"text":117},{"value":193,"source":81,"evidence":194},"tldr \u002F tealdeer cheatsheets",[195,199],{"id":196,"by":197,"text":198},"49568990","indigodaddy","So is this kind of like a super-powered tealdeer ?",{"id":57,"by":58,"text":59},{"value":201,"source":81,"evidence":202},"nl2bash dataset",[203],{"id":204,"by":205,"text":206},"49569502","nateb2022","cf. https:\u002F\u002Fgithub.com\u002FTellinaTool\u002Fnl2bash paper: https:\u002F\u002Farxiv.org\u002Fabs\u002F1802.08979",{"value":208,"source":81,"evidence":209},"FunctionGemma and small LLMs",[210,214],{"id":211,"by":212,"text":213},"49568717","kouteiheika","> Models like ornith:9b, mistral:7b or cogito:14b can get the job done sometimes, but they are not fast and reliable enough for general use, specially if you have only 4GB of…",{"id":215,"by":216,"text":217},"49568989","coder543","FunctionGemma never worked well for me (without fine tuning). Liquid has released 230M and 350M models that work far, far better in my testing:…",{"comments":219,"answered":18,"key":220},10,[221,224,227],{"id":222,"text":223},"49569683","Thank you very much for the link. WOW! With that dataset the capabilities of TERMy could be vastly extended! Thank you.",{"id":225,"text":226},"49570175","This is such a nice idea! I could add a fallback towards LLMs, it was present but I removed it. Would you be interested to help me implement the auto-update? I must admit, the…",{"id":228,"text":229},"49571134","Yeah would be a nice experiment, if you are interested to contribute to NPC-Forge please open an issue, I would be happy to discuss about that.",{"commenters":231,"max_depth":18,"maker_replies":219,"first_comment_mins":232,"lifespan_hours":233},31,535,50,[235,237,239,241,243,245,246,247,249,252,253,255,256,257,258,259,262,265,268,270,273,276,279,283,284,287,288,291,292,294,298,300,303,306,307,309,311,314,317,319,321,322,324,325,328],[92,32,41,236,93,32],"project\u002Fpositive\u002Fdesign",[204,33,42,238,205,32],"project\u002Fneutral\u002Fidea",[222,33,32,240,11,33],"maker\u002Fpositive\u002Fidea",[184,33,42,242,149,32],"project\u002Fneutral\u002Fdocs",[129,244,42,238,130,32],2,[225,244,32,240,11,33],[137,42,42,238,138,32],[228,42,32,248,11,33],"maker\u002Fneutral\u002Fnone",[144,250,41,251,145,32],4,"project\u002Fpositive\u002Fidea",[148,250,41,251,149,32],[254,41,32,248,11,33],"49567975",[84,41,41,251,85,32],[177,41,42,238,178,32],[116,41,32,238,11,33],[88,41,41,251,89,32],[260,41,32,261,212,32],"49568744","commenter\u002Fneutral\u002Fnone",[263,41,32,261,264,32],"49569472","kennywinker",[266,41,32,261,267,32],"49569794","skeledrew",[269,41,32,261,264,32],"49571022",[271,41,32,261,272,32],"49569397","piterrro",[274,41,32,261,275,32],"49569554","jdiff",[277,41,32,261,278,32],"49569811","asQuirreL",[280,41,32,281,282,32],"49573970","other\u002Fneutral\u002Fnone","kzrdude",[170,41,42,242,171,32],[285,41,32,286,11,33],"49568526","maker\u002Fneutral\u002Fdocs",[211,41,42,238,212,32],[289,41,32,290,11,33],"49568789","commenter\u002Fcritical\u002Fidea",[215,41,32,281,216,32],[293,41,32,281,264,32],"49569521",[295,41,33,296,297,32],"49575063","project\u002Fcritical\u002Fdesign","tgv",[155,41,42,299,156,32],"project\u002Fneutral\u002Fdesign",[301,41,32,302,11,33],"49576607","maker\u002Fneutral\u002Fdesign",[304,18,42,299,305,32],"49572878","Alpha3031",[122,18,32,302,11,33],[104,308,41,251,105,32],7,[133,310,41,251,134,32],8,[312,38,42,238,313,32],"49574568","zserge",[315,219,41,251,316,32],"49585394","dsemakin",[196,318,42,238,197,32],11,[320,318,32,286,11,33],"49569208",[57,318,41,251,58,32],[323,318,41,251,197,32],"49580989",[162,31,42,238,163,32],[108,326,41,327,109,32],13,"project\u002Fpositive\u002Fnone",[329,330,41,327,331,32],"49575484",14,"stlahxm",[],[334,339,343,348,353,358],{"id":335,"name":336,"points":337,"category":338},"49567437","OpenTrailPaper",424,"hardware",{"id":340,"name":341,"points":342,"category":20},"49610059","Copperhead",250,{"id":344,"name":345,"points":346,"category":347},"49603546","Stuxnet",179,"security_privacy",{"id":349,"name":350,"points":351,"category":352},"49613068","LLM Attention Visualization",177,"ai",{"id":354,"name":355,"points":356,"category":357},"49623398","Fast Polynomials",139,"learning_science",{"id":359,"name":360,"points":361,"category":362},"49568162","Jigsaw Haiku",118,"games",false,"v2",{"id":366,"name":5,"line":6,"ai":363,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":367,"top":18,"kw":368,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":369,"url":9,"mix":370,"praise":80,"objection":113,"sub":21},49562219,0.4,[21,24,25,26,27],"5303303550530500000003030013030535305535",[31,31,32,33],1794036709397]