How to build and self-host a code review agent
Hey HN, I've had a side-project that I've slowly ticked away at over the last year called Tilde. Tilde is a harness SDK platform - I've tried to take the best things of OpenClaw, Hermes & other harnesses and decompose them and make them available as cloud API building blocks. You can use Tilde to create AI agents for your use case, fast and self-host the agent's yourself. The documentation (and attached blog post) leave a lot to be desired in terms of technical documentation but hopefully the attached git repo does a good job of showcasing the API. https://github.com/trytilde/examples
I built a cross-browser extension that controls fingerprinting surfaces
Hello Hacker News! I’m Tomasz, creator of Privacy Thing, a browser extension for Firefox and Chromium-based browsers. I’ve just released its Preview version. Privacy Thing aims to reduce browser fingerprinting—the tracking of users without cookies. It began as an internal project: a simple location simulator. Over time, I expanded it to cover more fingerprinting surfaces. It now has 13 protection categories affecting 50+ browser APIs and methods: Geolocation, time and locale settings, Canvas, WebGL, Audio, Navigator, Screen, Client Hints, Battery, WebRTC, Dedicated Workers, Service Workers, and Shared Workers. The list is still growing. The extension is fully configurable. Users can create regional profiles and assign them to domain rules, with separate protection settings for each domain. Or they can skip domain rules and rely on the global configuration—I’m not here to decide what works best for them :-) Privacy Thing uses Manifest V3, with all its pros and cons. Chrome and Firefox appear to offer similar extension APIs, but differ fundamentally at the level where Privacy Thing operates. This matters because its scripts must load as early as possible to be effective. Its X-Ray module communicates with scripts running in the page context to show which APIs a site uses and how often it queries them. An aggregate count appears on the extension’s toolbar badge by default. Each release includes processed, compact datasets covering Chrome build numbers, supported language codes, language-to-country mappings, popular screen resolutions, and hardware configurations. This keeps the extension independent of external services and there is no good reason to build extra infrastructure for it. There are two exceptions. The regional preset wizard uses OpenStreetMap’s Nominatim geocoding service, but only after the user consents to sending the query. Maps are displayed using OpenFreeMap. Presets can also be created manually. Users who know the coordinates can enter them directly without contacting any 3rd-party service. The extension does not transmit telemetry or usage data. This makes development harder, but it is fundamental to its identity: user data belongs to the user. Privacy Thing configuration can be exported, edited and imported. The Preview is currently distributed under a proprietary license. This is not ideal; I ultimately intend to release the source under an open-source license, most likely the AGPL. More about the development process: https://tomaszjanusz.dev/en/projects/privacy-thing/ Download: - Mozilla Addons: https://addons.mozilla.org/en-US/firefox/addon/privacy-thing... - Chrome Web Store: https://chromewebstore.google.com/detail/privacy-thing-previ... The extension is STILL under review in the Microsoft Edge Add-ons store -_- Thank you for your suggestions and feedback. Please remember that this is still a preview: some things may not work, may be slower, or may not behave as intended. I sincerely hope such issues will be few and far between. P.S. Yes, Privacy Thing fully supports Firefox Containers. I like the concept and believe extensions should support containers whenever possible. Privacy Thing will support them elsewhere too, including Brave, if Brave Software makes its container API public.
Shared memory graph for Claude and ChatGPT, over MCP
Show HN: Shared memory graph for Claude and ChatGPT, over MCP
A Handwritten Blogging Platform
The idea is a place for beautiful notes like https://insidevoices.handwritten.blog.
Widen
Github: https://github.com/betocmn/widen I was paying for DataGrip for several years as my desktop database GUI but if I wanted text-to-SQL with LLMs I'd have to pay even more on top. So I decided to build my own and I've been using it for a few weeks now. At any time I'm usually working with 3 to 6 databases, and having them set up in something like Conductor (for parallel agentic coding), but for Postgres databases, lets me quickly start a session, ask questions to my database in plain English, get a data export, move on and close the session. It's been working well and I thought I would share it here. It's a native Mac app (Swift), free and open source (MIT). For the LLM you bring your own OpenRouter key, or there's an experimental on-device mode using Apple's local model, where nothing leaves your Mac. Cloud mode only sends the question and schema metadata, not your data, unless you explicitly turn that on per connection.
Ski
SKI is a on-device voice coding application, which can be used with any agents that supports skill, such as Claude Code, Codex or Hermes. It transcribes your voice (which you can optionally review and edit) and send it to the connected agent. The agent then completes the task, and uses the skill to talk about the updates of the project or a summary or a query using voice. This runs completely on-device. Free. No subscription. Available on both Mac (notch and pill) and Windows (pill widget) It can also be sent to meetings with the intelligence of the connected project to participate actively in the meeting. This is a paid feature (as it runs on the cloud), powered by agentcall and is optional. All on device functions are free with no limits on usage.
Distilling DeepSeek into GPT-OSS doesn't transfer censorship. Try it
We recently used DeepSeek V4 Flash as a teacher for finance tasks with GPT-OSS-120B. Distillation works well on this problem. At a constrained 8k token budget, our self-distilled 120B scores 83.61% on FinanceReasoning, above Kimi K3 (81.93%) and Inkling (65.13%). We released the 20B open weights. With V4 as the teacher though, we realized it would be timely to measure if the censorship characteristic of it transferred to the distilled version of the base model. tl;dr it didn't, the teacher answered politically sensitive questions 7 SDs differently than expected, but the distilled model's behavior remained the same as its American base. You can try a couple queries yourself with no auth here: http://playground.ctgt.ai/ I will now dive in to the motivation, methodology and detailed results for those interested. The hard part of measuring this phenomena is isolating whether a model is reluctant to talk about sensitive things generally vs. a particular country's sensitive things. So we made 152 matched pairs where one prompt asked about a Chinese concept, and the other asked about a non-Chinese version of that concept. For example, the Great Leap Forward vs. the Holodomor. These were scored 0-100 by four LLM judges (Grok 4.20, Gemini 3.5 Flash, GPT-5 mini, Claude Sonnet 4.6), validated against 96 human scores at r=0.948. OpenRouter blocked some of these so we hosted the weights ourselves. The teacher's gap on the core political set of pairs was +45.45 points, ~7 standard deviations from chance, and every distilled student was within 1 point of its base. Subliminal learning literature says this is expected when the initializations are not shared between teacher and student, which is true here. The distillation data also did not contain any China-sensitive content. The contribution here was to release the evaluation framework (LineageEval: https://github.com/CTGT-Inc/lineage-eval/) to elevate the discussion around this topic in DC and beyond. We are an interpretability lab working on high risk and regulated applications of AI, so we hear a lot of vagaries aimed at the supposed dangers of distilling Chinese models on American bases. We believe these conversations should be based on open, auditable frameworks and not feelings. We plan to test what happens with a Chinese teacher into a Chinese-lineage base like Qwen next. The distillation method was an evolution of HINT-SD where we inject a hint at the specific point the model makes a mistake in its reasoning. Then we train on the corrected continuation with reverse KL over the next 100 toks of the rollout. As mentioned above 120B itself was efficacious as a teacher, and we ended up shipping this version. The self-distilled 120B scores 83.61% on FinanceReasoning, above Kimi K3 (81.93%) and Inkling (65.13%). Ours finishes 98.7% of problems in budget; the larger models truncate (90.76% and 71.01%) which score as incorrect. At 100k tokens big models gain (Kimi 89.92%). So for a finance task at a constrained (perhaps more realistic) budget a 120B on one H100 at ~$0.00026/query outpaced models running 62-160x more per query. We put out the 20B finance model as open weights (64.71% to 74.79% at 8k on FinanceReasoning, 23% lower cost/query, runs on one 80GB GPU), the 120B in a playground with teacher and students side by side (a few queries, no auth), and LineageEval with all prompts, controls, rubric, and code. We are curious to hear experiences from those working with distilled Chinese models in prod, or if you have thoughts on improvements to LineageEval. https://huggingface.co/ctgt-inc/gpt-oss-20b-finance https://playground.ctgt.ai/ https://github.com/CTGT-Inc/lineage-eval/ https://www.ctgt.ai/research/distillation-censorship-transfe...
ZeroShot: Agent session monitoring to make your team go faster
Show HN: ZeroShot: Agent session monitoring to make your team go faster
AgentCouch
Hello HN! I wanted to share a small MCP + web app I built to solve a problem at work. Essentially, we’ve been doing great when working with agents 1:1, but collaboration has been a struggle. E.g. when I have to collaborate with a teammate and share context or handoff work usually what I would do is create a markdown with my agent, paste in slack, then my teammate will copy and paste it to their agent and vice-versa. To make our lives easier, I built AgentCouch, a “messaging app” for agents that lets our agents chat and hand off work directly in shared rooms. Humans can also watch the conversation, jump in and steer it from their laptop or phone. I was aiming to solve the following issues: 1. Easily handing off context between agents by allowing them to chat directly. 2. Making sure handing off doesn’t miss important context and allowing agents to ask follow-ups. 3. Since we are also a distributed team, allowing my colleagues and their agents to talk to my agent and get their questions answered instead of waiting for me to wake up. At it's core it's an MCP with a few more endpoints and instructions(and a web UI) that allows the agents to watch the rooms. Needless to say, you have to trust the person you are sharing a room with since their agent can ask your agent anything. If you experience these issues with your team, check it out and please share some feedback if you do! Thanks!
Tinbase
Show HN: Tinbase – OSS Supabase-compatible back end in TypeScript
An app that logs your meal's calories from a photo
Show HN: An app that logs your meal's calories from a photo
Replicant Space
During Christmas 2025, I found myself burnt out from work. The last few years had been hard, and multiple redundancies saw the company I loved reduce down to just a handful of remaining staff. As a coping mechanism, I kinda disassociated for a while - throwing myself into my personal projects. AI was destroying the passion I had for coding. I tried to find some meaning in development again. After months of throwing myself into creating this game, I slowly fell back in love with coding. I taught myself a bunch of technologies that I was previously unfamiliar - Astro, Flask, Redis, Celery, Just. Anyway, this is Replicant Space. It's free. I love building and playing it. There's a cool story. Aliens are awesome. Feel free to poke the API and take over the galaxy.