Readit News logoReadit News
jimminyx commented on Show HN: NanoClaw – “Clawdbot” in 500 lines of TS with Apple container isolation   github.com/gavrielc/nanoc... · Posted by u/jimminyx
river_otter · 6 days ago
Great idea and name the danger here which I'll be interested to track is how do you keep this "nano"? Since it's built for you, you'll continue adding features i assume which over time will make this not very nano. I guess I'm wondering if there could be some small design tweaks of the repo that make this usable as a long term "fork the base and make it your own" concept
jimminyx · 5 days ago
I will keep the source code as a minimal implementation that has the core capabilities that made Clawdbot/OpenClaw useful: chat with it via messaging app (only one channel included out of the box), memory (minimal implementation that leverages CLAUDE.md and the filesystem), cron jobs, browser.

If I want to add additional capabilities for myself, I'll contribute them to the project as skills for claude code to modify the code base, rather than directly to the source. I actually want to reduce the size of the base implementation and have a PR open to strip out 300-400 LOC

jimminyx commented on Show HN: NanoClaw – “Clawdbot” in 500 lines of TS with Apple container isolation   github.com/gavrielc/nanoc... · Posted by u/jimminyx
srinath693 · 5 days ago
The "skills not features" contribution model is the most interesting part of this. Instead of a project that grows into another 52-module beast, contributors teach Claude how to transform the codebase per-user. It's basically contributing build instructions instead of build artifacts. If it actually works in practice, it's a genuinely novel approach to keeping small projects small.
jimminyx · 5 days ago
Thanks! I believe that's where software is going. Just need Karpathy to give it a name so it can take off ;)
jimminyx commented on Show HN: NanoClaw – “Clawdbot” in 500 lines of TS with Apple container isolation   github.com/gavrielc/nanoc... · Posted by u/jimminyx
pulkas · 6 days ago
This violates the Claude Code subscription terms of service, so please be careful.

This project violates Claude Code's Terms of Service by automating Claude to create an unattended chatbot service that responds to third-party messaging platforms (WhatsApp, and what you add ...).

  The exact issues:

  1. Automated, unattended usage - The system runs as a background service (launchd) that automatically responds to WhatsApp
  messages without human intervention (src/index.ts:549-574)

  2. Building a bot service - This creates a persistent bot that monitors messages and responds automatically, which violates restrictions on building derivative services on top of Claude

  3. Third-party platform integration - Connecting Claude to WhatsApp (or other messaging platforms) to create an automated
  assistant service isn't an authorized use case.

  The README itself reveals awareness of this issue at line 41:

  **No ToS gray areas.** Because it uses Claude Agent SDK natively with no hacks or workarounds, using your subscription with your auth token is completely legitimate (I think). No risk of being shut down for terms of service violations
  (I am not a lawyer).

  The defensive tone ("I think", "I am not a lawyer") indicates uncertainty about legitimacy. While using your own credentials doesn't automatically make automated bot services compliant—Anthropic's TOS restricts using their products to build automated chatbot services, regardless of authentication method.

  The core violation: transforming Claude Code into an automated bot service that operates without human intervention, which is explicitly prohibited.

jimminyx · 6 days ago
Interesting. Again, not a lawyer, but all of this is a bit murky and not sure it applies.

1. Usage is not automated and unattended - it only responds to messages that are sent to it with a specific prefix "Andy:"

2. This is not a bot service. It is not crawling twitter and responding to posts. Hard to see how sending it messages through WhatsApp is any different than through ssh via the terminal

3. I don't think a custom piece of software running on my computer that pipes data from a program into the Agents SDK is a third party "platform" integration.

How is this different from running Agents SDK as part of a CI process?

jimminyx commented on Show HN: NanoClaw – “Clawdbot” in 500 lines of TS with Apple container isolation   github.com/gavrielc/nanoc... · Posted by u/jimminyx
dceddia · 6 days ago
This look nice! I was curious about being allowed to use a Claude Pro/Max subscription vs an API key, since there's been so much buzz about that lately, so I went looking for a solid answer.

Thankfully the official Agent SDK Quickstart guide says that you can: https://platform.claude.com/docs/en/agent-sdk/quickstart

In particular, this bit:

"After installing Claude Code onto your machine, run claude in your terminal and follow the prompts to authenticate. The SDK will use this authentication automatically."

jimminyx · 6 days ago
OP here. Yes! This was a big motivation for me to try and build this. Nervous Anthropic is gonna shut down my account for using Clawdbot.

This project uses the Agents SDK so it should be kosher in regards to terms of service. I couldn't figure out how to get the SDK running inside the containers to properly use the authenticated session from the host machine so I went with a hacky way of injecting the oauth token into the container environment. It still should be above board for TOS but it's the one security flaw that I know about (malicious person in a WhatsApp group with you can prompt inject the agent to share the oauth key).

If anyone can help out with getting the authenticated session to work properly with the agents running in containers it would be much appreciated.

jimminyx commented on Show HN: NanoClaw – “Clawdbot” in 500 lines of TS with Apple container isolation   github.com/gavrielc/nanoc... · Posted by u/jimminyx
hebejebelus · 6 days ago
I think these days if I’m going to be actively promoting code I’ve created (with Claude, no shade for that), I’ll make sure to write the documentation, or at the very least the readme, by hand. The smell of LLM from the docs of any project puts me off even when I like the idea of the project itself, as in this case. It’s hard to describe why - maybe it feels like if you care enough to promote it, you should care to try and actually communicate, person to person, to the human being promoted at. Dunno, just my 2c and maybe just my own preference. I’d rather read a typo-ridden five line readme explaining the problem the code is there to solve for you and me,the humans, not dozens of lines of perfectly penned marketing with just the right number of emoji. We all know how easy it is to write code these days. Maybe use some of that extra time to communicate with the humans. I dunno.

Edit: I see you, making edits to the readme to make it sound more human-written since I commented ;) https://github.com/gavrielc/nanoclaw/commit/40d41542d2f335a0...

jimminyx · 6 days ago
OP here. Appreciate your perspective but I don't really accept the framing, which feels like it's implying that I've been caught out for writing and coding with AI.

I don't make any attempt to hide it. Nearly every commit message says "Co-Authored-By: Claude Opus 4.5". You correctly pointed out that there were some AI smells in the writing, so I removed them, just like I correct typos, and the writing is now better.

I don't care deeply about this code. It's not a masterpiece. It's functional code that is very useful to me. I'm sharing it because I think it can be useful to other people. Not as production code but as a reference or starting point they can use to build (collaboratively with claude code) functional custom software for themselves.

I spent a weekend giving instructions to coding agents to build this. I put time and effort into the architecture, especially in relation to security. I chose to post while it's still rough because I need to close out my work on it for now - can't keep going down this rabbit hole the whole week :) I hope it will be useful to others.

BTW, I know the readme irked you but if you read it I promise it will make a lot more sense where this project is coming from ;)

jimminyx commented on Show HN: NanoClaw – “Clawdbot” in 500 lines of TS with Apple container isolation   github.com/gavrielc/nanoc... · Posted by u/jimminyx
avaer · 6 days ago

  Quick Start
  git clone https://github.com/anthropics/nanoclaw.git
Is this an official Anthropic project? Because that repo doesn't exist.

Or is this just so hastily thrown together that the Quick Start is a hallucination?

That's not a facetious question, given this project's declared raison d'etre is security and the subtle implication that OpenClaw is an insecure unreviewed pile of slop.

jimminyx · 6 days ago
Fixed, thanks. Claude Code likes to insert itself and anthropic everywhere.

If it somehow wasn't abundantly clear: this is a vibe coded weekend project by a single developer (me).

It's rough around the edges but it fits my needs (talking with claude code that's mounted on my obsidian vault and easily scheduling cron jobs through whatsapp). And I feel a lot better running this than a +350k LOC project that I can't even begin to wrap my head around how it works.

This is not supposed to be something other people run as is, but hopefully a solid starting point for creating your own custom setup.

u/jimminyx

KarmaCake day390November 2, 2024
About
https://x.com/Gavriel_Cohen
View Original