Commit Graph

63 Commits

Author SHA1 Message Date
Liang Jiaqing
9e18ce26dc fix: empty file ZeroDivisionError in file_read; remove SiderLLMSession; init global_mem with header 2026-04-16 16:04:18 +08:00
Liang Jiaqing
d18c8438d3 refactor: use with statement for requests.post in NativeClaudeSession 2026-04-14 23:35:51 +08:00
Liang Jiaqing
74abb77a0b refactor: rename default_model->model, add thinking_type support, fix pet urlopen error handling 2026-04-14 21:14:05 +08:00
Liang Jiaqing
499f0119bb refactor llm session params and thinking parsing 2026-04-13 20:20:31 +08:00
Jiaqing Liang
086599a5d6 fix: scroll ghost height reflow via overflow toggle; extend cache markers to last 2 user msgs; simplify cursor & merge JS fixes 2026-04-13 14:59:38 +08:00
Liang Jiaqing
d94e404f64 fix: use local var for claude tools conversion, avoid mutating self.tools 2026-04-12 14:46:45 +08:00
Liang Jiaqing
142de0c45b refactor: remove claude_tools_format flag, auto-convert tools in NativeClaudeSession.raw_ask 2026-04-12 14:43:46 +08:00
Liang Jiaqing
2b5cbff7be feat: --verbose flag, lazy mykeys loading, temperature config support
- agentmain: add --verbose arg for subagent monitoring mode
- llmcore: lazy-load mykeys/proxies via module __getattr__
- llmcore: fix auto_make_url regex for trailing slash cases
- llmcore: support temperature override from session config
- docs: update subagent.md with --verbose usage note
2026-04-12 14:29:32 +08:00
Liang Jiaqing
9e03a675ae fix: MixinSession copy before override & add no-tools warning; refine subagent SOP 2026-04-11 18:50:26 +08:00
Liang Jiaqing
6f1585e88f fix: comment out MixinSession copy to prevent tools not propagating to original session 2026-04-11 18:25:54 +08:00
Liang Jiaqing
de8adf76a9 feat: L4 session archiver + scheduler cron integration
- Add compress_session.py: compress raw model_responses into L4 archives
- Integrate 12h silent cron into scheduler.check() (runs before TASKS dir check)
- Whitelist compress_session.py in .gitignore (archives excluded)
- llmcore: refactor SSE warn handling, max_retries default 2->1
- scheduler: remove unused health_check(), INTERVAL 60->120
2026-04-11 15:55:35 +08:00
Liang Jiaqing
a737523f0a llmcore: remove runtime model param, upgrade Claude beta headers, softer backoff 2026-04-11 14:34:27 +08:00
Liang Jiaqing
7bfd6e43e6 fix: _fix_messages for Claude API compliance, raw_ask simplify, no_tool orphan fix, summary extraction improvement 2026-04-11 13:24:33 +08:00
Jiaqing Liang
5a1d3a41da fix: handle window object serialization in CDP bridge; improve file_write error msg; minor llmcore style cleanup 2026-04-10 14:04:41 +08:00
Liang Jiaqing
4b18ad683f Fix tool call conversion and working checkpoint result 2026-04-10 10:45:00 +08:00
Liang Jiaqing
2977be33c6 Update llmcore truncation, adb_ui parsing, stapp regex, and subagent docs 2026-04-09 18:43:20 +08:00
Liang Jiaqing
6628a3d987 tune: read_timeout 60s, simphtml print/newTabs fix, remove obsolete iframe sop 2026-04-08 20:45:06 +08:00
Liang Jiaqing
b4741a9a39 Optimize: force aggressive tag compression before history truncation to save context 2026-04-06 22:50:23 +08:00
Liang Jiaqing
aae6d810cd NativeClaudeSession: auto-convert OpenAI tools format to Claude; skip in NativeOAISession 2026-04-04 07:03:18 +08:00
Liang Jiaqing
14125ed57c refactor: move tools ownership from NativeToolClient to Session layer
- tools state now held by Session (NativeClaudeSession.tools)
- MixinSession.__setattr__ broadcasts tools/system to all sub-sessions
- NativeToolClient no longer duplicates tools storage
- fix: use type(s) is instead of isinstance to avoid catching NativeOAISession subclass
2026-04-03 23:05:28 +08:00
Liang Jiaqing
97abc43a40 refactor(simphtml): rewrite list detection & cutlist for multi-list support
- simphtml: replace center-point ancestor-chain approach with global container scan;
  support multiple lists per page; add container-scoped selector prefixes;
  inline FAKE ELEMENT hints with hidden item previews; remove findMainContent
- ga: hot-reload simphtml on each web_scan; fix file_read total_lines for keyword search;
  add errors='replace' for global_mem encoding safety
- llmcore: stabilize NativeClaude session/device IDs across requests;
  rename no_system_prompt to fake_cc_system_prompt; deep-copy message content
- launch: adjust window width 700->600
2026-04-03 19:38:51 +08:00
Liang Jiaqing
da40ba413b feat: fold_turns UI折叠 + 放宽输出限制 + 压缩history/key_info标签 + context_win调大 2026-04-03 10:43:15 +08:00
Liang Jiaqing
b0d4563ae8 Refine llmcore debug and tool parsing 2026-04-02 21:16:45 +08:00
Liang Jiaqing
88f32b208b feat: support NativeToolClient and optimize tool use format for native API 2026-04-01 23:09:48 +08:00
Liang Jiaqing
629e57ad83 Refactor: 统一消息格式和Session架构重构
核心改动:
- 统一所有Session内部使用Claude content-block格式
- 引入BaseSession基类,简化代码结构
- tool_results从字符串改为结构化字典列表
- NativeClaudeSession增强:支持cr_token、metadata、thinking提取
- ToolClient简化:删除structured分支,统一使用protocol prompt
- MixinSession支持按名称选择session
- ljqCtrl_sop增加DPI坐标陷阱警告
2026-04-01 22:20:18 +08:00
Liang Jiaqing
368d68baa5 fix: remove stray brace in tool_pattern regex 2026-04-01 09:47:53 +08:00
Liang Jiaqing
1c38412e42 revert: 恢复工具调用正则最小长度限制 2026-04-01 09:35:37 +08:00
Liang Jiaqing
404ea1947b fix: llmcore工具调用正则兼容tool_call标签,最小长度改为0 2026-04-01 09:30:55 +08:00
Liang Jiaqing
7b704b5dbc fix: _parse_openai_sse防御None值迭代(tool_calls/delta可能为null) 2026-03-30 11:19:56 +08:00
Liang Jiaqing
f0dea09123 fix: fallback tool_use parser handles both with/without space in type key 2026-03-29 21:04:34 +08:00
Liang Jiaqing
58e2f45793 fix: dump tool_use as array format to match fallback parser 2026-03-29 20:54:25 +08:00
Liang Jiaqing
844573387d fix: convert tool_use blocks to text in NativeOAISession history to avoid API content type error 2026-03-29 19:08:20 +08:00
Liang Jiaqing
18ef86b69d llmcore: move logs to temp/model_responses/ subdir; enhance error prefix detection 2026-03-29 15:06:19 +08:00
LJQ
d76842c549 Merge pull request #52 from octo-patch/feature/add-minimax-provider
feat: add MiniMax as first-class LLM provider
2026-03-29 14:51:02 +08:00
Liang Jiaqing
fe7e4c0952 refine: tool schema descriptions, docstring format, context_win 18000→20000 2026-03-29 13:06:06 +08:00
Liang Jiaqing
45679509ea MixinSession: spring-back to primary + translate tools_schema to English 2026-03-29 12:48:36 +08:00
Liang Jiaqing
226fa69cc3 refactor MixinSession._raw_ask: simplify retry logic, skip yielding first-only error chunk 2026-03-29 10:53:26 +08:00
PR Bot
b6f697d40f feat: add MiniMax as first-class LLM provider
- Temperature auto-clamping for MiniMax models: (0, 1] range enforcement
- <think> tag handling for MiniMax M2.7 reasoning output (alongside existing <thinking> support)
- MiniMax configuration example in mykey_template.py
- Updated README.md and GETTING_STARTED.md with MiniMax provider docs
- 19 unit tests + 6 integration tests (3 live tests with MINIMAX_API_KEY)

MiniMax models (M2.7, M2.7-highspeed, M2.5, M2.5-highspeed) are accessed via
the standard OpenAI-compatible interface at https://api.minimax.io/v1, using
the existing LLMSession with an 'oai'-prefixed config key.
2026-03-29 07:09:46 +08:00
Liang Jiaqing
a5dbce396a refactor: remove XAI/Gemini sessions, add MixinSession fallback, improve error handling
- Remove GeminiSession and XaiSession from llmcore.py
- Add MixinSession: multi-endpoint fallback with exponential backoff
- ga.py: handle empty/incomplete/max_tokens responses
- Update mykey_template.py and GETTING_STARTED.md accordingly
2026-03-28 08:14:35 +08:00
Jiaqing Liang
f6c5011eb0 refactor: rewrite GETTING_STARTED, cleanup README, add hub.pyw, remove QUICK_START.pdf 2026-03-27 12:58:13 +08:00
Liang Jiaqing
ff258dd0a9 refine: context window, timeout, abort guard, code_run multi-call check, clean logs 2026-03-26 21:31:48 +08:00
Liang Jiaqing
47ad98239f enhance SSE parsing, add stream error/truncation detection, fix tool_call fallback extraction 2026-03-26 18:42:09 +08:00
Liang Jiaqing
551666a53b refactor: unify OpenAI streaming into _openai_stream(), add Responses API support
- Extract shared _openai_stream() from LLMSession and NativeOAISession
- Add Responses API compatibility: system->developer role, flat tools format, no temperature
- Improve error handling: read body before raise_for_status in stream mode
- Add retry mechanism to NativeOAISession (was missing)
- Add api_mode, connect_timeout, read_timeout config to NativeOAISession
2026-03-25 23:50:28 +08:00
Liang Jiaqing
507e886322 refactor llmcore: extract _parse_claude_sse, simplify ToolClient, enhance logging and context trimming 2026-03-25 21:41:33 +08:00
Liang Jiaqing
1b60d2c773 minor: tweak prompt wording, improve OAI history compression 2026-03-25 10:00:16 +08:00
Liang Jiaqing
85250c2694 fix: unify assistant content format for prompt caching to work 2026-03-25 09:45:43 +08:00
Liang Jiaqing
b92d2bc97d fix: always compress history tags, adjust context trim thresholds 2026-03-25 08:37:46 +08:00
Liang Jiaqing
ddce7ef549 feat: reflect hot-reload + enhance prompt caching & history compression 2026-03-24 22:58:20 +08:00
Liang Jiaqing
28f22c3973 feat: add prompt caching for NativeClaudeSession 2026-03-24 20:00:44 +08:00
Liang Jiaqing
f9a0aa71fa fix: add tool_result placeholder for NativeClaudeSession to prevent 502 2026-03-24 19:54:27 +08:00