vibego 0.2.27__py3-none-any.whl → 0.2.29__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of vibego might be problematic. Click here for more details.
- scripts/start.sh +29 -3
- {vibego-0.2.27.dist-info → vibego-0.2.29.dist-info}/METADATA +1 -1
- {vibego-0.2.27.dist-info → vibego-0.2.29.dist-info}/RECORD +9 -9
- vibego_cli/__init__.py +1 -1
- vibego_cli/config.py +1 -0
- vibego_cli/main.py +1 -0
- {vibego-0.2.27.dist-info → vibego-0.2.29.dist-info}/WHEEL +0 -0
- {vibego-0.2.27.dist-info → vibego-0.2.29.dist-info}/entry_points.txt +0 -0
- {vibego-0.2.27.dist-info → vibego-0.2.29.dist-info}/top_level.txt +0 -0
scripts/start.sh
CHANGED
|
@@ -3,10 +3,16 @@ set -eo pipefail
|
|
|
3
3
|
|
|
4
4
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
5
|
LOCK_FILE="$ROOT_DIR/state/master_restart.lock"
|
|
6
|
-
|
|
6
|
+
LOG_DIR="$ROOT_DIR/logs"
|
|
7
|
+
START_LOG="$LOG_DIR/start.log"
|
|
7
8
|
CODEX_STAMP_FILE="$ROOT_DIR/state/npm_codex_install.stamp"
|
|
8
9
|
CODEX_INSTALL_TTL="${CODEX_INSTALL_TTL:-86400}"
|
|
9
10
|
|
|
11
|
+
# 统一重启信号文件路径:使用配置目录而非代码目录
|
|
12
|
+
# 这样 pipx 安装的 master 和源码运行的 master 可以共享同一个信号文件
|
|
13
|
+
MASTER_CONFIG_ROOT="${MASTER_CONFIG_ROOT:-$HOME/.config/vibego}"
|
|
14
|
+
export MASTER_RESTART_SIGNAL_PATH="$MASTER_CONFIG_ROOT/state/restart_signal.json"
|
|
15
|
+
|
|
10
16
|
log_line() {
|
|
11
17
|
local ts
|
|
12
18
|
ts=$(date '+%Y-%m-%d %H:%M:%S%z')
|
|
@@ -217,9 +223,29 @@ else
|
|
|
217
223
|
source .venv/bin/activate
|
|
218
224
|
|
|
219
225
|
# 安装依赖
|
|
226
|
+
# 将 pip 输出重定向到日志文件,避免 BrokenPipe 错误
|
|
220
227
|
log_info "开始执行 pip install -r $REQUIREMENTS_FILE"
|
|
221
|
-
|
|
222
|
-
|
|
228
|
+
PIP_LOG_FILE="$LOG_DIR/pip_install_$(date +%Y%m%d_%H%M%S).log"
|
|
229
|
+
if pip install -r "$REQUIREMENTS_FILE" > "$PIP_LOG_FILE" 2>&1; then
|
|
230
|
+
log_info "依赖安装完成"
|
|
231
|
+
else
|
|
232
|
+
PIP_EXIT_CODE=$?
|
|
233
|
+
log_error "pip install 失败,退出码=$PIP_EXIT_CODE,详见 $PIP_LOG_FILE"
|
|
234
|
+
# 如果是 BrokenPipe (退出码 141),验证依赖是否实际已安装
|
|
235
|
+
if [[ $PIP_EXIT_CODE -eq 141 ]]; then
|
|
236
|
+
log_info "检测到 BrokenPipe 错误,验证依赖完整性..."
|
|
237
|
+
# 验证关键依赖包是否可导入
|
|
238
|
+
if "$ROOT_DIR/.venv/bin/python" -c "import aiogram, aiohttp, aiosqlite" 2>/dev/null; then
|
|
239
|
+
log_info "依赖验证通过,BrokenPipe 可忽略,继续执行"
|
|
240
|
+
else
|
|
241
|
+
log_error "依赖验证失败,虽然是 BrokenPipe 但依赖未完整安装"
|
|
242
|
+
exit 1
|
|
243
|
+
fi
|
|
244
|
+
else
|
|
245
|
+
# 其他错误直接退出
|
|
246
|
+
exit $PIP_EXIT_CODE
|
|
247
|
+
fi
|
|
248
|
+
fi
|
|
223
249
|
fi
|
|
224
250
|
|
|
225
251
|
# 后台启动 master,日志落在 vibe.log
|
|
@@ -9,7 +9,7 @@ scripts/master_healthcheck.py,sha256=-X0VVsZ0AXaOb7izxTO_oyu23g_1jsirNdGIcP8nrSI
|
|
|
9
9
|
scripts/publish.sh,sha256=ehLfMedcXuGKJ87jpZy3kuiFszG9Cpavp3zXPfR4h-g,3511
|
|
10
10
|
scripts/requirements.txt,sha256=QSt30DSSSHtfucTFPpc7twk9kLS5rVLNTcvDiagxrZg,62
|
|
11
11
|
scripts/run_bot.sh,sha256=rN4K1nz041XBaUJmnBBKHS2cHmQf11vPNX8wf1hbVR4,4596
|
|
12
|
-
scripts/start.sh,sha256=
|
|
12
|
+
scripts/start.sh,sha256=b9YXd3pxCdSO8Ij1utCHfA897nhNK5Fcd4jsSW0tMPU,9857
|
|
13
13
|
scripts/start_tmux_codex.sh,sha256=xyLv29p924q-ysxvZYAP3T6VrqLPBPMBWo9QP7cuL50,4438
|
|
14
14
|
scripts/stop_all.sh,sha256=FOz07gi2CI9sMHxBb8XkqHtxRYs3jt1RYgGrEi-htVg,4086
|
|
15
15
|
scripts/stop_bot.sh,sha256=ot6Sm0IYoXuRNslUVEflQmJKu5Agm-5xIUXXudJWyTM,5588
|
|
@@ -426,14 +426,14 @@ tasks/constants.py,sha256=tS1kZxBIUm3JJUMHm25XI-KHNUZl5NhbbuzjzL_rF-c,299
|
|
|
426
426
|
tasks/fsm.py,sha256=rKXXLEieQQU4r2z_CZUvn1_70FXiZXBBugF40gpe_tQ,1476
|
|
427
427
|
tasks/models.py,sha256=N_qqRBo9xMSV0vbn4k6bLBXT8C_dp_oTFUxvdx16ZQM,2459
|
|
428
428
|
tasks/service.py,sha256=w_S_aWiVqRXzXEpimLDsuCCCX2lB5uDkff9aKThBw9c,41916
|
|
429
|
-
vibego_cli/__init__.py,sha256=
|
|
429
|
+
vibego_cli/__init__.py,sha256=61buX089vb0PZ-RiczZ0GC5cWtW3UF8Rzrbtz2jaCeA,311
|
|
430
430
|
vibego_cli/__main__.py,sha256=qqTrYmRRLe4361fMzbI3-CqpZ7AhTofIHmfp4ykrrBY,158
|
|
431
|
-
vibego_cli/config.py,sha256=
|
|
431
|
+
vibego_cli/config.py,sha256=VxkPJMq01tA3h3cOkH-z_tiP7pMgfSGGicRvUnCWkhI,3054
|
|
432
432
|
vibego_cli/deps.py,sha256=1nRXI7Dd-S1hYE8DligzK5fIluQWETRUj4_OKL0DikQ,1419
|
|
433
|
-
vibego_cli/main.py,sha256=
|
|
433
|
+
vibego_cli/main.py,sha256=X__NXwZnIDIFbdKSTbNyZgZHKcPlN0DQz9sqTI1aQ9E,12158
|
|
434
434
|
vibego_cli/data/worker_requirements.txt,sha256=QSt30DSSSHtfucTFPpc7twk9kLS5rVLNTcvDiagxrZg,62
|
|
435
|
-
vibego-0.2.
|
|
436
|
-
vibego-0.2.
|
|
437
|
-
vibego-0.2.
|
|
438
|
-
vibego-0.2.
|
|
439
|
-
vibego-0.2.
|
|
435
|
+
vibego-0.2.29.dist-info/METADATA,sha256=pdMyS37l5cTSjvT3VDskVou0t_8f64wP1SQ6qwiDszk,10475
|
|
436
|
+
vibego-0.2.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
437
|
+
vibego-0.2.29.dist-info/entry_points.txt,sha256=Lsy_zm-dlyxt8-9DL9blBReIwU2k22c8-kifr46ND1M,48
|
|
438
|
+
vibego-0.2.29.dist-info/top_level.txt,sha256=R56CT3nW5H5v3ce0l3QDN4-C4qxTrNWzRTwrxnkDX4U,69
|
|
439
|
+
vibego-0.2.29.dist-info/RECORD,,
|
vibego_cli/__init__.py
CHANGED
vibego_cli/config.py
CHANGED
|
@@ -39,6 +39,7 @@ PROJECTS_JSON: Path = CONFIG_DIR / "projects.json"
|
|
|
39
39
|
MASTER_DB: Path = CONFIG_DIR / "master.db"
|
|
40
40
|
MASTER_STATE: Path = STATE_DIR / "master_state.json"
|
|
41
41
|
MASTER_PID_FILE: Path = STATE_DIR / "master.pid"
|
|
42
|
+
RESTART_SIGNAL_PATH: Path = STATE_DIR / "restart_signal.json"
|
|
42
43
|
LOG_FILE: Path = LOG_DIR / "vibe.log"
|
|
43
44
|
|
|
44
45
|
|
vibego_cli/main.py
CHANGED
|
@@ -148,6 +148,7 @@ def _build_master_env(base_env: Dict[str, str]) -> Dict[str, str]:
|
|
|
148
148
|
env["MASTER_PROJECTS_PATH"] = str(config.PROJECTS_JSON)
|
|
149
149
|
env["MASTER_PROJECTS_DB_PATH"] = str(config.MASTER_DB)
|
|
150
150
|
env["MASTER_STATE_PATH"] = str(config.MASTER_STATE)
|
|
151
|
+
env["MASTER_RESTART_SIGNAL_PATH"] = str(config.RESTART_SIGNAL_PATH)
|
|
151
152
|
env["LOG_ROOT"] = str(config.LOG_DIR)
|
|
152
153
|
env["TASKS_DATA_ROOT"] = str(config.DATA_DIR)
|
|
153
154
|
env["LOG_FILE"] = str(config.LOG_FILE)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|