fix(*): install channel deps by default, correct missing-dep hint#95
Merged
Conversation
Channel SDKs are opt-in extras that neither the installer nor onboarding pulled in, so enabling a channel failed with a missing-dependency error, and the disabled-channel warning told every user to run `uv sync` -- a dev-only command that does not apply to wheel/tool installs. - install.sh / install.ps1: install `raven[channels]` by default, with a fallback to base raven so one broken channel SDK on a given platform cannot block the whole install. - channels/manager.py: tailor the missing-dependency hint to the install mode via PEP 610 direct_url.json -- `uv sync --extra` for editable checkouts, re-run the installer for wheel/tool installs (OS-aware). Closes #88. Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
arelchan
approved these changes
Jul 7, 2026
2 tasks
0xKT
added a commit
that referenced
this pull request
Jul 7, 2026
## Summary AGENTS.md described the repo as rebase-merge, but it is configured squash-only (`squash_merge_commit_message=PR_BODY`; rebase and merge-commit disabled). Correct 3.3, 3.5, and 3.7 to the real policy: rebase only freshens the branch before push, squash on merge; the squash commit body comes from the PR description (commit bodies are dropped), and GitHub auto-collects each commit's `Co-authored-by` -- so keep the trailer in the commit and put `Closes` / reviewer context in the PR description. ## Type - [x] Docs ## Verification Docs-only. Policy verified against `gh api repos/EverMind-AI/Raven` (squash-only, `PR_BODY`) and as observed on the #95 squash commit. - [x] User-facing docs or screenshots are updated when needed ## Risk Docs-only; no code or behavior change. ## Related Issues N/A Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Channel SDKs are opt-in extras the installer never pulled in, so enabling a channel failed with a missing-dependency error, and the disabled-channel warning pointed everyone at
uv sync(a dev-only command, wrong for wheel installs).raven[channels]by default (+28 pkgs / +69 MB over base), with a fallback to base raven so a broken channel SDK on one platform cannot block the whole install.direct_url.json--uv sync --extrafor editable checkouts, re-run the installer (curl / irm) for wheel installs.Type
Verification
Local, macOS (arm64):
uv run pytest tests/test_channels_manager.py-> 22 passed.raven[channels]installs and all channel SDKs import on macOS arm64 and Linux aarch64.End-to-end (real gateway): editable ->
uv sync --extra channel-feishu; wheel ->Re-run the installer ... curl ....Relevant tests pass locally
Relevant lint / type checks pass locally
User-facing docs or screenshots are updated when needed
install.ps1was not linted locally (no PowerShell on macOS); the installers have no automated tests.Risk
Installing all channel SDKs enlarges the dependency surface; the fallback keeps a broken SDK from blocking install, and opt-in extras remain for lean installs. Additive -- existing installs are unaffected until they re-run the installer. Rollback: revert the commit.
Related Issues
Closes #88