[HN Gopher] A hackable AI assistant using a single SQLite table ...
___________________________________________________________________
A hackable AI assistant using a single SQLite table and a handful
of cron jobs
Author : stevekrouse
Score : 429 points
Date : 2025-04-14 13:52 UTC (9 hours ago)
(HTM) web link (www.geoffreylitt.com)
(TXT) w3m dump (www.geoffreylitt.com)
| geonic wrote:
| Super fun project - love it!
| tossandthrow wrote:
| Here I thought they used the sqlite DB for next token prediction.
|
| For others: they use Claude.
| dogline wrote:
| This made me think: what if my little utility assistant program
| that I have, similar to your Stevens, had access to a mailbox?
|
| I've got a little utility program that I can tell to get the
| weather or run common commands unique to my system. It's handy,
| and I can even cron it to run things regularly, if I'd like.
|
| If it had its own email box, I can send it information, it could
| use AI to parse that info, and possibly send email back, or a new
| message. Now, I've got something really useful. It would parse
| the email, add it to whatever internal store it has, and delete
| the message, without screwing up my own email box.
|
| Thanks for the insight.
| mbil wrote:
| I've been thinking lately that email is a good interface for
| certain modes of AI assistant interaction, namely "research"
| tasks that are asynchronous and take a relatively long time.
| Email is universal, asynchronous, uses open standards, supports
| structured metadata, etc.
| criddell wrote:
| How does email support structured metadata? Are you talking
| about X headers?
| cess11 wrote:
| Maybe they're thinking of XML.
| sgc wrote:
| I have a couple companies that force me to send them data
| via email. They have an email template that you have to
| conform to, and they can parse it. Mainly just very
| rudimentary line breaks and 'LineItem: content' format. But
| json in the body should be fine as well. Given the way
| email programs strip or modify html at times, I would be
| leery of xml.
| bob1029 wrote:
| This is how I initially pitched an AI assistant in my last
| shop.
|
| It is a lot cheaper to leverage existing user interfaces &
| tools (i.e., Outlook) than it is to build new UIs and then
| train users on them.
| IanCal wrote:
| Also an email that comes back a minute later feels fast. A
| chat that types at the same speed feels slow.
| dkdcwashere wrote:
| yep went down a rabbit hole trying to build a company around
| this. it's the perfect UI
|
| text + attachments into the system, text + attachments out
| whartung wrote:
| Well, it's funny. This is essentially how I deal with many
| professionals in my life.
|
| My finance guy, tax attorney, other attorneys. Send emails,
| get emails, occasionally a blind status update from them.
|
| Sure, we have phone calls, sometimes get together for
| lunch.
|
| But mostly it's just emails.
| bob1029 wrote:
| > trying to build a company around this
|
| I am still very open to this one. An email-based,
| artificial coworker is so obviously the right way to
| penetrate virtually every B2B market in existence.
|
| I don't even really want to touch the technology aspects.
| Writing code that integrates with an LLM provider and a
| mailbox in E365 or Gmail is boring. The schema is a grand
| total of ten tables if we're being pedantic about things.
|
| Working with prospects and turning them into customers is a
| way more interesting problem. I hunger for tangible use
| cases that are actually compatible with this shiny new LLM
| tooling. We all know they're out there, and email is
| probably the lowest friction way to get them applied to
| most businesses.
| noosphr wrote:
| I've build adaptive agent swarms using email, mailing lists
| and ftp servers.
|
| If you don't need to have the lowest possible latency for
| your work and you're happy to have threads die then it's
| better than any bespoke solution you can build without an
| army of engineers to keep it chugging along.
|
| What's even better is that you can see all the context, and
| use the same command plane as the agents to tell them what
| they are doing wrong.
| overfeed wrote:
| Email is decent for intermural communication. If it's
| intramural and you control both the sender and receiver, MQTT
| or ntfy are likely better communication channels since they
| increase flexibility and lower complexity, IMO.
| throwanem wrote:
| Not if I want it able to have conversations with people,
| they don't.
|
| I could see installing or implementing a custom client if
| there were some functionality that'd enable, but "support a
| conversation among two speakers" is something computers
| have done since well before I was born. If the wheel fits,
| why reinvent it?
| overfeed wrote:
| If you're having conversations with people, then you _don
| 't_ control both ends and email is fine for that. Email
| is suboptimal for communicating between
| services/applications under your full control.
| throwanem wrote:
| Consider the use case from the article: this is a family
| management support or "AI butler" application. So I
| control the end with the LLM on it, which I administer -
| but not necessarily the other, which is anyone in my
| family, not just me. So unless I want to try to make
| everyone use my weird custom AI messaging app like I
| aspire to Bay Area thought-cult leadership, I'm going to
| meet people where they are and SMTP's cheaper than SMS.
|
| If I'm building myself a toy, then sure, I can implement
| whatever I want for a client, if that's where I get my
| jollies. React Native isn't _hard_ but it is often
| annoying, and the fun for me in this project would be all
| in the conversation with the agent per se. Whatever doesn
| 't get me to that as fast as possible is just getting in
| my way, you know?
|
| And too, if this does turn out to be something that
| actually works well for me, then I'm going to want to
| integrate it with my phone's voice assistant, and at that
| point an app is required anyway - but if I start with a
| protocol and an app that that assistant already knows how
| to interact with, then again I have an essentially free
| if admittedly very imperfect prototype.
| overfeed wrote:
| Under the hoods, is your AI butter one service or many?
| It would be not-great for your weather or family-event-
| calendar-management components to communicate with each
| other or the orchestrator via email.
|
| Receiving an email from the AI-butler rescheduling or
| relocating a planned outdoors family event because rain
| is expected would be excellent, using IMAP to wire-up the
| subcomponents together would not.
| throwanem wrote:
| Who suggested using email in the service layer? I mean,
| you're not wrong, but this feels like you handed me a
| banana and then said I should have picked a better
| hammer.
|
| We're talking about a conversation that has a human on at
| least one end, so email makes sense. For conversations
| involving no humans, of course there are much better
| stores and protocols if something like an asynchronous
| world-writable queue is what we want.
|
| "Number of humans in the conversation" wasn't the
| distinction you initially established, I believe, but I
| wonder if it's closer to the one you had in mind.
| WillAdams wrote:
| Ages ago, I proposed that the best CMS for a company would be
| one which used e-mail as the front-end:
|
| - all attachments are stripped out and stored on a server in an
| hierarchical structure based on sender/recipient/subject line
|
| - all discussions are archived based on similar criteria, and
| can be reviewed EDIT: and edited like to a wiki
| simonw wrote:
| My one concern there would be edits: a CMS needs to support
| easily making edits to content (fixing typos etc) - editing
| existing posts via email sounds like it would be pretty
| fiddly.
| WillAdams wrote:
| The idea is content comes in via e-mail, stored in some
| sort of tagged structure, then edited like a wiki.
| bambax wrote:
| Ha! I had the exact same idea! I still think it would be
| nice.
| maxmcd wrote:
| This project has a pattern just like that to handle the inbound
| USPS information:
|
| https://www.val.town/x/geoffreylitt/stevensDemo/code/importe...
|
| I think it would be pretty easy to extend to support other
| types of inbound email.
|
| Also I work for Val Town, happy to answer any questions.
| gklitt wrote:
| yeah i actually do handle inbound email! just forgot to
| include that code in the shared version. the telegram inbound
| handler shows the rough pattern.
| bambax wrote:
| Mailgun (and I'm sure many other services like it) can accept
| emails and POST their content to an url of your choice.
|
| I use that for journaling: I made a little system that sends me
| an email every day; I respond to it and the response is then
| sent to a page that stores it into a db.
| zackmorris wrote:
| +1 for Mailgun. My only gripe with it is that they detect and
| block bot activity on their frontend. So if you have end to
| end (e2e) integration tests built with something like
| Puppeteer, you can't have them log into Mailgun and check the
| inbox table's HTML to see that an email was sent. So you have
| to write some sort of plugin manually - perhaps as a testing
| endpoint on your website that only appears in debug mode -
| that interacts with their API.
|
| This might not seem like much of a big deal. But as we
| transition to more of these #nocode automated tools, the idea
| of having to know how programming works in order to interact
| with an API will start to seem archaic. I'd compare it to how
| esoteric the terminal looked after someone saw a GUI like the
| one used by Apple's Macintosh back in the 1980s.
|
| I looked forward to this day back in the early 2000s when
| APIs started arriving, but felt even then that something was
| fishy. I would have preferred that sites had a style-free
| request format that returned XML or even JSON generated from
| HTML, rather than having to use a separate API. I have this
| sense that the way we do it today with a split
| backend/frontend, distributed state, duplicated validation,
| etc has been a monumental waste of time.
| dogline wrote:
| > I use that for journaling: I made a little system that
| sends me an email every day; I respond to it and the response
| is then sent to a page that stores it into a db.
|
| Yes. I know note taking and journaling posts are frequent on
| HN, but I've thought that this is the best way to go, is
| universal from any client, and very expandable. It's just not
| generically scaleable for all users, but for the HN reader-
| types, it'd be perfect.
| kevinsync wrote:
| CloudMailin [0] is also great for parsing incoming email and
| doing stuff with it (ex. forward to a webhook / POST target,
| outbound capabilities, etc)
|
| I've found it to be very reliable with a detailed dashboard
| to track individual transactions, plus they give you 10,000
| emails a month for free.
|
| Not an employee, just a big fan!
|
| [0] https://www.cloudmailin.com
| spacecadet wrote:
| This was the attack vector of a AI CTF hosted by Microsoft last
| year. I built an agent to assess, structure, and perform the
| attacks autonomously and found that even with some common
| guardrails in place the system was vulnerable to data
| exfiltration. My agent was able to successfully complete 18 of
| the challenges... Here is the write up after the finals.
|
| https://msrc.microsoft.com/blog/2025/03/announcing-the-winne...
| loremm wrote:
| For gmail, there's also an amazing thing where you can hook it
| with pubsub. So now it's push not pull. Any server will get
| pubsub little webhooks for any change within milliseconds (you
| can filter server side or client side for specific filters)
|
| This is amazing, you can do all sorts of automations. You can
| feed it to an llm and have it immediately tag it (or archive
| it). For important emails (I have a specific label I add, where
| if the person responds, it's very important and I want to know
| immediately) you can hook into twilio and it calls me. Costs
| like 20 cents a month
| cosbgn wrote:
| Try https://unfetch.com (I've built it). It can handle both
| inbound and outbound emails
| sdsd wrote:
| I made an AI assistant telegram bot running on my Mac that runs
| commands for me. I'll tell it "Run ncdu in the root dir and
| tell me what's taking up all my disk space" or something and it
| converts that bash and runs it via os.system. It shows me the
| command it created, plus the output.
|
| Extremely insecure, but kinda fun.
|
| I turned it off because I'm not that crazy but I'm sure I could
| make a safer version of it.
| dogline wrote:
| *Update*: I tried writing a little Python code to read and
| write from a mailbox, reading worked great, but writing an
| email had the email disappear to some filter or spam or
| something somewhere. I've got to figure out where it went, but
| this is the warning that some people had about not trusting a
| messaging protocol (email in this case) when you can't control
| the servers. Messages can disappear.
|
| I read that [Mailgun](https://www.mailgun.com/) might improve
| this. Haven't tried it yet.
|
| Other alternatives for messages that I haven't tried. My
| requirement is to be able to send messages and send/receive on
| my mobile device. I do not want to write a mobile app.
|
| * [Telegram](https://telegram.org/) (OP's system) with
| [bots](https://core.telegram.org/bots)
|
| * [MQTT](https://mqtt.org/) with server
|
| * [Notify (ntfy.sh)](https://ntfy.sh/)
|
| * Email (ubiquitous) *
| [Mailgun](https://www.mailgun.com/) *
| [CloudMailin](https://www.cloudmailin.com/)
|
| Also, to [simonw](https://news.ycombinator.com/user?id=simonw)
| point, LLM calls are cheap now, especially with something as
| low tokens as this.
|
| And, links don't format in HN markdown. I did the work to
| include them, they're staying in.
| groseje wrote:
| This is the kind of pragmatic AI hack I want to see. It feels
| like sometimes we are forgetting why certain tooling even exists.
| To simplify things! No fancy vector DBs or complex architectures,
| just practical integration with existing data sources. Love it.
| Sphax wrote:
| This is really cool. How much would that cost in Claude API calls
| ?
| mdrzn wrote:
| You can use Gemini free API calls (limited quantity, but they
| are plenty)
| simonw wrote:
| The daily briefing prompt is here:
| https://www.val.town/x/geoffreylitt/stevensDemo/code/dailyBr...
|
| It's about 652 tokens according to
| https://tools.simonwillison.net/claude-token-counter - maybe
| double that once you add all of the context from the database
| table.
|
| 1200 input tokens and 200 output tokens for Claude 3.7 Sonnet
| costs 0.66 cents - that's around 2/3rd of a cent.
|
| LLM APIs are _so cheap_ these days.
| 0xbadcafebee wrote:
| Hmm, there's supposed to be a Tasks [reminders] feature in
| ChatGPT, but it's in beta (I don't have access to it). Whenever
| it gets released, you could make some kind of "router" that
| connects to different communication methods and connect that up
| to ChatGPT statefully, and you could just "speak"/type to ChatGPT
| from anywhere, and it would send you reminders. No need for all
| the extra logic, cron jobs, or SQLite table (ChatGPT has memory
| across chats).
| theptip wrote:
| This is fun! I think this sort of tooling is going to be very
| fertile ground for hackers over the next few years.
|
| Large swathes of the stack is commoditized OSS plumbing, and
| hosted inference is already cheap and easy.
|
| There are obvious security issues with plugging an agent into
| your email and calendar, but I think many will find it preferable
| to control the whole stack rather than ceding control to Apple or
| Google.
| ForOldHack wrote:
| So we can just send him self deleting emails to mine crypto for
| us? How convienent.
|
| "There are obivious security issues with plugging and agent
| into your email..." Isn't this how North Korea makes all their
| crypto happen?
| Workaccount2 wrote:
| Lately I have been experimenting with ways to work around the
| "context token sweet spot" of <20k tokens (or <50k with 2.5).
| Essentially doing manual "context compression", where the LLM
| works with a database to store things permanently according to a
| strict schema, summarizes it's current context when it starts to
| get out of the sweet spot (I'm mixed on whether it is best to do
| this continuously like a journal, or in retrospect like a closing
| summary), and then passes this to a new instance with fresh
| context.
|
| This works really effectively with thinking models, because the
| thinking eats up tons of context, but also produces very good
| "summary documents". So you can kind of reap the rewards of
| thinking without having to sacrifice that juicy sub 50k context.
| The database also provides a form of fallback, or RAG I suppose,
| for situations where the summary leaves out important details,
| but the model must also recognize this and go pull context from
| the DB.
|
| Right now I have been trying it to make essentially an inventory
| management/BOM optimization agent for a database of ~10k distinct
| parts/materials.
| jasonjmcghee wrote:
| I am excitedly waiting for the first company (guessing / hoping
| it'll be anthropic) to invest heavily in improvements to
| caching.
|
| The big ones that come to mind are cheap long term caching, and
| innovations in compaction, differential stuff - like is there a
| way to only use the parts of the cached input context we need?
| manmal wrote:
| Isn't a problem there that a cache would be model specific,
| where the cached items are only valid for exactly the same
| weights and inference engine? I think those are both heavily
| iterated on.
| simonw wrote:
| Prompt caches right now only last a few minutes - I believe
| they involve keeping a bunch of calculations in-memory,
| hence why for Gemini and Anthropic you get charged an
| initial fee for using the feature (to populate the cache),
| but then get a discount on prompts that use that cache.
| ww520 wrote:
| This is awesome. Keep things simple and direct.
|
| The background tasks can call mcp servers, to connect to more
| data sources and services. At least you don't have to write all
| the connectivities to them.
| paulnovacovici wrote:
| Curious, how come you decided to use a cloud solution instead of
| hosting this on a home server? I've recently bought a mini PC for
| small projects like this and have been loving being able to host
| with no cost associated to it. Albeit it's probably still
| incredibly cheap to use a IaaS or PaaS but still a barrier to
| entry for random projects I want to work on a weekend
| simonw wrote:
| Val Town has a free tier that's easily enough to run this
| project: https://www.val.town/pricing
|
| I'd use a hosted platform for this kind of thing myself,
| because then there's less for me to have to worry about. I have
| dozens of little systems running in GitHub Actions right now
| just to save me from having to maintain a machine with a
| crontab.
| lnenad wrote:
| > host with no cost associated to it
|
| Home server AI is orders of magnitude more costly than heavily
| subsidized cloud based ones for this use case unless you run
| toy models that might hallucinate meetings.
|
| edit: I now realize you're talking about the non-ai related
| functionality.
| cess11 wrote:
| "It's very useful for personal AI tools to have access to broader
| context from other information sources."
|
| How? This post shows nothing of the sort.
|
| "I've written before about how the endgame for AI-driven personal
| software isn't more app silos, it's small tools operating on a
| shared pool of context about our lives."
|
| Yes, probably, so now is the time to resist and refuse to open
| ourselves up to unprecedented degrees of vulnerability towards
| the state and corporations. Doing it voluntarily while it is
| still rather cheap is a bad idea.
| stunnAR wrote:
| This is probably naive and looking forward to a correction; isn't
| sending your info to Claude's API (or really any "AI API") is a
| violation of your safeguarded privacy data?
| jasonjmcghee wrote:
| Using AWS Bedrock is the choice I've seen made to eliminate
| this problem.
| simonw wrote:
| Only if you don't believe the AI vendors when they promise that
| they won't train on your data.
|
| (Or you don't trust them not to have security breaches that
| grant attackers access to logged data, which remains a genuine
| thread, albeit one that's true of any other cloud service.)
| ForOldHack wrote:
| I have an AI/bridge to sell you.
| simonw wrote:
| Believing vendors who tell you "we won't train on your
| data" is a _huge_ competitive advantage right now.
| redman25 wrote:
| You could always run your own server locally if you have a
| decent gpu. Some of the smaller LLMs are getting pretty good.
| eitland wrote:
| > It's rudimentary, but already more useful to me than Siri!
|
| For me, that is an extremely low barrier to cross.
|
| I find Siri useful for exactly two things at the moment: setting
| timers and calling people while I am driving.
|
| For these two things it is really useful, but even in these
| niches, when it comes to calling people, despite it having been
| around me for years now it insist on stupid things like telling
| me there is no Theres _a_ in my contacts when I ask it to call
| Theres _e_.
|
| That said what I really want is a reliable system I can trust
| with calendar acccess and that is possible to discuss with,
| ideally voice based.
| actionfromafar wrote:
| Clearly you need to make some slight spelling changes to your
| contacts... ;)
| jkestner wrote:
| I've had the same issues of decay. I used to be able to say
| "call Mom" but now it will call some kid's mom who I have in
| Contacts as "[some kid's] mom". What is the underlying
| architecture that simple heuristic things like this can get
| worse? Are they gradually slipping in AI?
| smusamashah wrote:
| Sorry for being pedantic, the title sounded like no LLM was being
| used and therefore was lot more intriguing. It uses Claude.
|
| > cron job which makes a call to the Claude API
| sunshine-o wrote:
| This is brilliant !
|
| I am wondering, how powerful the AI model need to be to power
| this app?
|
| Would a selfhosted Llama-3.2-1B, Qwen2.5-0.5B or Qwen2.5-1.5B on
| a phone be enough?
| didip wrote:
| So... I have a number of questions:
|
| 1. How did he tell Claude to "update" based on the notebook
| entries?
|
| 2. Won't he eventually ran out of context window?
|
| 3. Won't this be expensive when using hosted solutions? For just
| personal hacking, why not simply use ollama + your favorite
| model?
|
| 4. If one were to build this locally, can Vector DB similarity
| search or a hybrid combined with fulltext search be used to
| achieve this?
|
| I can totally imagine using pgai for the notebook logs feature
| and local ollama + deepseek for the inference.
|
| The email idea mentioned by other commenters is brilliant. But I
| don't think you need a new mailbox, just pull from Gmail and grep
| if sender and receiver is yourself (aka the self tag).
|
| Thank you for sharing, OP's project is something I have been
| thinking for a few months now.
| simonw wrote:
| > Won't he eventually ran out of context window?
|
| The "memories" table has a date column which is used to record
| the data when the information is relevant. The prompt can then
| be fed just information for today and the next few days - which
| will always be tiny.
|
| It's possible to save "memories" that are always included in
| the prompt, but even those will add up to not a lot of tokens
| over time.
|
| > Won't this be expensive when using hosted solutions?
|
| You may be under-estimating how _absurdly cheap_ hosted LLMs
| are these days. Most prompts against most models cost a
| fraction of a single cent, even for tens of thousands of
| tokens. Play around with my LLM pricing calculator for an
| illustration of that: https://tools.simonwillison.net/llm-
| prices
|
| > If one were to build this locally, can Vector DB similarity
| search or a hybrid combined with fulltext search be used to
| achieve this?
|
| Geoffrey's design is so simple it doesn't even need search -
| all it does is dump in context that's been stamped with a date,
| and there are so few tokens there's no need for FTS or vector
| search. If you wanted to build something more sophisticated you
| could absolutely use those. SQLite has surprisingly capable FTS
| built in and there are extensions like
| https://github.com/asg017/sqlite-vec for doing things with
| vectors.
| datadrivenangel wrote:
| SQLite + sqlite-vec/DuckDB for small agents is going to be a
| very powerful combination.
|
| Do we even need to think of these as agents, or will the
| agentic frameworks move towrads being a call_llm() sql
| function?
| jonahx wrote:
| Just want to say I appreciate your posts here on HN and on
| your blog about AI/LLMs.
| evacchi wrote:
| hah! this is great. I built something similar using mcp.run and a
| task
|
| - https://docs.mcp.run/tasks/tutorials/telegram-bot
|
| for memories (still not shown in this tutorial) I have created a
| pantry [0] and a servlet for it [1] and I modified the prompt so
| that it would first check if a conversation existed with the
| given chat id, and store the result there.
|
| The cool thing is that you can add any servlets on the registry
| and make your bot as capable as you want.
|
| [0] https://getpantry.cloud/ [1]
| https://www.mcp.run/evacchi/pantry
|
| Disclaimer: I work at Dylibso :o)
| jonahss wrote:
| I think the best part was the little video-game video of Stevens
| checking different datasets by walking around. Love it.
| larsonnn wrote:
| I argue that this kind of tools are fun to play but in the end is
| it really helpful? I start my day like every day and on work I
| just check the calendar. My private calendar has all Information
| i need. Where is the gap where an Assistent makes sense and where
| we are just complicating our lives?
| ilrwbwrkhv wrote:
| The AI assistant is the male equivalent of a beautifully
| organized notion board (female).
| runjake wrote:
| If it's not helpful don't use it.
|
| Personally, this appears to be extremely helpful for me,
| because instead of checking several different spots every day,
| I can get a coherent summary in one spot, tailored to me and my
| family. I'm literally checking the same things every day, down
| to USPS Informed Delivery. This seems to simplify what's
| already complicated, at least for my use cases.
|
| Is this niche? I don't know and I don't care. It looks useful
| _to me_. And the author, obviously, because they wrote it. That
| 's enough.
|
| I can't count the number of useful scripts and apps I've
| written that nobody else has used, yet I rely on them daily or
| nearly every day.
| kylecazar wrote:
| I like the idea of parsing USPS Informed Delivery emails (a lot
| of people I encounter still don't know that this service exists).
| Maybe I'll make something to alert me when my checks are finally
| arriving!
| jurgenaut23 wrote:
| Love it, such a nice idea coupled with a flawless execution. I
| think the future of AI looks a lot more like this than half-
| cooked agent implementations that plagues LinkedIn...
| simianwords wrote:
| I have built something similar that runs without a server. It
| required just a few lines in Apple shortcuts.
|
| TL;DR I made shortcuts that work on my Apple watch directly to
| record my voice, transcribe it and store my daily logs on a
| Notion DB.
|
| All you need are 1) a chatgpt API key and 2) a Notion account
| (free).
|
| - I made one shortcut in my iPhone to record my voice, use
| whisper model to transcribe it (done locally using a POST
| request) and send this transcription to my Notion database (again
| a POST request on shortcuts)
|
| - I made another shortcut that records my voice, transcribes and
| reads data from my Notion database to answer questions based on
| what exists in it. It puts all data from db into the context to
| answer -- costs a lot but simple and works well.
|
| The best part is -- this workflow works without my iPhone and
| directly on my Apple Watch. It uses POST requests internally so
| no need of hosting a server. And Notion API happens to be free
| for this kind of a use case.
|
| I like logging my day to day activities with just using Siri on
| my watch and possibly getting insights based on them. Honestly
| the whisper model is what makes it work because the accuracy is
| miles ahead of the local transcription model.
| kaonwarb wrote:
| Nice. Can you share?
| simianwords wrote:
| I'll plan to do it at some point -- at this moment I have
| hardcoded my credentials into the shortcut so it's a bit hard
| to share without tweaking. I didn't bother detailing it
| because its sort of simple. I think the idea is key here and
| anyone with a few hours to kill can get something working.
|
| On second thought -- apple shortcuts is really brittle. It
| breaks in non obvious ways and a lot can only be learned by
| trial and error lol
|
| Edit: I just wrote up something quick
| https://simianwords.bearblog.dev/how-i-use-my-apple-watch-
| to...
| hiatus wrote:
| Is there some way to git clone this? It appears to use git under
| the hood but doesn't offer a publicly accessible interface.
| drog wrote:
| I've been using my own telegram -> ai bot and its very
| interesting to see what others do with the similar interface.
|
| I have not thought about adding memory log of all current things
| and feeding it into the context I'll try it out.
|
| Mine is a simple stateless thing that captures messages, voice
| memos and creates task entries in my org mode file with
| actionable items. I only feed current date to the context.
|
| Its pretty amusing to see how it sometimes adds a little bit of
| its own personality to simple tasks, for example if one of my
| tasks are phrased as a question it will often try to answer the
| question in the task description.
| ajcp wrote:
| I'm a little confused as to the 16-bit game interface shown in
| the article. Is that just for illustration purposes in the
| article itself, or is there an actual UI you've built to
| represent Steven/Steven's world?
| alexchamberlain wrote:
| Towards the end of the article, the author implies it is real
| when they explain why they made it that way (TL;DR: A bit of
| fun)
| ajcp wrote:
| I just assumed he was talking about the actual database and
| LLM setup as the bit of fun :D
| simonw wrote:
| It's a real UI - the code for that is here:
| https://www.val.town/x/geoffreylitt/stevensDemo/code/dashboa...
| ajcp wrote:
| Thanks for the confirmation! I came across that but am
| unfamiliar with Val.town so wasn't sure of the repo structure
| I was looking through.
| OSDeveloper wrote:
| I think that projects like this are pretty smart, and I like
| little simple hacked-together things like this, most likely made
| in a weekend.
| triyambakam wrote:
| First:
|
| > I'll use fake data throughout this post, beacuse our actual
| updates contain private information
|
| but then later:
|
| > which makes a call to the Claude API
|
| I guess we have different ideas of privacy
| simonw wrote:
| What makes you think sending data to the Claude API is a breach
| of privacy? Do you not trust them when they say they won't look
| at or train on your data?
| triyambakam wrote:
| No I don't. Do you?
| simonw wrote:
| Yes. Trusting them is my competitive advantage.
|
| I've also been following Anthropic pretty closely for the
| last two years and I've seen no evidence that they would
| break their principles here and plenty of evidence of how
| far they go to respect the privacy of their users:
| https://simonwillison.net/2024/Dec/12/clio/
| triyambakam wrote:
| > Yes. Trusting them is my competitive advantage.
|
| I don't see what that is supposed to mean. What does that
| give you?
| simonw wrote:
| It gives me the ability to take advantage of the best
| available models without holding back for fear of them
| abusing my data.
|
| The alternative is either not using this stuff at all or
| restricting myself to the much less capable local models.
| IanCal wrote:
| Using an external service is very different from posting your
| details in a blog post.
| hwpythonner wrote:
| Very cool. I'm wondering if you've thought about memory pruning
| or summarization as usage grows?
|
| What do you think of this: instead of just deleting old entries,
| you could either do LRU (I guess Claude can help with it), or you
| could summarize the responses and store the summary back into the
| same table -- kind of like memory consolidation. That way raw
| data fades, but a compressed version sticks around. Might be a
| nice way to keep memory lightweight while preserving context.
| lnenad wrote:
| @stevekrouse FYI getGoogleCalendarEvents is not available.
| gklitt wrote:
| I just tried making it public, sorry!
| maCDzP wrote:
| This is awesome. I think I will play around with this idea using
| Apple shortcuts. I have a hunch you'll get really far just using
| shortcuts.
| squireboy wrote:
| " Initially, Stevens spoke with a dry tone, like you might expect
| from a generic Apple or Google product. But it turned out it was
| just more fun to have the assistant speak like a formal butler. "
|
| Honestly, saying way too little with way too much words (I
| already hate myself for it) is one of the biggest annoyances I
| have with LLM's in the personal assistant world. Until I'm rich
| and thus can spend the time having cute conversations and become
| friends with my voice assistant, I don't want J.A.R.V.I.S., I
| need LCARS. Am I alone in this?
| kswzzl wrote:
| I'm praying every day for TARS if I'm being honest.
| rossant wrote:
| Same, I want a bot as terse as I am.
| Hj8Rd2Qw wrote:
| Great example of simple engineering: one SQLite table, no fancy
| stacks or over-engineered solutions. I appreciate the focus on
| practical, immediate utility over chasing theoretical perfection.
| This is a refreshing reminder that building for actual use cases
| yields better results than architectural purity.
| sneak wrote:
| Telegram isn't end to end encrypted. Why would you use an
| insecure app to transmit private family information like this?
| emporas wrote:
| It reminds me of "Generative AI is just a phase. What's next is
| interactive AI."
|
| The more i think about it however, command line applications are
| about as interactive as a program can be.
|
| Let's say one is interested to find out which one of the
| following 7 next days is gonna rain and send it to a telegram
| bot. `weather_forecast --days 7 | grep rain` | send_telegram.
|
| The whole thing of off-loading everything to nondeterministic
| computation instead of the good ol determinism does seem strange
| to me. I am a huge fan though, of using non-deterministic
| computation for creating deterministic computation, i.e.
| programming.
|
| /As a side note, i have played chess against Ishiguro many times
| on lichess.
|
| [1]
| https://www.technologyreview.com/2023/09/15/1079624/deepmind...
| pmdr wrote:
| Well it's probably ahead of Apple Intelligence in usefulness and
| functionality. We should see more things like this.
| jredwards wrote:
| I've been kicking around idea for a similar open source project,
| with the caveats that:
|
| 1. I'd like the backend to be configured for any LLM the user
| might happen to have access to (be that the API for a paid
| service or something locally hosted on-prem).
|
| 2. I'm also wondering how feasible it is to hook it up to a
| touchscreen running on some hopped-up raspberry pi platform so
| that it can be interacted with like an Alexa device or any of the
| similar offerings from other companies. Ideally, that means voice
| controls as well, which are potentially another technical problem
| (OpenAI's API will accept an audio file, but for most other
| services you'd have to do voice to text before sending the prompt
| off to the API).
|
| 3. I'd like to make the integrations extensible. Calendar,
| weather, but maybe also homebridge, spotify, etc. I'm wondering
| if MCP servers are the right avenue for that.
|
| I don't have the bandwidth to commit a lot of time to a project
| like this right now, but if anyone else is charting in this
| direction I'd love to participate.
| panki27 wrote:
| You might want to take a look at SillyTavern. Supports multiple
| backends, accepts voice input, and has a plugin system.
| dostick wrote:
| I keep hearing about it, but never got to check out, the name
| suggests that it may be waste of time. Maybe it's a fantastic
| project but name lets it down?
| Arcuru wrote:
| I also want an OSS framework that lets me extend it with my own
| scripting/modules, and is focused around being an assistant for
| me and my family. There's a shared set of features (memory
| storage/retrieval, integrations to chat/email/etc interfaces,
| syncing to calendar/notion/etc, notifications) that should be
| put into an OSS framework that would be really powerful.
|
| I also don't have time to run such a thing but would be up for
| helping and giving money for it. I'm working on other things
| including a local-first decentralized database/object store
| that could be used as storage, similar to OrbitDB, though it's
| not yet usable.
|
| Mostly I've just been unhappy with having access to either a
| heavily constrained chat interface or having to create my own
| full Agent framework like the OP did.
| lazyeye wrote:
| A nice little project. I think you could probably do the same
| with N8N running on a raspberry pi.
|
| https://reddit.com/r/n8n
___________________________________________________________________
(page generated 2025-04-14 23:00 UTC)