Skip to content

alexboden/occam-claw

Repository files navigation

occam-claw

A minimal personal AI assistant that runs on Signal. Inspired by Occam's razor, read more in the blog post

What it does

Message yourself on Signal and get AI-powered responses. The bot can:

  • Manage your Google Calendar — list, create, and update events
  • Maintain conversation threads — reply to a bot message to continue the conversation
  • Search the web via DuckDuckGo

See SETUP.md for installation and configuration.

Project structure

occam.py           # main entry point, message handler, tool executor
llm.py             # Claude via Bedrock (invoke_model), tool-use loop
store.py           # JSONL conversation persistence + thread mapping
channels/
  signal.py        # signal-cli-rest-api websocket + HTTP
  cli.py           # stdin/stdout for local testing
tools/
  general.py       # web search (DuckDuckGo), current datetime
  calendar.py      # Google Calendar list/create/update

Swapping LLMs

Edit llm.py. The LLM class exposes one method: complete(messages, tool_executor) -> str.

Security

  • Should run on your Tailscale network
  • signal-api binds to 127.0.0.1 only
  • Only responds to your own messages to yourself
  • Credentials and thread data stored in data/
  • You can read all the code yourself

About

Simple Personal OpenClaw

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors