import os, re
for p in sorted([x for x in os.listdir('/proc') if x.isdigit()], key=int):
    try:
        cmd=open(f'/proc/{p}/cmdline','rb').read().replace(b'\0',b' ').decode('utf-8','ignore')
        if 'openclaw' not in cmd: continue
        root=os.path.realpath(f'/proc/{p}/root')
        cfg=f'/proc/{p}/root/home/node/.openclaw/config.json'
        if not os.path.exists(cfg): cfg=f'/proc/{p}/root/home/node/.openclaw/config.yaml'
        text=''
        if os.path.exists(cfg): text=open(cfg,errors='ignore').read()
        red=re.sub(r'(xox[baprs]-|xapp-|sk-|eyJ)[A-Za-z0-9._-]+', r'\1…', text)
        names=[]
        for pat in [r'name\s*[:=]\s*["\']?([^"\'\n,}]+)', r'agentId\s*[:=]\s*["\']?([^"\'\n,}]+)', r'workspace\s*[:=]\s*["\']?([^"\'\n,}]+)']:
            names += re.findall(pat, red)[:5]
        env=open(f'/proc/{p}/environ','rb').read().split(b'\0')
        ev=[]
        for e in env:
            s=e.decode('utf-8','ignore')
            if any(k in s for k in ['NEXTCLOUD_USER','SYNOLOGY_USER','OPENCLAW_PROFILE','OPENCLAW_CONFIG_PATH']): ev.append(s)
        print(f'PID {p} root={root} cmd={cmd[:80]}')
        print(' ENV', ev)
        print(' names', names[:10])
        lines=[]
        for ln in red.splitlines():
            if any(term in ln.lower() for term in ['kube','bot','agent','name','display','slack']):
                lines.append(ln.strip())
        print(' lines', lines[:12])
    except Exception:
        pass
