forked from QwenLM/qwen-code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall_dev.sh
More file actions
executable file
·81 lines (66 loc) · 2.27 KB
/
Copy pathinstall_dev.sh
File metadata and controls
executable file
·81 lines (66 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/bin/bash
# Installation script for qwen-code local development
set -e
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CLI_PATH="$PROJECT_DIR/packages/cli/dist/index.js"
echo "Building qwen-code..."
cd "$PROJECT_DIR"
npm run build
echo "Installing to system..."
# Determine install location
if [[ -d "$HOME/.npm-global/bin" ]]; then
BIN_DIR="$HOME/.npm-global/bin"
elif [[ -n "$NVM_BIN_DIR" ]] && -d "$NVM_BIN_DIR"; then
BIN_DIR="$NVM_BIN_DIR"
else
BIN_DIR="$HOME/.local/bin"
fi
echo "Installing to $BIN_DIR"
mkdir -p "$BIN_DIR"
# Create symlink to the CLI (overwrites any existing qwen)
ln -sf "$CLI_PATH" "$BIN_DIR/qwen"
# Make sure the target file is executable
chmod +x "$CLI_PATH"
# Install default settings
QWEN_DIR="$HOME/.qwen"
DEFAULT_SETTINGS="$PROJECT_DIR/config/default-settings.json"
USER_SETTINGS="$QWEN_DIR/settings.json"
echo "Installing default settings..."
mkdir -p "$QWEN_DIR"
# Backup existing settings if different from default
if [ -f "$USER_SETTINGS" ]; then
if ! diff -q "$USER_SETTINGS" "$DEFAULT_SETTINGS" > /dev/null 2>&1; then
BACKUP="$QWEN_DIR/settings.json.backup-$(date +%Y%m%d-%H%M%S)"
cp "$USER_SETTINGS" "$BACKUP"
echo " Backed up existing settings to: $BACKUP"
fi
fi
cp "$DEFAULT_SETTINGS" "$USER_SETTINGS"
echo " Default settings installed to $USER_SETTINGS"
# Add environment variable to shell profile
SHELL_RC="$HOME/.bashrc"
if [[ -n "$ZSH_VERSION" ]]; then
SHELL_RC="$HOME/.zshrc"
fi
# Add QWEN_DEFAULT_AUTH_TYPE if not already present
if ! grep -q "QWEN_DEFAULT_AUTH_TYPE" "$SHELL_RC" 2>/dev/null; then
echo "" >> "$SHELL_RC"
echo "# Qwen Code local development - use local API as default" >> "$SHELL_RC"
echo "export QWEN_DEFAULT_AUTH_TYPE=local" >> "$SHELL_RC"
echo " Added QWEN_DEFAULT_AUTH_TYPE=local to $SHELL_RC"
fi
echo ""
echo "✅ Installation complete!"
echo "Installed to: $BIN_DIR/qwen"
echo ""
echo "Features:"
echo " • Default auth type: local (via QWEN_DEFAULT_AUTH_TYPE)"
echo " • Telemetry: disabled"
echo " • API endpoint: http://127.0.0.1:1234/v1"
echo " • Dynamic model fetching: enabled (19 models)"
echo ""
echo "To use now:"
echo " export QWEN_DEFAULT_AUTH_TYPE=local"
echo " qwen"
echo ""
echo "Or restart your terminal to apply shell profile changes."