Skip to content
This repository was archived by the owner on Jul 12, 2025. It is now read-only.

尝试更新这个仓库的代码#2

Open
This-is-XiaoDeng wants to merge 4465 commits into
mainfrom
main
Open

尝试更新这个仓库的代码#2
This-is-XiaoDeng wants to merge 4465 commits into
mainfrom
main

Conversation

@This-is-XiaoDeng

Copy link
Copy Markdown
Member

要是不行就 Archive 了吧(?)

This-is-XiaoDeng and others added 29 commits June 11, 2026 22:49
- Update plugin count from 60+ to 67
- Add missing environment variables (OPENAI_DEFAULT_MODEL, MOONLARK_API_BASE, WAKATIME_*, TRANSLATE_DEEPLX_URL, METASO_API_KEY, HTMLRENDER_BROWSER)
- Add prompt/ directory to project structure
- Add COMMANDS.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md to project structure
- Clarify QQ Official adapter uses custom fork
The 'system' category is not defined in larkhelp.yaml. Valid categories are: tools, game, setting, community, new. Since command_stats is a utility feature, 'tools' is the appropriate category.
Gemini 2.0 起不再支持外部 HTTP URL 视频输入,仅支持:
- base64 内联数据
- Files API
- YouTube URL

将 bilibili 视频解析和文件视频描述的视频传递方式从 HTTP URL
改为 base64 data URI 内联上传,确保与 Gemini 2.0+ 兼容。

变更文件:
- utils/tools/bilibili.py: bilibili 视频总结改用 base64
- utils/file.py: 视频文件描述改用 base64
traceback.format_exc() 返回完整调用栈信息过长,
改为只截取最后一行(即实际报错信息),更简洁易读。
docs: update CLAUDE.md with accurate project info
fix: change cmd-rank category from 'system' to 'tools'
Co-authored-by: xxtg666 <xxtg666@gmail.com>
fix: 视频输入改为 base64 内联上传(适配 Gemini 2.0+)
fix: 工具调用失败提示只保留报错最后一行
- send_private_message 工具调用后延迟 3 分钟再返回结果
- 延迟期间等待用户回复并为私聊会话生成即时记忆
- 将「群聊事件总结」重命名为「QQ中的事件总结」以涵盖私聊事件
feat: 私聊回复延迟三分钟并生成事件总结;重命名群聊事件总结为QQ中的事件总结
This-is-XiaoDeng and others added 30 commits July 4, 2026 23:30
…x insertion queue synchronization

Replace the `messages` list in `MessageQueue` with a property that delegates to `fetcher.session.messages`, eliminating duplicate storage and ensuring consistency. Introduce an `_in_request` flag in `LLMRequestSession` to conditionally route message insertions to the queue during active requests, preventing out‑of‑order mutations. Update session reset logic to clear messages and insertion queue through the fetcher.
Introduce a secondary cosine term with a 12-hour period to the circadian
activation function, improving the model's fidelity to human sleep-wake
cycles by representing both primary and secondary daily peaks.
- 如果当前 LLM 响应轮次含有工具调用(tool_calls),则忽略该轮
  次输出的 JSON 解析失败提示,因为模型可能输出思考内容而非
  最终 ModelResponse 格式
- 如果同一 _fetch_reply 调用中已成功解析过 JSON,则忽略后续
  轮次的解析失败,避免重复插入错误的 parse_failed 提示
Previously, successful responses with only tool calls (no content)
would be retried because the retry logic only considered content
yields. Now, a dedicated flag `_this_round_success` is set for both
content and tool calls, ensuring correct retry behavior.
- Add meme_search_base_url config (default: https://meme-search.xxtg666.top)
- Add _search_meme_search() to query Meme-Search API and return negated IDs
- Add _fetch_meme_search_image() to download images from Meme-Search
- Modify search_sticker() to merge Meme-Search results with negated IDs
- Modify send_sticker() to handle negative IDs and fetch from Meme-Search
- Update YAML tool descriptions to mention external sticker sources
feat(sticker): 添加外部梗图源 Meme-Search 支持
MessageProcessor.append_user_message accessed self.openai_messages.messages
property directly without ensuring the MessageQueue fetcher was initialized.
When the fetcher was None (fresh session, no DB cache, no instant memories),
the property returned a temporary empty list and the user message was silently
lost, causing generate_reply to always fail with '规则检查不通过' (message
queue empty).

Now it calls _ensure_system_prompt() first to lazily initialize the fetcher.
Implement a `waiting_sequence` list in `MessageQueue` to buffer user messages
when the fetcher lock is held and continuous response mode is inactive.
After the fetcher task completes (in `_end_of_fetch`), the queued messages
are flushed into the session via `apply_waiting_queue`.

Also refactor image message handling in `MessageProcessor.process_messages`
to reuse `append_user_message`, avoiding direct manipulation of messages.
Resolved conflict in wdym/matcher.py: kept HEAD version since the PR's
changes to this file were only cosmetic (formatting) while main had
substantive changes (hash-based message lookup).
feat(core): add waiting queue for user messages during fetcher lock
Changed the sleep wake-up logic to treat event-based triggers differently
from mention triggers. Event triggers now force wake-up directly with a
reason, while mention triggers still use LLM decision. Added optional
reason parameter to `wake_up` for better logging across the system.
Inline conditional checks were replaced with a `_check_rules` method that
iterates over named rules, improving readability and debuggability.
Each rule now logs a detailed debug message indicating whether it blocks
or passes before the final decision is made.
The previous threshold of 30 minutes prevented context reset for sleep intervals
long enough that context should have been cleared. Lowering to 5 minutes aligns
the behavior with expected usage patterns and updates the corresponding log
message.
Avoid passing NoticeEvent to parse_message_to_string which calls
event.get_user_id() and fails with 'Event has no context!' on non-message
events.

Instead, reconstruct the OB11 message from bot.get_msg(), compute its
hash via compute_message_hash, and look up the pre-parsed text from
GroupMessage (message summary plugin). Falls back to plain text
extraction when cache is not found.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants