I'd like a very fully offline chat bot app, that isn't called "AI" - Project Cackermander

A proposal for a fully offline, privacy-focused chat-bot app for Android and Linux that never markets itself as “AI.”
I'd like a very fully offline chat bot app, that isn't called "AI" - Project Cackermander

My next proposal for bounties.monero.social -

# Project Cackermander

Cackermander is just a placeholder name, chosen from a dictionary - you can keep it or change it. I've asked several offline chat bots what they think it means, and they each gave different answers (which all contradicted the dictionary).

Goal: A fully offline LLM chat bot app that doesn't advertise itself as "AI"

Monero connection: None, more general privacy tech related, but maybe a nice thing for the Monero community to have

## Requirements

  • User-friendly LLM chat bot GUI
  • Android .apk + desktop Linux .AppImage + build-from-source availability
  • Fully offline, no network permissions (not partly offline, like many others)
  • Optional: support other platforms
  • In the app and any official project website or similar, use terms like "chat bot" or "LLM" or "so-called AI," don't call it a straight-up "AI" (with limited exceptions)
  • If you change the name from "Cackermander," just don't change it to a common real-world-human name like "Hal"
  • Warn users before downloading and on first startup (all of this can be rephrased but mention the key points)
  • the app acts as a frontend for ease-of-use to run existing chat bots
  • it isn't created by the creators of the LLM backends (unless you're an LLM creator)
  • and these chat bots can have issues like sometimes seeming oddly fixated on being called "AI" (unless you're bundling an LLM with no issues, or at least no tendency to call itself AI)
  • Try to discourage the chat bot from calling itself an AI, while it is understood that you might not be able to prevent it
  • Add a lot of code comments
  • Give testers some time to gauge real-world system spec requirements (RAM etc), and include the findings on the project webpage / git readme
  • It should be so offline, the app cannot even download its own models; the user has to download them manually and separately (unless an LLM can be bundled with the app itself)
  • Simple guide available for obtaining and loading models
  • Try to meet the criteria to avoid being "marked as unsafe" in Gnome Software, if possible
  • Optional: make the app so extremely offline, it can't even give you a web link to open stuff like documentation separately in your web browser; you just copy and paste any URL you need
  • Optional: in order to avoid association with platform-specific "AI" features, consider avoiding GitHub for the project repo, possibly using a less centralized git solution e.g. Radicle
  • ## Licensing

    Project submissions on bounties.monero.social must be open-source.

    I think the coolest license for this project might be public domain; but the funniest choice is probably AGPL, so that's my suggestion. (Not a requirement)

    ## Other existing software

    You're free to fork existing open-source projects, like [PocketPal](Jan(Alpaca(https://gothub.r4fo.com/Jeffser/Alpaca) on desktop. You'd just have to remove any internet connection and "AI" mentions. You could even use both, although it might be awkward to have the Android and desktop version be 2 different forks.

    Jan is already working on Android support, so if you're doing a fork, waiting for that might be a good choice. It's not even the only desktop option, though. Other options like Alpaca might be better.

    If you submit a fork, I imagine there might be an additional testing/research period for the community to ensure it's been done thoroughly, before the bounty payout is delivered.

    Previous examples should also give you some idea of how much stability / usability you can reasonably achieve. In my experience, PocketPal and other Android equivalents are somewhat experimental, not entirely stable - but at least usable. Desktop apps, like Jan, are generally considered more stable on devices with enough memory (0.7.3 wouldn't open on Linux for me, but 0.7.4 fixed it).

    ## "Really fully offline? Why?"

    Built-in model downloads can make an app like this a "one stop shop," and it could have opt-in user data collection over nostr or something, to help support future LLM improvements. I would prefer an app with those features over the fully offline app I'm proposing.

    The LLM itself would still run "fully offline" - does the whole app need to?

    If I ask a chat bot today for a "fully offline AI app," it might repeatedly give me links to apps with online features.

    If I add "that can't connect to the internet at all," and make it clear I don't just mean the LLM part, the result might not change.

    However, if it would recommend this so-called "cackermander," that would be a truly fully offline answer.

    This chat bot app tries not to call itself "AI." But beyond that, it also tries to avoid letting another chat bot, or a search engine, lie to users about "how offline it is."

    Still, for most users, like me, the offline-only status will probably be an afterthought to the goal of reducing "AI" mentions.

    If you keep updating the app after the bounty payout, it's fine for the fully offline version to become "the old version." You're free to develop separate versions with whatever features you want, alongside or after completing the bounty. There might also be a follow-up bounty that includes such additions.

    ## "Isn't it AI, just not AGI?"

    That's up to you. The bullet-point requirement list makes the "no AI" parts sound more absolute than they are.

    Some people think chat bots count as "AI but not [AGI](https://en.wikipedia.org/wiki/Artificialgeneralintelligence)." Some people think the term "AI" should be defined as what "AGI" is, instead of having separate terms. And people also disagree on whether chat bots have any true "intelligence."

    Me personally, I simply try to avoid the term because, to people unaware of terms like "AGI," the term "AI" can suggest more capability than chat bots really have. A dev might not agree with me, they could have different reasons for taking this project.

    You can recognize chat bots as a form of artificial intelligence somewhere fitting like an "about" section. You're also free to offer any or no explanation of why you might choose to avoid the term.

    You have freedom of speech as an individual, and remember the project goal's exact words: doesn't advertise itself as "AI."

    It's not a problem if you call your app "AI" in social media or day to day life. It's also fine if you can't stop an in-app chat bot from calling itself that. We're just trying not to have the app brand itself as "AI," or advertise it as a feature.

    Advice: if you do this right, you as a dev can potentially carve out an important role in helping the general public understand when "AI" is (or isn't) "fully baked."

    Users might watch carefully to see if you ever gradually start using the term "AI" more, or suddenly one day announce "this is it, the latest thing is real AI." Different groups will probably react to each choice differently. Making such choices carefully could prove quite fruitful.


    Attached image was generated on a phone with WiFi turned off.


    No comments yet.