- 📦 Product Analysis Service: New
ProductServicefor the full product analysis lifecycle — create, poll, and retrieve reports via REST API (no WebSocket needed).client.product.create()— submit product name or URL with optional attachmentsclient.product.get_info()— poll product generation statusclient.product.get_report()— get full analysis report (keywords, personas, competitors, campaigns)client.product.get_categories()— retrieve industry classification dataclient.product.create_and_wait()— high-level method that handles the entire create → poll → report flow with callback support
- 📊 Product Data Models: Typed Pydantic models for the product API:
CreateProductRequest,CreateProductResponse,ProductInfo,ProductReport,Campaign,IndustryCondition,Category,Industry
- 🔇 Cleaner Logging: WebSocket connection URL (containing credentials) moved from
INFOtoDEBUG; disconnect internals also demoted toDEBUG - 📋 Better CLI Output: Plan status updates now use
[plan] status: xxxformat; task result shows[task_result] completed/stopped; JSON completion messages parsed to display human-readable reason instead of truncated raw JSON - 🛡️ Example Robustness: Both examples now exit cleanly with a helpful message when
mate.yamlis missing or has invalid credentials, instead of falling back to empty defaults
wyseos/mate/services/product.py— ProductService implementationexamples/product_analysis/example.py— standalone product analysis exampledocs/api-product-create.md— product API documentation (Chinese)
📦 See: wyseos-sdk 0.3.1 on PyPI
- 🎯 Marketing Mode: Full marketing support — product analysis, trending topic selection, tweet/thread generation, and rich streaming with chunk aggregation.
- New
TaskMode.Marketingfor marketing-specific session execution - New
MarketingServicewith REST APIs:get_product_info,get_report_detail,update_report,get_research_tweets - New
SessionService.get_marketing_data()for retrieving generated content (reply/like/retweet/tweet) per session - Rich streaming support for
writer_twitter,marketing_tweet_reply,marketing_tweet_interact
- New
- 🔑 JWT Authentication: Dual auth support — API key and JWT token, across both HTTP and WebSocket.
- 🛑 CLI Safe Mode:
stop_on_x_confirmoption to prevent browser actions in headless/CLI environments. - ⏸️ Session Pause: New
send_pause()for pausing active sessions.
- 📦 TaskRunner Refactor: Extracted
TaskRunner,TaskExecutionOptions,TaskResult, andTaskModeout ofwebsocket.pyinto dedicatedtask_runner.py(~500 lines reduction in websocket module). - 🔇 Cleaner CLI Output: Debug logs moved from
INFOtoDEBUGlevel; verbose output uses consistent[plan]/[text]/[task_result]prefixes; JSON completion messages parsed to show human-readable reason. - 📋 Session Protocol Alignment:
CreateSessionRequestsimplified (removedteam_id, addedmode/platform/extra);SessionInfofields made lenient with sensible defaults. - 🏭 Factory Function:
create_task_runner()exposed at package level for clean initialization.
- Fixed
auto_accept_plannot working inrun_interactive_session - Fixed session not stopping after receiving final answer
- Fixed screenshot printing to omit large base64 data
CreateSessionRequestno longer requiresteam_id- Session status constants renamed:
SESSION_STATUS_RUNNING→SESSION_STATUS_ACTIVE - Plan status
SKIPPEDrenamed toSKIP
📦 See: wyseos-sdk 0.3.0 on PyPI
- 🎯 New: TaskRunner Interface: Simplified task execution interface that reduces complex WebSocket operations from 400+ lines to 10-20 lines of clean code.
run_task()- Automated execution with comprehensive resultsrun_interactive_session()- Interactive mode with user input support
- ⚙️ New: TaskExecutionOptions: Advanced configuration system with intelligent defaults including performance-optimized screenshot capture (
capture_screenshots=Falseby default). - 📊 New: Enhanced Result Tracking: Complete
TaskResultmodel with execution duration, message counts, plan history, and structured error reporting.
- 📦 Refactored Message Handling: Modular message processing with dedicated handlers for text, plan, rich media, and input messages.
- 📚 Enhanced Documentation: Complete rewrite of quickstart guide and README with modern examples and clear API documentation.
- ⚡ Performance Optimizations: Default settings optimized for speed with conditional data collection and reduced memory usage.
- 🛡️ Improved Error Handling: Enhanced exception management with detailed error context and graceful resource cleanup.
- 🧵 Enhanced Thread Safety: Improved thread-safe completion event handling for concurrent operations.
- 🔌 Connection Management: Better WebSocket connection lifecycle management with proper cleanup.
📦 See: wyseos-sdk 0.2.1 on PyPI
- 🏷️ Project Renamed: The SDK has been renamed from
wyse-mate-sdktowyseos-sdk. All module imports must be updated fromwyse_matetowyseos.mate.- Before:
from wyse_mate import Client - After:
from wyseos.mate import Client
- Before:
- 🏗️ Project Restructuring: Aligned project with the
WyseOSand established a new, extensible namespacewyseosfor future tools. - ⚙️ Simplified Configuration: Removed
user_agent,debug, andhttp_clientfrom the configuration options for a cleaner setup. - 📚 Added Examples: Introduced a new
examplesdirectory with agetting_startedguide to improve user onboarding.
- 🚫 Fixed
ImportError: Resolved anImportErrorforDEFAULT_USER_AGENTthat occurred after simplifying the configuration. - ✅ Fixed
ValidationError: Addressed aValidationErrorby making theintent_idfield in theSessionInfomodel optional to handle missing fields in the API response.
📦 See: wyseos-sdk 0.2.0 on PyPI
- 🆕 New: Plan messages with overall status tracking
- 🆕 New: Expanded WebSocket interactions and stability
- 📈 Improvement: Clearer usage in examples
📦 See: wyse-mate-sdk 0.1.2
- 6d52b80 — release version 0.1.2
- dda05b0 — add plan overall status
- bcec77d — add message type Plan
- 09c20ad — update example
- 77fe5b3 — update example
- fb6fef6 — support more websocket interactions
- 🐛 Found a bug? Open an issue on Github