mirror of
https://github.com/hanzoai/bot-hub.git
synced 2026-10-30 18:46:42 +00:00
The API mounted its routers at /api/auth and /api/v1/*; one /v1 app now holds them all and nothing answers under /api. The web client, OG fetchers, CLI route table and its tests follow. IAM is reached at the /v1/iam/oauth endpoints its discovery document names; the old /api/userinfo and /api/login/oauth/access_token paths answer hanzo.id's SPA, so sign-in could not complete. v1-prefix.test.ts fails if an /api path is served or called again. Claude-Session: https://claude.ai/code/session_01TUxvfuta1Z44KVNYuAz71F
1.7 KiB
1.7 KiB
summary, read_when
| summary | read_when | |
|---|---|---|
| Common setup/runtime issues (CLI + backend) and fixes. |
|
Troubleshooting
bothub login opens browser but never completes
- Ensure your browser can reach
http://127.0.0.1:<port>/callback(local firewalls/VPNs can interfere). - Use headless mode:
- create a token in the web UI (Settings → API tokens)
bothub login --token clh_...
whoami / publish returns Unauthorized (401)
- Token missing or revoked: check your config file (
BOTHUB_CONFIG_PATHoverride?). - Ensure requests include
Authorization: Bearer ...(CLI does this automatically).
publish fails with OPENAI_API_KEY is not configured
- Set
OPENAI_API_KEYin the Convex environment (not only locally). - Re-run
bunx convex dev/bunx convex deployafter setting env.
publish fails with GitHub API rate limit exceeded
- This is the GitHub account-age gate lookup hitting unauthenticated limits.
- Set
GITHUB_TOKENin Convex environment to use authenticated GitHub API limits. - Retry publish after a short wait if the limit was already exhausted.
sync says “No skills found”
synclooks for folders containingSKILL.md(orskill.md).- It scans:
- workdir first
- then fallback roots (legacy
~/clawdis/skills,~/clawdbot/skills, etc.)
- Provide explicit roots:
bothub sync --root /path/to/skills
update refuses due to “local changes (no match)”
- Your local files don’t match any published fingerprint.
- Options:
- keep local edits; skip updating
- overwrite:
bothub update <slug> --force - publish as fork: copy to new folder/slug then
bothub publish ... --fork-of upstream@version