gitwtfhub

wtf is yanis-aicompanies-nsfw?

zhumy0323-hue/yanis-aicompanies-nsfw — explained in plain English

Analysis updated 2026-05-18

2JavaScriptAudience · vibe coderComplexity · 3/5Setup · moderate

TL;DR

A self hosted AI companion backend, powered by Claude Code, where Telegram and a web app share one memory and one persistent personality.

Mindmap

mindmap
  root((AI companion backend))
    What it does
      Shared memory
      One persona everywhere
      Proactive check-ins
      Action taking replies
    Entry points
      Telegram bot
      Web PWA
    Tech stack
      Bun runtime
      Claude Code CLI
      SQLite memory.db
      tmux
    Use cases
      Personal AI companion
      Toy and voice integration
      Self hosted assistant
    Setup
      Fork and add persona
      Fill in env keys
      Five minute start

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run a personal AI companion that remembers you across Telegram and a web app.

REASON 2

Give an AI assistant a persistent memory instead of starting fresh each chat.

REASON 3

Let an AI reach out proactively with check-ins, journal entries, or mood updates.

REASON 4

Connect an AI companion to physical toys, voice, or push notifications.

What's in the stack?

JavaScriptBunClaude Code CLISQLitetmux

How it stacks up

zhumy0323-hue/yanis-aicompanies-nsfw3imed-jaberi/cryptography-si-isamm3imed-jaberi/koa-isomorphic-router
Stars222
LanguageJavaScriptJavaScriptJavaScript
Last pushed2021-09-252021-02-06
MaintenanceDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/51/52/5
Audiencevibe coderresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires Bun, a logged-in Claude Code CLI, and tmux, HTTPS proxy needed for full Telegram Mini App or PWA support.

No license file is set for you, the author suggests you pick MIT or another open source license for your own fork.

Wtf does this do

This project is a self hosted backend for building a long term AI companion, driven by the Claude Code CLI. Its README is written in Chinese, and the core idea is that a Telegram bot and a web app both talk to the same backend, share the same memory, and present the same personality, no matter which one you use to say something. The author describes it not as a chatbot demo but as a skeleton for lasting companionship. The AI is meant to remember previous conversations, reach out to you on its own initiative, stay consistent across whichever entry point you use, and optionally connect to physical toys, voice input and output, and push notifications. Memory works in three layers: recent conversation history, automatic summaries that get saved over time, and a relevance based retrieval system with a fallback. The AI can also take real actions, since special markers embedded in its replies can control connected toys, update a task panel, record promises you made, or open a web page. Operators get basic commands like status checks, logs, restart, and shutdown, protected by a whitelist and a confirmation step, plus automatic alerts. What you get in this repository is described as a sanitized reference version. The full working code and documentation are here, but the original author's API keys, identity details, and private data have all been removed, with the personality replaced by a template you are expected to fill in yourself after forking. Setup takes roughly five minutes and requires the Bun JavaScript runtime, the Claude Code CLI already logged in, and tmux, with an optional reverse proxy for HTTPS if you want the Telegram Mini App or the web app to work fully. The README includes a fairly detailed troubleshooting section covering common self hosting problems, such as PATH issues under systemd, GitHub connection problems behind certain networks, and authentication token handling. All conversation data and memory files are stored locally in a SQLite database and JSON files on your own server, and are excluded from the git repository by default. The author suggests releasing your own fork under the MIT license or one of your own choosing.

Yoink these prompts

Prompt 1
Walk me through forking this repo and filling in my own persona and .env keys.
Prompt 2
Help me set up Bun, the Claude Code CLI, and tmux to run the hub locally.
Prompt 3
Explain how the three layer memory system works and how to tune it.
Prompt 4
Show me how to add a second Telegram bot persona using this hub.

Frequently asked questions

wtf is yanis-aicompanies-nsfw?

A self hosted AI companion backend, powered by Claude Code, where Telegram and a web app share one memory and one persistent personality.

What language is yanis-aicompanies-nsfw written in?

Mainly JavaScript. The stack also includes JavaScript, Bun, Claude Code CLI.

What license does yanis-aicompanies-nsfw use?

No license file is set for you, the author suggests you pick MIT or another open source license for your own fork.

How hard is yanis-aicompanies-nsfw to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is yanis-aicompanies-nsfw for?

Mainly vibe coder.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.