vibesurf 0.1.19__py3-none-any.whl → 0.1.20__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 vibesurf might be problematic. Click here for more details.
- vibe_surf/_version.py +2 -2
- vibe_surf/agents/report_writer_agent.py +1 -1
- vibe_surf/backend/database/migrations/v003_fix_task_status_case.sql +11 -0
- vibe_surf/tools/voice_asr.py +54 -0
- {vibesurf-0.1.19.dist-info → vibesurf-0.1.20.dist-info}/METADATA +2 -1
- {vibesurf-0.1.19.dist-info → vibesurf-0.1.20.dist-info}/RECORD +10 -8
- {vibesurf-0.1.19.dist-info → vibesurf-0.1.20.dist-info}/WHEEL +0 -0
- {vibesurf-0.1.19.dist-info → vibesurf-0.1.20.dist-info}/entry_points.txt +0 -0
- {vibesurf-0.1.19.dist-info → vibesurf-0.1.20.dist-info}/licenses/LICENSE +0 -0
- {vibesurf-0.1.19.dist-info → vibesurf-0.1.20.dist-info}/top_level.txt +0 -0
vibe_surf/_version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.20'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 20)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -136,7 +136,7 @@ class ReportWriterAgent:
|
|
|
136
136
|
create_result = await self.file_system.create_file(report_filename)
|
|
137
137
|
logger.info(f"Created report file: {create_result}")
|
|
138
138
|
|
|
139
|
-
max_iterations =
|
|
139
|
+
max_iterations = 10 # Prevent infinite loops
|
|
140
140
|
|
|
141
141
|
# Add system message with unified prompt only if message history is empty
|
|
142
142
|
if not self.message_history:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
-- Migration: v003_fix_task_status_case.sql
|
|
2
|
+
-- Description: Fix task status values to use lowercase (enum values)
|
|
3
|
+
-- Version: 0.0.3
|
|
4
|
+
|
|
5
|
+
-- Update any uppercase status values to lowercase to match TaskStatus enum
|
|
6
|
+
UPDATE tasks SET status = 'pending' WHERE status = 'PENDING';
|
|
7
|
+
UPDATE tasks SET status = 'running' WHERE status = 'RUNNING';
|
|
8
|
+
UPDATE tasks SET status = 'paused' WHERE status = 'PAUSED';
|
|
9
|
+
UPDATE tasks SET status = 'completed' WHERE status = 'COMPLETED';
|
|
10
|
+
UPDATE tasks SET status = 'failed' WHERE status = 'FAILED';
|
|
11
|
+
UPDATE tasks SET status = 'stopped' WHERE status = 'STOPPED';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import pdb
|
|
3
|
+
|
|
4
|
+
import dashscope
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from vibe_surf.logger import get_logger
|
|
7
|
+
|
|
8
|
+
logger = get_logger(__name__)
|
|
9
|
+
|
|
10
|
+
class QwenASR:
|
|
11
|
+
def __init__(self, model="qwen3-asr-flash", api_key: Optional[str] = None):
|
|
12
|
+
dashscope.api_key = api_key or os.getenv("DASHSCOPE_API_KEY")
|
|
13
|
+
self.model = model
|
|
14
|
+
|
|
15
|
+
def asr(self, wav_url: str, context=""):
|
|
16
|
+
if not wav_url.startswith("http"):
|
|
17
|
+
assert os.path.exists(wav_url), f"{wav_url} not exists!"
|
|
18
|
+
wav_url = f"file://{wav_url}"
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
messages = [
|
|
22
|
+
{
|
|
23
|
+
"role": "system",
|
|
24
|
+
"content": [
|
|
25
|
+
{"text": context},
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"role": "user",
|
|
30
|
+
"content": [
|
|
31
|
+
{"audio": wav_url},
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
response = dashscope.MultiModalConversation.call(
|
|
36
|
+
model=self.model,
|
|
37
|
+
messages=messages,
|
|
38
|
+
result_format="message",
|
|
39
|
+
asr_options={
|
|
40
|
+
"enable_lid": True,
|
|
41
|
+
"enable_itn": False
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
if response.status_code != 200:
|
|
45
|
+
raise Exception(f"http status_code: {response.status_code} {response}")
|
|
46
|
+
output = response['output']['choices'][0]
|
|
47
|
+
if output['finish_reason'] not in ('stop', 'function_call'):
|
|
48
|
+
logger.warning(f'{self.model} finish with error...\n{response}')
|
|
49
|
+
return ""
|
|
50
|
+
recog_text = output["message"]["content"][0]["text"]
|
|
51
|
+
return recog_text
|
|
52
|
+
except Exception as e:
|
|
53
|
+
logger.warning(str(e))
|
|
54
|
+
return ""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vibesurf
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.20
|
|
4
4
|
Summary: VibeSurf: A powerful browser assistant for vibe surfing
|
|
5
5
|
Author: Shao Warm
|
|
6
6
|
License: Apache-2.0
|
|
@@ -42,6 +42,7 @@ Requires-Dist: markdown-pdf>=1.9
|
|
|
42
42
|
Requires-Dist: nanoid>=2.0.0
|
|
43
43
|
Requires-Dist: markdownify>=1.2.0
|
|
44
44
|
Requires-Dist: pathvalidate>=3.3.1
|
|
45
|
+
Requires-Dist: dashscope>=1.24.5
|
|
45
46
|
Dynamic: license-file
|
|
46
47
|
|
|
47
48
|
# VibeSurf: A powerful browser assistant for vibe surfing
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
vibe_surf/__init__.py,sha256=WtduuMFGauMD_9dpk4fnRnLTAP6ka9Lfu0feAFNzLfo,339
|
|
2
|
-
vibe_surf/_version.py,sha256=
|
|
2
|
+
vibe_surf/_version.py,sha256=P88Jfo9OvOr8LB0vHFqLUwFR7A0eE281KxEewbcCSBc,706
|
|
3
3
|
vibe_surf/cli.py,sha256=pbep2dBeQqralZ8AggkH4h2nayBarbdN8lhZxo35gNU,16689
|
|
4
4
|
vibe_surf/common.py,sha256=_WWMxen5wFwzUjEShn3yDVC1OBFUiJ6Vccadi6tuG6w,1215
|
|
5
5
|
vibe_surf/logger.py,sha256=k53MFA96QX6t9OfcOf1Zws8PP0OOqjVJfhUD3Do9lKw,3043
|
|
6
6
|
vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
vibe_surf/agents/browser_use_agent.py,sha256=qmm3TAVzEYjvOvSQEa5xUZOgpBOR_8qePME8BjLjOd0,45951
|
|
8
|
-
vibe_surf/agents/report_writer_agent.py,sha256=
|
|
8
|
+
vibe_surf/agents/report_writer_agent.py,sha256=pCF2k6VLyO-sSviGBqqIyVD3SLqaZtSqiW3kvNfPY1I,20967
|
|
9
9
|
vibe_surf/agents/vibe_surf_agent.py,sha256=i7O4Djw3Pd1ijwbkGbXkQqO1y0RunlelCqajjfJFfaQ,73687
|
|
10
10
|
vibe_surf/agents/views.py,sha256=yHjNJloa-aofVTGyuRy08tBYP_Y3XLqt1DUWOUmHRng,4825
|
|
11
11
|
vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
|
|
@@ -29,6 +29,7 @@ vibe_surf/backend/database/queries.py,sha256=WEXZBNHQ1LWWR4Bv-49LMs8mZOkapFBx2_v
|
|
|
29
29
|
vibe_surf/backend/database/schemas.py,sha256=OPnpRKwYG1Cu8geJ6pajiEDF8x8mRestXnAfI4Gy18w,3402
|
|
30
30
|
vibe_surf/backend/database/migrations/v001_initial_schema.sql,sha256=MC2fa1WHUEhHhdOTxz0qB4RI7JdGRpiGXZ77ytl3LRQ,4345
|
|
31
31
|
vibe_surf/backend/database/migrations/v002_add_agent_mode.sql,sha256=jKnW28HsphUeU9kudEx9QaLnUh8swmmOt-hFsZJay24,251
|
|
32
|
+
vibe_surf/backend/database/migrations/v003_fix_task_status_case.sql,sha256=npzRgEnKymTzvb-nOZHtycjVyWX2Dx0tCEtrZJfcujg,580
|
|
32
33
|
vibe_surf/backend/utils/__init__.py,sha256=V8leMFp7apAglUAoCHPZrNNcRHthSLYIudIJE5qwjb0,184
|
|
33
34
|
vibe_surf/backend/utils/encryption.py,sha256=CjLNh_n0Luhfa-6BB-icfzkiiDqj5b4Gu6MADU3p2eM,3754
|
|
34
35
|
vibe_surf/backend/utils/llm_factory.py,sha256=mNy8o3sw7vYJ8gwiTsrgXbG7Ri_B11ylE4KGcfHULp8,8972
|
|
@@ -84,9 +85,10 @@ vibe_surf/tools/mcp_client.py,sha256=OeCoTgyx4MoY7JxXndK6pGHIoyFOhf5r7XCbx25y1Ec
|
|
|
84
85
|
vibe_surf/tools/report_writer_tools.py,sha256=sUqUFr-_Rs8RJ0Bs77Hrp07kNwRIvHv7ErzSPYSlbTg,705
|
|
85
86
|
vibe_surf/tools/vibesurf_tools.py,sha256=VVhM2IZOXwpGvJ3v9jTXFHmxTxF2jAzhrwqFqxFVuX4,29976
|
|
86
87
|
vibe_surf/tools/views.py,sha256=aPoabrXOCrn5vPCAauMKYvpyP9n0qC2xKn1IbjAGXwE,4218
|
|
87
|
-
|
|
88
|
-
vibesurf-0.1.
|
|
89
|
-
vibesurf-0.1.
|
|
90
|
-
vibesurf-0.1.
|
|
91
|
-
vibesurf-0.1.
|
|
92
|
-
vibesurf-0.1.
|
|
88
|
+
vibe_surf/tools/voice_asr.py,sha256=iBMzPSXYDtAbalr-lwzsGVKQPbR0Cj2lvsKSLKyEcU8,1790
|
|
89
|
+
vibesurf-0.1.20.dist-info/licenses/LICENSE,sha256=czn6QYya0-jhLnStD9JqnMS-hwP5wRByipkrGTvoXLI,11355
|
|
90
|
+
vibesurf-0.1.20.dist-info/METADATA,sha256=EvLwKDgeGFER75FSHwSj8koN5g02vwROXU-fl0rHXm0,5346
|
|
91
|
+
vibesurf-0.1.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
92
|
+
vibesurf-0.1.20.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
|
|
93
|
+
vibesurf-0.1.20.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
|
|
94
|
+
vibesurf-0.1.20.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|