Skip to content

fix https://github.com/volcengine/OpenViking/issues/477#503

Merged
MaojiaSheng merged 1 commit intomainfrom
fix/bot_fix2
Mar 10, 2026
Merged

fix https://github.com/volcengine/OpenViking/issues/477#503
MaojiaSheng merged 1 commit intomainfrom
fix/bot_fix2

Conversation

@chenjw
Copy link
Collaborator

@chenjw chenjw commented Mar 9, 2026

Description

fix #477

Related Issue

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test update

Changes Made

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this on the following platforms:
    • Linux
    • macOS
    • Windows

Checklist

  • My code follows the project's coding style
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Additional Notes

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

477 - Partially compliant

Compliant requirements:

  • Fix Windows startup error when running openviking-server --with-bot

Non-compliant requirements:

  • (no other requirements)

Requires further human verification:

  • Verify the fix works on Windows
  • Verify the bot-full extra still installs all required dependencies correctly (due to pyproject.toml changes)
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Dependency Extra Syntax

The bot-full extra now references other openviking extras instead of direct dependencies. Verify this syntax is supported by the project's build backend and that installing openviking[bot-full] still pulls in all required packages.

bot-full = [
    "openviking[bot,bot-langfuse,bot-telegram,bot-feishu,bot-dingtalk,bot-slack,bot-qq,bot-sandbox,bot-fuse,bot-opencode]",
]

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Fix circular dependency in bot-full

The bot-full dependency group creates a circular dependency by referencing
openviking itself with extras. This can cause issues with package managers. Instead,
aggregate the dependencies from the referenced extras directly, or use a
backend-specific mechanism to include other extras if available.

pyproject.toml [134-136]

 bot-full = [
-    "openviking[bot,bot-langfuse,bot-telegram,bot-feishu,bot-dingtalk,bot-slack,bot-qq,bot-sandbox,bot-fuse,bot-opencode]",
+    "openviking[bot]",
+    "langfuse>=3.0.0",
+    "python-telegram-bot[socks]>=21.0",
+    "lark-oapi>=1.0.0",
+    "dingtalk-stream>=0.4.0",
+    "slack-sdk>=3.26.0",
+    "qq-botpy>=1.0.0",
+    "opensandbox>=0.1.0",
+    "opensandbox-server>=0.1.0",
+    "agent-sandbox>=0.0.23",
+    "fusepy>=3.0.1",
+    "opencode-ai>=0.1.0a0",
 ]
Suggestion importance[1-10]: 9

__

Why: The bot-full dependency group creates a circular dependency by referencing openviking itself, which could break package installation. The fix correctly aggregates the dependencies from the referenced extras directly.

High

@r266-tech
Copy link
Contributor

The shutil.which("vikingbot") fix is the right approach — it's cross-platform (handles PATHEXT on Windows automatically) and cleaner than the subprocess approach. I scanned the rest of the codebase and this is the only which call that needs fixing, so the scope is correct.

Two concerns worth addressing:

1. pyproject.toml change may introduce a circular dependency

The new bot-full definition references openviking itself as a dependency:

bot-full = ["openviking[bot,bot-langfuse,...]"]

This is a self-referential extra, which PEP 508 doesn't support within the same package — most package managers (pip, uv) will either raise an error or silently ignore it. This change should either be reverted to the original flat list, or tracked as a separate PR with proper testing.

2. The two changes should be separate PRs

The bootstrap.py fix (bug fix for Issue #477) and the pyproject.toml refactoring are independent concerns. Bundling them risks blocking the critical Windows bug fix if the dependency refactoring needs more discussion.

Suggestion: split into two PRs — one minimal bug fix (just the shutil.which change), one for the extras refactoring.

@MaojiaSheng MaojiaSheng merged commit 437c313 into main Mar 10, 2026
25 of 26 checks passed
@MaojiaSheng MaojiaSheng deleted the fix/bot_fix2 branch March 10, 2026 01:30
@github-project-automation github-project-automation bot moved this from Backlog to Done in OpenViking project Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Bug]: windows run COMMAND : openviking-server --with-bot EXCEPTION:

3 participants