vibesurf 0.1.37__py3-none-any.whl → 0.1.38__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/prompts/vibe_surf_prompt.py +1 -1
- vibe_surf/agents/report_writer_agent.py +5 -5
- vibe_surf/agents/vibe_surf_agent.py +5 -5
- vibe_surf/backend/llm_config.py +17 -3
- vibe_surf/backend/utils/llm_factory.py +8 -0
- {vibesurf-0.1.37.dist-info → vibesurf-0.1.38.dist-info}/METADATA +1 -1
- {vibesurf-0.1.37.dist-info → vibesurf-0.1.38.dist-info}/RECORD +12 -12
- {vibesurf-0.1.37.dist-info → vibesurf-0.1.38.dist-info}/WHEEL +0 -0
- {vibesurf-0.1.37.dist-info → vibesurf-0.1.38.dist-info}/entry_points.txt +0 -0
- {vibesurf-0.1.37.dist-info → vibesurf-0.1.38.dist-info}/licenses/LICENSE +0 -0
- {vibesurf-0.1.37.dist-info → vibesurf-0.1.38.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.38'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 38)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -78,7 +78,7 @@ When using Composio tools (those with `cpo.{toolkit_name}.{tool_name}` prefix):
|
|
|
78
78
|
- **Special Cases**: `skill_deep_research` only returns guidelines only, then follow guidelines to conduct actual research
|
|
79
79
|
- **Execution Policy**: Skill actions execute only once (no need to retry if errors occur), and all results - whether successful or failed - should be presented to users in structured markdown format.
|
|
80
80
|
- **Follow-up Operations**: When users input skill operations without specifying additional tasks, do not automatically perform subsequent operations. Only perform additional tool operations when users specifically request actions like saving results to files or writing reports.
|
|
81
|
-
-
|
|
81
|
+
- **Search Skill Usage**: `/search` should ONLY be used when users want to quickly obtain specific information or news. Please analyze user intent carefully - if the request contains other browser tasks or requires more complex web operations, you should generally execute browser tasks instead of using skill search.
|
|
82
82
|
|
|
83
83
|
## Language Adaptability
|
|
84
84
|
|
|
@@ -163,19 +163,19 @@ class ReportWriterAgent:
|
|
|
163
163
|
You must ALWAYS respond with a valid JSON in this exact format:
|
|
164
164
|
{{
|
|
165
165
|
"thinking": "A structured <think>-style reasoning.",
|
|
166
|
-
"action":[{{"
|
|
166
|
+
"action":[{{"<action_name>": {{<action_params>}}]
|
|
167
167
|
}}
|
|
168
168
|
|
|
169
|
-
Action list should NEVER be empty.
|
|
169
|
+
Action list should NEVER be empty and Each step can only output one action. If multiple actions are output, only the first one will be executed.
|
|
170
170
|
"""
|
|
171
171
|
else:
|
|
172
172
|
report_system_prompt += """
|
|
173
173
|
You must ALWAYS respond with a valid JSON in this exact format:
|
|
174
174
|
{{
|
|
175
|
-
"action":[{{"
|
|
175
|
+
"action":[{{"<action_name>": {{<action_params>}}]
|
|
176
176
|
}}
|
|
177
177
|
|
|
178
|
-
Action list should NEVER be empty.
|
|
178
|
+
Action list should NEVER be empty and Each step can only output one action. If multiple actions are output, only the first one will be executed.
|
|
179
179
|
"""
|
|
180
180
|
self.message_history.append(SystemMessage(content=report_system_prompt))
|
|
181
181
|
|
|
@@ -234,7 +234,7 @@ Please analyze the task, determine if you need to read any additional files, the
|
|
|
234
234
|
results = []
|
|
235
235
|
time_start = time.time()
|
|
236
236
|
|
|
237
|
-
for i, action in enumerate(actions):
|
|
237
|
+
for i, action in enumerate(actions[:1]):
|
|
238
238
|
action_data = action.model_dump(exclude_unset=True)
|
|
239
239
|
action_name = next(iter(action_data.keys())) if action_data else 'unknown'
|
|
240
240
|
logger.info(f"🛠️ Executing action {i + 1}/{len(actions)}: {action_name}")
|
|
@@ -427,7 +427,7 @@ async def _vibesurf_agent_node_impl(state: VibeSurfState) -> VibeSurfState:
|
|
|
427
427
|
if hasattr(parsed, 'thinking') and parsed.thinking:
|
|
428
428
|
await log_agent_activity(state, agent_name, "thinking", parsed.thinking)
|
|
429
429
|
|
|
430
|
-
for i, action in enumerate(actions):
|
|
430
|
+
for i, action in enumerate(actions[:1]):
|
|
431
431
|
action_data = action.model_dump(exclude_unset=True)
|
|
432
432
|
action_name = next(iter(action_data.keys())) if action_data else 'unknown'
|
|
433
433
|
logger.info(f"🛠️ Processing VibeSurf action {i + 1}/{len(actions)}: {action_name}")
|
|
@@ -1651,19 +1651,19 @@ Please continue with your assigned work, incorporating this guidance only if it'
|
|
|
1651
1651
|
You must ALWAYS respond with a valid JSON in this exact format:
|
|
1652
1652
|
{{
|
|
1653
1653
|
"thinking": "A structured <think>-style reasoning.",
|
|
1654
|
-
"action":[{{"
|
|
1654
|
+
"action":[{{"<action_name>": {{<action_params>}}]
|
|
1655
1655
|
}}
|
|
1656
1656
|
|
|
1657
|
-
Action list should NEVER be empty.
|
|
1657
|
+
Action list should NEVER be empty and Each step can only output one action. If multiple actions are output, only the first one will be executed.
|
|
1658
1658
|
"""
|
|
1659
1659
|
else:
|
|
1660
1660
|
vibesurf_system_prompt += """
|
|
1661
1661
|
You must ALWAYS respond with a valid JSON in this exact format:
|
|
1662
1662
|
{{
|
|
1663
|
-
"action":[{{"
|
|
1663
|
+
"action":[{{"<action_name>": {{<action_params>}}]
|
|
1664
1664
|
}}
|
|
1665
1665
|
|
|
1666
|
-
Action list should NEVER be empty.
|
|
1666
|
+
Action list should NEVER be empty and Each step can only output one action. If multiple actions are output, only the first one will be executed.
|
|
1667
1667
|
"""
|
|
1668
1668
|
self.message_history.append(SystemMessage(content=vibesurf_system_prompt))
|
|
1669
1669
|
|
vibe_surf/backend/llm_config.py
CHANGED
|
@@ -69,6 +69,12 @@ LLM_PROVIDERS = {
|
|
|
69
69
|
"anthropic_bedrock": [
|
|
70
70
|
],
|
|
71
71
|
"openai_compatible": [
|
|
72
|
+
],
|
|
73
|
+
"lm_studio":[
|
|
74
|
+
"qwen/qwen3-vl-8b",
|
|
75
|
+
"qwen/qwen3-vl-30b",
|
|
76
|
+
"qwen/qwen3-14b",
|
|
77
|
+
"openai/gpt-oss-20b"
|
|
72
78
|
]
|
|
73
79
|
}
|
|
74
80
|
|
|
@@ -167,15 +173,23 @@ PROVIDER_METADATA = {
|
|
|
167
173
|
"qwen": {
|
|
168
174
|
"display_name": "Qwen",
|
|
169
175
|
"requires_api_key": True,
|
|
170
|
-
"requires_base_url":
|
|
176
|
+
"requires_base_url": False,
|
|
171
177
|
"supports_tools": True,
|
|
172
|
-
"supports_vision":
|
|
178
|
+
"supports_vision": False,
|
|
173
179
|
"default_model": ""
|
|
174
180
|
},
|
|
175
181
|
"kimi": {
|
|
176
182
|
"display_name": "Kimi",
|
|
177
183
|
"requires_api_key": True,
|
|
178
|
-
"requires_base_url":
|
|
184
|
+
"requires_base_url": False,
|
|
185
|
+
"supports_tools": True,
|
|
186
|
+
"supports_vision": False,
|
|
187
|
+
"default_model": ""
|
|
188
|
+
},
|
|
189
|
+
"lm_studio": {
|
|
190
|
+
"display_name": "LM Studio",
|
|
191
|
+
"requires_api_key": False,
|
|
192
|
+
"requires_base_url": False,
|
|
179
193
|
"supports_tools": True,
|
|
180
194
|
"supports_vision": True,
|
|
181
195
|
"default_model": ""
|
|
@@ -193,6 +193,14 @@ def create_llm_from_profile(llm_profile) -> BaseChatModel:
|
|
|
193
193
|
**common_params
|
|
194
194
|
)
|
|
195
195
|
|
|
196
|
+
elif provider == "lm_studio":
|
|
197
|
+
return ChatOpenAI(
|
|
198
|
+
model=model,
|
|
199
|
+
base_url="http://localhost:1234/v1" or base_url,
|
|
200
|
+
api_key="lm_studio",
|
|
201
|
+
**common_params
|
|
202
|
+
)
|
|
203
|
+
|
|
196
204
|
elif provider == "openai_compatible":
|
|
197
205
|
if not base_url:
|
|
198
206
|
raise ValueError("OpenAI Compatible provider requires base_url")
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
vibe_surf/__init__.py,sha256=WtduuMFGauMD_9dpk4fnRnLTAP6ka9Lfu0feAFNzLfo,339
|
|
2
|
-
vibe_surf/_version.py,sha256=
|
|
2
|
+
vibe_surf/_version.py,sha256=4Rjl2vv51c5O5nP6rSO_kAjD_5DtEsSqfA7Qrjnt-UY,706
|
|
3
3
|
vibe_surf/cli.py,sha256=pzJs--bjV6ZU7njJnxK_lh76l3pQ3opg_5V9Hw17PQw,21924
|
|
4
4
|
vibe_surf/common.py,sha256=_WWMxen5wFwzUjEShn3yDVC1OBFUiJ6Vccadi6tuG6w,1215
|
|
5
5
|
vibe_surf/logger.py,sha256=k53MFA96QX6t9OfcOf1Zws8PP0OOqjVJfhUD3Do9lKw,3043
|
|
6
6
|
vibe_surf/utils.py,sha256=3j6uRkgjOAIDYmbpW8C-DpYhdf1Kvahz715KSriVIk0,261
|
|
7
7
|
vibe_surf/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
vibe_surf/agents/browser_use_agent.py,sha256=Uj9tbCR5_dbrSSnKuajbL4zP_E9CwLMrdvw0EmDwnC0,34473
|
|
9
|
-
vibe_surf/agents/report_writer_agent.py,sha256=
|
|
10
|
-
vibe_surf/agents/vibe_surf_agent.py,sha256=
|
|
9
|
+
vibe_surf/agents/report_writer_agent.py,sha256=EiG0ITPGctCGJ8BCc6eVT92Pvb0J39nPArZuXmDUkzg,24097
|
|
10
|
+
vibe_surf/agents/vibe_surf_agent.py,sha256=8dR2WQGFzO_Y4dKpVGxrBZehBfowJ5Xq1NmWdmv57Kc,78987
|
|
11
11
|
vibe_surf/agents/views.py,sha256=yHjNJloa-aofVTGyuRy08tBYP_Y3XLqt1DUWOUmHRng,4825
|
|
12
12
|
vibe_surf/agents/prompts/__init__.py,sha256=l4ieA0D8kLJthyNN85FKLNe4ExBa3stY3l-aImLDRD0,36
|
|
13
13
|
vibe_surf/agents/prompts/report_writer_prompt.py,sha256=sZE8MUT1CDLmRzbnbEQzAvTwJjpITgh2Q8g1_eXmkzE,4454
|
|
14
|
-
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=
|
|
14
|
+
vibe_surf/agents/prompts/vibe_surf_prompt.py,sha256=9omjK6lT6REjCD_gcVriQUOIexczDdh_VPLZgF4WHHQ,7612
|
|
15
15
|
vibe_surf/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
vibe_surf/backend/llm_config.py,sha256=
|
|
16
|
+
vibe_surf/backend/llm_config.py,sha256=Ez2ZEMLRINqKOnxbmWD1mZCOKXwIv3GphxP5Y94fL0A,6065
|
|
17
17
|
vibe_surf/backend/main.py,sha256=8_n9dUF972E_UqguXK4zfq5AeulTUeey4X60qOXnigY,8272
|
|
18
18
|
vibe_surf/backend/shared_state.py,sha256=AK7MGBZMbaCxhuBgnfRtfcxMQS9SACh75W6UM8w4vMA,28654
|
|
19
19
|
vibe_surf/backend/voice_model_config.py,sha256=oee4fvOexXKzKRDv2-FEKQj7Z2OznACrj6mfWRGy7h0,567
|
|
@@ -40,7 +40,7 @@ vibe_surf/backend/database/migrations/v005_add_composio_integration.sql,sha256=Q
|
|
|
40
40
|
vibe_surf/backend/database/migrations/v006_add_credentials_table.sql,sha256=udyVO_L8CvdBKGNfmnxj-kU7UxR9EzUqMpHuV1h46vU,812
|
|
41
41
|
vibe_surf/backend/utils/__init__.py,sha256=V8leMFp7apAglUAoCHPZrNNcRHthSLYIudIJE5qwjb0,184
|
|
42
42
|
vibe_surf/backend/utils/encryption.py,sha256=LYTKJdOrKfQt8U7GUXIEsns6iBeXnZ7jlOPOgxvkD5c,5112
|
|
43
|
-
vibe_surf/backend/utils/llm_factory.py,sha256=
|
|
43
|
+
vibe_surf/backend/utils/llm_factory.py,sha256=WO2MI83n9p5YraPnmQhq_OEH3TBznm34kqhHpESnFng,9817
|
|
44
44
|
vibe_surf/backend/utils/utils.py,sha256=nY5-DGY4MfPumpQxXLQiodO0Db7lChryWIHbY9h971o,1137
|
|
45
45
|
vibe_surf/browser/__init__.py,sha256=_UToO2fZfSCrfjOcxhn4Qq7ZLbYeyPuUUEmqIva-Yv8,325
|
|
46
46
|
vibe_surf/browser/agen_browser_profile.py,sha256=fHk5q6hkwHfoNIuUitUBPJLdqbsZ7xjsLU6vTTlXEQI,6177
|
|
@@ -120,9 +120,9 @@ vibe_surf/tools/website_api/xhs/helpers.py,sha256=Dq2RyYKClBQ2ha2yEfpS1mtZswx0z9
|
|
|
120
120
|
vibe_surf/tools/website_api/youtube/__init__.py,sha256=QWmZWSqo1O6XtaWP-SuL3HrBLYINjEWEyOy-KCytGDw,1145
|
|
121
121
|
vibe_surf/tools/website_api/youtube/client.py,sha256=0kKy7fkBNc63hRvDgXaKnguDpDJ92rG8T2nT_Y1F5MQ,51989
|
|
122
122
|
vibe_surf/tools/website_api/youtube/helpers.py,sha256=GPgqfNirLYjIpk1OObvoXd2Ktq-ahKOOKHO2WwQVXCw,12931
|
|
123
|
-
vibesurf-0.1.
|
|
124
|
-
vibesurf-0.1.
|
|
125
|
-
vibesurf-0.1.
|
|
126
|
-
vibesurf-0.1.
|
|
127
|
-
vibesurf-0.1.
|
|
128
|
-
vibesurf-0.1.
|
|
123
|
+
vibesurf-0.1.38.dist-info/licenses/LICENSE,sha256=vRmTjOYvD8RLiSGYYmFHnveYNswtO1uvSk1sd-Eu7sg,2037
|
|
124
|
+
vibesurf-0.1.38.dist-info/METADATA,sha256=6Tk3I3iT9WxmMsvCjnztsSLnf2yReqhYVSN6oBy5kh4,6787
|
|
125
|
+
vibesurf-0.1.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
126
|
+
vibesurf-0.1.38.dist-info/entry_points.txt,sha256=UxqpvMocL-PR33S6vLF2OmXn-kVzM-DneMeZeHcPMM8,48
|
|
127
|
+
vibesurf-0.1.38.dist-info/top_level.txt,sha256=VPZGHqSb6EEqcJ4ZX6bHIuWfon5f6HXl3c7BYpbRqnY,10
|
|
128
|
+
vibesurf-0.1.38.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|