How I Built an AI Assistant on My Home Server (And Survived Auth Hell)

Why Bother?

I’m a manager/team lead/product owner at a major network and cybersecurity company. My days are a juggling act: Jira boards, Gmail inboxes, Google Drive docs, SharePoint migrations, and IATF audit preparations — plus a private land development project that involves 22 Google Drive files, bank negotiations, and demolition planning.

At some point, I thought: what if something could handle the routine stuff while I sleep?

Not another chatbot. Something with access to my tools, my context, my projects — and the ability to act independently. That’s how Kalcifer was born.

What Is OpenClaw?

OpenClaw is a framework for building AI assistants that run on your hardware. You connect AI models (Claude, Grok, Gemini), communication channels (Telegram, Discord), and tools (browser, shell, file system). The result is an agent that lives 24/7 on your server.

The key difference from ChatGPT: OpenClaw gives your agent persistent memory (markdown files it reads each session), scheduled jobs (cron-style tasks), and system access (shell, browser, APIs). It’s less “chatbot” and more “junior DevOps engineer who never sleeps.”

Meet Kalcifer 🔥

Named after the fire demon from Miyazaki’s Howl’s Moving Castle — powers the castle, has personality, is direct, and slightly grumpy. Perfect template for an AI assistant.

Kalcifer has identity files (SOUL.md, IDENTITY.md), knows my family, my projects, and my goals. He wakes up fresh each session but reads his own notes — memory/YYYY-MM-DD.md — and reconstructs context. It’s like a colleague who reviews yesterday’s meeting notes before joining the standup.

The Auth Hell Chronicles

This is the part nobody warns you about. Setting up the AI is the easy part. Getting it access to your stuff? That’s where the pain lives.

Day 1–2: “This’ll be quick”

Installed OpenClaw, configured Telegram, connected Claude. Kalcifer responds. Great!

Then I wanted Gmail access. App Password — works for IMAP. But Google Drive? Nope. Drive requires OAuth2. Fine, I’ll create a GCP project, set up the consent screen…

Problem 1: OAuth URL returns 404. Why? I forgot to configure “Branding” in Google Auth Platform — Google’s new name for an old thing. Half an hour of searching.

Problem 2: Google deprecated OOB flow (manually pasting auth codes). My gdrive_auth.py script needed a local server on port 8090 to catch the redirect.

Problem 3: I also wanted Google Chat integration. Blocked. GCP on a Gmail account enforces iam.managed.disableServiceAccountKeyCreation — can’t create Service Account keys. Dead end. Fell back to Telegram.

Day 3–4: The Jira Saga

Created a Jira API token. Kalcifer pings the API, gets 401. Why? Because I generated the token on kasajna@gmail.com, but sent the auth header with kalcifersajna@gmail.com. Two accounts, one brain — mine — and zero attention to detail.

Fixed it. Works! Kalcifer sees the board. But… 0 tasks. Auth passes, project returns an empty list. I debug for an hour. The problem? The account didn’t have “Browse Projects” permission in project KAN. One checkbox in project settings.

Day 5: Headless Chrome

OpenClaw has built-in browser control via CDP (Chrome DevTools Protocol). Installed Chromium via Snap. Configured port 18800, headless, no-sandbox.

Chromium runs fine from the CLI. But OpenClaw can’t connect. Different profiles, cdpUrl variations — nothing works.

Solution? Removed Chromium, installed Google Chrome. Changed one line in the config. Works.

Lesson: Every hour I spent debugging auth, I could have spent building features. Make yourself a table: service → auth method → account → expiry date. You’ll save days.

What Kalcifer Does Today

After one week, here’s what’s running:

Daily News Digest (cron, 5:45 CET)

A bash pipeline queries two AI models:

  • Grok (x.AI) — searches X/Twitter and the web in real-time
  • Gemini (Google) — Google Search grounding for verified sources

Raw results feed into Claude in an isolated session, which edits “Kalcifer’s Daily Digest” — 6 categories (tech, space, Poland, business, science, culture), with sources and commentary. That’s 2 AI models feeding 6 news categories into a third model for editorial curation — every morning before I wake up.

Jira Monitoring (cron, 9:00 CET)

Scans the KAN project board, reports on Telegram: new tasks, approaching deadlines, what needs my attention.

Gmail Monitoring

Checks two inboxes for urgent messages and summarizes what matters.

Autonomous Task Execution

The best part. I told Kalcifer, “Work independently on your Jira tasks.” And he does. He analyzed 22 files from Google Drive for our land development project, created a bank-ready summary with land valuations, commented progress on Jira, and pushed code to GitHub.

3 automated daily workflows. 2 AI models in the news pipeline. 22 documents analyzed autonomously. Not bad for a week’s work.

5 Mistakes to Avoid

  1. Don’t underestimate auth. Every service has a different model. App Password ≠ OAuth2 ≠ API Token. Map it out before you start.
  2. Don’t use set -e in multi-API pipelines. If one model returns a timeout or 429, the whole script dies. Each component needs independent error handling with exponential backoff.
  3. Don’t trust LLM-generated links. Grok returned beautifully formatted URLs to articles that don’t exist. tesla.com/news/cybertruck-update-2026 — looks legit, total hallucination. Always verify or add disclaimers.
  4. Don’t skimp on permissions — but don’t over-provision. My Jira mistake (missing Browse Projects) cost an hour. But an agent with full shell access is a responsibility. Principle: minimum sufficient access, tested end-to-end.
  5. Don’t try everything on day one. I wanted Gmail + Drive + Google Chat + Jira + Chrome + cron all at once. Result: nothing worked. Better: one service per day, thoroughly tested.

What’s Next

  • Cost dashboard — web app to track expenses for the land development project
  • Construction tech analysis — Kalcifer will compare building methods (timber frame, SIP, CLT)
  • Proactive mode — heartbeat checks every 30 minutes: calendar, weather, deadlines
  • More content — this article is just the start. AI in practice, space tech, and building in the countryside.

The Takeaway

Setting up an AI assistant on your own server isn’t “click and go.” It’s a week of fighting auth, permissions, CDP connections, API rate limits, and LLM hallucinations.

But when it works, it’s magic. You wake up to a news digest on Telegram. Jira is checked. Documents analyzed. Someone (something?) is working on your tasks while you sleep.

I learn fast, but I know my limits. I’m not an AI researcher — I’m an IT manager who asks the right questions and doesn’t give up easily. If that sounds like you, give it a try.


Posted

in

by

Tags:

Comments

Leave a Reply