Commit Graph

117 Commits

Author SHA1 Message Date
余泓铮
3060c5e5db Merge branch 'revert_wings_merge' into 'master'
revert: wings merge

See merge request iesqa/httprunner!145
2025-08-06 06:37:54 +00:00
余泓铮
b64e1b62ec revert: wings merge 2025-08-06 14:35:22 +08:00
debugtalk
c6f358ffca fix: convert AI tests from skip statements to build tags (#1783)
* fix: convert AI tests from skip statements to build tags

- Add //go:build localtest tag to uixt/ai/ai_test.go and examples/game/llk/main_test.go
- Remove environment-based skip statements and hasRequiredEnvVars functions
- Maintain consistency with existing build tag approach for mobile/device tests
- Prevents CI/CD failures when external AI services are not available

Co-authored-by: debugtalk <debugtalk@users.noreply.github.com>

* fix: add missing BoundBox type and field to Element struct

- Add BoundBox struct with X, Y, Width, Height fields
- Update Element struct to include BoundBox field
- Fix structural mismatch between test expectations and Go code
- Resolves CI compilation failures

Co-authored-by: debugtalk <debugtalk@users.noreply.github.com>

---------

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2025-08-03 11:43:21 +08:00
余泓铮
0cf2583642 feat: 优化操作前截图 2025-07-31 12:27:36 +08:00
余泓铮
69aa92caf2 feat: 新增logid透传 2025-07-31 11:13:32 +08:00
余泓铮
4031290a70 feat: 添加默认history 2025-07-30 21:36:25 +08:00
余泓铮
b9cb39a3cf feat: wings接口先使用 2025-07-30 16:56:29 +08:00
余泓铮
5189bc8d53 feat: 优化协议 2025-07-30 15:54:03 +08:00
余泓铮
f05310bec0 feat: 支持list的history 2025-07-29 18:47:41 +08:00
余泓铮
19bb712743 feat: 回滚多余逻辑 2025-07-28 21:20:50 +08:00
余泓铮
f4506c58da feat: 优化日志点击 2025-07-28 21:16:22 +08:00
余泓铮
9611e92dcc feat: 增加日志 2025-07-28 20:13:01 +08:00
余泓铮
f517800257 feat: 支持History储存和StartToGoal 2025-07-28 19:39:29 +08:00
余泓铮
44b4da8091 feat: 合并接口 2025-07-28 16:30:16 +08:00
余泓铮
53b1f66c8a Merge branch 'master' into session_refactor 2025-07-22 17:58:24 +08:00
余泓铮
a9e2097fcf feat: 优化ocr日志 2025-07-22 17:58:03 +08:00
lilong.129
4890c098fa change: remove addDeviceContextForWings 2025-07-21 15:14:11 +08:00
lilong.129
5eb00f3949 merge master 2025-07-21 14:54:50 +08:00
余泓铮
6f3a8b1cbd feat: 支持自主配置LLM Service 2025-07-21 14:21:18 +08:00
lilong.129
8b83f3ac78 fix: remove internal url from code 2025-07-20 23:47:41 +08:00
lilong.129
9890588ca7 fix: support combined LLMService with wings service 2025-07-20 23:33:49 +08:00
余泓铮
c3fba11086 feat: 新增访问wings日志 2025-07-17 14:47:33 +08:00
余泓铮
f7a4ac6050 feat: 增加超时时间 2025-07-17 14:46:50 +08:00
余泓铮
dd52ecbe6a feat: 支持wings接口调用 2025-07-17 14:10:29 +08:00
余泓铮
fbf543bdda fix: 修复文件名过长,并打印部分有效信息 2025-07-11 17:14:23 +08:00
余泓铮
9c7f4b9275 merge master 2025-07-09 15:53:52 +08:00
余泓铮
813a4b7646 feat: 支持wings断言和自动化 2025-07-09 15:45:56 +08:00
lilong.129
d329fb610f fix: display ai assert in html report 2025-07-06 11:08:52 +08:00
lilong.129
147020cbe5 feat: add time limit for StartToGoal 2025-07-04 14:23:09 +08:00
lilong.129
a1a235d2b4 change: disable register tools for models with function calling 2025-07-03 23:07:39 +08:00
lilong.129
1694f36837 change: replace openai model with ark model 2025-07-03 22:13:23 +08:00
lilong.129
58ce7efb8b change: upgrade eino sdk 2025-07-03 21:47:45 +08:00
lilong.129
90ce090e35 fix: remove redundant message cleaning logic in callModelWithLogging
The previous message cleaning logic was flawed:
- cleanedMsg.Content was already set to message.Content
- The condition checked if message.Content == "" then set cleanedMsg.Content = ""
- This was redundant since cleanedMsg.Content would already be empty

The real fix for the API 400 error is in planner.go where we ensure Tool messages
have non-empty content. The utils.go changes were unnecessary.
2025-06-26 13:41:39 +08:00
lilong.129
e070801b00 fix: resolve doubao-seed-1.6-250615 model API 400 error with empty content
- Fix Tool message content issue when model returns empty content in function calling
- Add content validation in callModelWithLogging to handle empty content in messages
- Ensure compatibility between UI-TARS and function calling models

This resolves the "missing messages.content parameter" error when using 
doubao-seed-1.6-250615 model compared to doubao-1.5-ui-tars-250328
2025-06-26 10:57:27 +08:00
lilong.129
b1719344c0 feat: enhance AI result handling with model name and usage statistics for query, action, and assertion types 2025-06-24 15:25:12 +08:00
lilong.129
ed5d3127cb fix: add missing action options 2025-06-19 21:57:26 +08:00
lilong.129
a3f2ff37bc refactor: replace hardcoded log messages with constants for better maintainability 2025-06-18 17:17:29 +08:00
lilong.129
1f3366453e feat: implement structured response parsing with enhanced error recovery and UTF-8 sanitization 2025-06-18 16:59:35 +08:00
lilong.129
3d2707fa36 feat: add home and back action mappings to planner prompts 2025-06-18 12:01:53 +08:00
lilong.129
72df285fed fix: get resultsPath 2025-06-12 14:51:15 +08:00
lilong.129
51ee639cac docs: update docs 2025-06-11 14:57:08 +08:00
lilong.129
fbc888655f feat: optimize ILLMService interface to support different models for each component
- Add LLMServiceConfig to support mixed model configuration
- Enable Planner, Asserter, Querier to use different optimal models
- Provide recommended configurations for various use cases
- Maintain backward compatibility with existing API
- Update documentation to reflect current state without iteration history
- Merge test files and add comprehensive configuration tests
- Resolve circular dependency by moving config to option package
2025-06-11 12:18:31 +08:00
lilong.129
50414ec74d fix(ai): 修复 OpenAI 结构化输出解析问题并重构代码结构
- 修复 OpenAI structured output 的 properties 包装层解析问题
- 重构 parseCustomSchemaResult 函数,提高代码可维护性:
  - 拆分为多个职责单一的小函数
  - 消除重复的字段提取逻辑
  - 采用清晰的策略模式处理不同解析场景
- 增强测试用例,添加具体的数值和结构验证
- 保持完全向后兼容,所有现有测试通过

Fixes: TestQueryFunctionality/ComprehensiveAnalysis 测试失败问题
2025-06-11 11:15:02 +08:00
lilong.129
caf75b087b fix: remove unneccessary tests 2025-06-10 22:52:52 +08:00
lilong.129
81a92ae155 docs: update AI module README with latest features
- Add comprehensive documentation for the new Query functionality
- Update interface method names from Call to Plan for consistency
- Add OpenAI GPT-4O model support documentation
- Include detailed usage examples for basic and custom schema queries
- Add configuration examples for multiple model services
- Document new features like ResetHistory, Usage statistics, and automatic type conversion
- Expand advanced features section with custom output format examples
- Update all code examples to reflect the latest API changes

The documentation now reflects the current state of the AI module with all three core capabilities:
- Planning (renamed from Call)
- Assertion
- Query (new feature)

All examples and configurations are updated to match the latest implementation.
2025-06-10 20:52:44 +08:00
lilong.129
c513e56d30 feat: add Query method to ILLMService interface
- Add Query method to ILLMService interface for unified AI service access
- Update combinedLLMService to include querier functionality
- Add comprehensive tests for ILLMService Query method
- Support both basic query and custom schema query through unified interface
- Add environment variable checks for test reliability

This allows users to access all AI capabilities (planning, assertion, and query) 
through a single ILLMService interface, providing better API consistency and ease of use.
2025-06-10 20:45:49 +08:00
lilong.129
7c45acd061 feat: add AI Querier module with custom output schema support and refactor common model calling logic
- Add new AI Querier module for structured information extraction from screenshots
- Support custom output schema for structured data response
- Implement automatic type conversion and data validation
- Add comprehensive test suite with various data structure examples
- Refactor callModelWithLogging to utils.go as shared function for planner, asserter, and querier
- Eliminate code duplication across AI modules (30+ lines of repeated code)
- Improve maintainability with unified logging and timing logic
- Add environment variable checks in test setup to handle missing API keys gracefully

Key features:
- Custom output schema support with JSON Schema generation
- Automatic data type conversion with reflection
- Fallback mechanisms for robust parsing
- Comprehensive documentation and usage examples
- Backward compatibility with existing functionality
2025-06-10 20:41:35 +08:00
lilong.129
98bd41ff33 fix: add direction parameter support for scroll operations in UI-TARS parser
- Handle direction parameter in convertProcessedArgs for scroll actions
- Ensure scroll operations map to swipe with both coordinates and direction
- Add comprehensive test coverage for scroll action parsing
- Fix issue where scroll direction was missing from tool call arguments
2025-06-10 16:40:10 +08:00
lilong.129
c322d7c36c fix: improve JSON extraction to handle UTF-8 Chinese characters properly
- Replace byte-based brace counting with UTF-8 aware rune iteration
- Add proper string state tracking to handle escaped quotes
- Add comprehensive test cases for Chinese character handling
- Fix parsing errors when JSON contains Chinese text like 2048经典
2025-06-10 16:09:50 +08:00
lilong.129
88ae8faee1 feat: enhance VLM response parsing and DOUBAO model support
- Fix JSON extraction logic by prioritizing brace counting method
- Add support for DOUBAO string array coordinate format
- Introduce IS_UI_TARS helper function for model type checking
- Add comprehensive tests for JSON parsing and coordinate handling
- Improve error handling with retry delays for LLM service failures
2025-06-10 15:56:13 +08:00