Files
clawdbot-memory/memory/dasheng-codebase.md
PP-bot f287ba99db sync(memory): backup auto-memory snapshot iter9 close
Mirror of ~/.claude/projects/-Users-pp-bot/memory/ as of 2026-04-27.

Files:
- MEMORY.md (index)
- dasheng-codebase.md (Gitea + IM family + 取经团 worker layout)
- feedback_bot_node_field.md (bots.json node field is informational)

Per-user Claude memory is Mac-local. This repo is the canonical backup
so a fresh machine / EC2 / colleague workstation can prime new Claude
Code windows with the same project knowledge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 14:38:36 +09:00

6.7 KiB

name, description, type, originSessionId
name description type originSessionId
Dasheng (大盛) Gitea codebase map Top-level orientation for the dasheng.io Gitea organization — the IM product family + 悟空分身/取经团 distributed Claude worker system. Cite when work touches any of the cloned repos under ~/dasheng-repos. project c2c569ed-e20b-4000-a286-8d48afea8d86

Dasheng codebase — orientation

Account and access

  • Gitea instance: https://dasheng.io/gitea (Gitea 1.25.4)
  • Active account: leipayne18 (admin)
  • Credentials: NEVER commit. Held only in session-scoped env vars (GITEA_TOKEN). Rotated after each task.

Workspace

  • Local clone root: /Users/pp-bot/dasheng-repos/
  • Master index of all 124 repos: /Users/pp-bot/dasheng-repos/INDEX.md
  • Per-org subdirs: ~/dasheng-repos/<org>/<repo>/
  • Manifest: .omc/repos.json (with full_name, clone_url, default_branch, empty, size_kb)
  • 108 cloned, 16 truly empty (verified via git ls-remote, kept as placeholders only)

Org map (14 orgs)

Org Apparent role
jx-im Core: IM client (Dart/Swift), worker system (universe, worker-client, worker-knowledge)
Matrix-Ant-AI Mini-app ecosystem + Flutter packages (44 repos, the largest org)
CUS-IM / CUS-IM-Plugin Customer-facing IM client + parallel plugin set (mirrors jx-im-plugin)
jx-im-plugin Flutter plugin set: kiwi_module, photo_view, pin_code_fields, agora, camerawesome, etc.
jx-im-advance-plugin Dev-branch versions of plugins (im_message_plugins-im-dev, jxim_chat_room_nav-im-dev, etc.)
mini_tonky_bot Single repo: worker-client (thin worker — see below)
leipayne18 Personal: clawd, clawdbot-memory, customer-im-client-dev
lewis, thomas, harry, josh, durant, victor, jiaswee, PM, ui Individual contributor sandboxes

Refactor targets (active focus)

Universe

  • Repo: jx-im/claude-worker-universe (44.7M Python)
  • Local path: ~/dasheng-repos/jx-im/claude-worker-universe/
  • Role: Central hub / orchestrator of the 取经团 (Pilgrim Team) distributed Claude worker system
  • Architecture uses Journey-to-the-West character names: 唐僧 (tang_seng_), 八戒 (ba_jie_), 沙僧 (wu_jing_, sha), 悟空 (wu_kong_)
  • Deep-dive notes: ~/dasheng-repos/.omc/notes/universe.md
  • Headline pain points: core/run_loop.py 9238 LOC, tools/thin_worker.py 5271 LOC, core/wu_jing_daemon.py 4808 LOC, services/bot_dashboard.py 4266 LOC, ~zero tests

Tinworker (= thin_worker)

  • "tinworker" is phonetic for thin_worker — refers to the file thin_worker.py
  • Primary repo: mini_tonky_bot/worker-client (1.7M Python)
  • Local path: ~/dasheng-repos/mini_tonky_bot/worker-client/
  • Role: Single-file deployable Claude dev worker, distributed to volunteer contributors ("大仙")
  • Deep-dive notes: ~/dasheng-repos/.omc/notes/tinworker.md
  • Confirmation status: hypothesis (strong evidence: file thin_worker.py matches user's "tinworker" pronunciation; module docstring "悟空分身 · Thin Worker"). User can override in .omc/state.json.
  • Alternative candidates noted: jx-im/worker-client (older "Kevin" variant), jx-im/worker-knowledge (knowledge base, not runtime)

CRITICAL FINDING — dual thin_worker.py

There are TWO thin_worker.py files with significant divergence:

  • jx-im/claude-worker-universe/tools/thin_worker.py — 5271 LOC
  • mini_tonky_bot/worker-client/thin_worker.py — 2233 LOC

Refactoring must decide which is canonical, identify drift, and consolidate. This is documented in both deep-dive notes and is the central refactor question.

Multi-version IM client landscape

The IM client exists in at least 4 flavors — clarify with user which is the active production codebase before refactoring touches it:

  • jx-im/im-client (Dart/Flutter, 2.3 GiB, latest)
  • jx-im/im-client-im-dev (Dart, 1.1 GiB, dev branch carved out)
  • jx-im/im-client-ios-swift / -swift-demo (native iOS)
  • Matrix-Ant-AI/im-client (parallel?)
  • CUS-IM/customer-im-client (customer-facing fork)

Plugin set duplication

jx-im-plugin and CUS-IM-Plugin carry parallel forks of the same plugin set (kiwi_module, photo_view, pin_code_fields, pull_to_refresh, agora, camerawesome, im_camera, ZLImageEditor, etc.). When asked to fix a plugin, confirm which fork the user means.

Where to look for what

  • Onboarding flow / volunteer registration: jx-im/worker-client/README.md describes the "大仙接入" flow via http://www.dasheng.io
  • Knowledge base / lessons learned / role docs: jx-im/worker-knowledge/
  • Bot configs in production: jx-im/claude-worker-universe/config/bots.json (21 bots; ⚠ 19 plaintext tg_bot_tokens leaked in git — pending cleanup)
  • Tinworker correction: canonical = jx-im/worker-client (verified 2026-04-25 by user; mini_tonky_bot/worker-client is a stale Phase-2 fork)
  • 文殊菩萨 design (iter2 of /ralph): ~/dasheng-repos/.omc/notes/master-design.md — full architecture; ~/dasheng-repos/.omc/prd-iter3.json for execution stories

Infrastructure access

  • EC2 server (also hosts Gitea): dasheng.io, user ec2-user, SSH key /Users/pp-bot/Downloads/cc.pem (chmod 400)
  • AWS region: ap-southeast-2 (Sydney). Hostname: ip-172-31-19-46.ap-southeast-2.compute.internal. OS: Amazon Linux 2023.
  • EC2-resident bots: lobster-qa-bot (八戒), nezhasantaizi_bot (哪吒三太子), thin-nezha. Run from ~/.claude/ on the EC2 box.
  • env-var convention in run_loop.py:6481: EC2_USER=ec2-user, EC2_HOST=dasheng.io, BAJIE_HOST=office-studio-cc (SSH alias).
  • Test command: ssh -i /Users/pp-bot/Downloads/cc.pem ec2-user@dasheng.io 'whoami'

H5 vs iOS bot taxonomy (after 2026-04-25 user clarification)

4 H5 bots out of 21:

  • jarvis_theone_bot (大仙·清源妙道真君, role=PM)
  • kevins-studio-bot (奔波儿灞·Kevin, role=QA, qa_priority=true)
  • andyjanebot (鬼金羊, role=QA, qa_priority=true)
  • 虚日鼠 (planned: login=xurishu_bot, role=QA, qa_priority=true, tg_name=@newim2026wbot)

QA-priority H5 bot rule: verify open issues first, only switch to dev when no verification work pending.

文殊菩萨 (Manjushri) — planned new top-level role

  • Inherits BOTH 八戒 (QA Automation) AND 唐僧 (PM Patrol) via composition (not subclass).
  • Adds: PM-spec → test-case generation, hourly QA/test-task polling, cross-platform issue distribution, auto-PR (bot-dev → main), CLI surface, current-state-aware issue creation.
  • node=MacBook (same as 唐僧). TG token reuse from 唐僧 (tg_bot_token_inherits: lobster-pm-bot); messages prefixed [文殊菩萨].
  • Module: core/wen_shu_hub.py (planned). Schedule: launchd plist (planned).
  • Pre-req refactors before introduction: extract sync_main_into_bot_dev from ba_jie_rev.merge_to_main:451-487; extract _fetch_open_issues_paginated from 唐僧; add RepoState snapshot facade.