Skip to content

feat: add context_limiter_c and debug_msg_dump toolpkg examples#466

Merged
AAswordman merged 6 commits intoAAswordman:mainfrom
HateCandy:add-toolpkg-examples
Apr 17, 2026
Merged

feat: add context_limiter_c and debug_msg_dump toolpkg examples#466
AAswordman merged 6 commits intoAAswordman:mainfrom
HateCandy:add-toolpkg-examples

Conversation

@HateCandy
Copy link
Copy Markdown
Contributor

添加两个 ToolPkg 示例插件

本 PR 向 examples/ 目录添加了两个 ToolPkg 格式的沙盒包示例:

1. context_limiter_c/ — 楼层限制器 C

截取最近 N 层上下文,保留 SYSTEM 消息 + 最近 N 层 USER/ASSISTANT 消息。

功能特点:

  • 通过 PromptFinalizeHook 在发送给模型前裁剪上下文
  • 通过 InputMenuTogglePlugin 在聊天输入栏提供开关和楼层数调节
  • 子包提供 set_floor_limit / get_floor_limit 工具,AI 也可以动态调节
  • 支持 3/5/8/10/15/20/30/50/100 层循环切换

文件结构:

examples/context_limiter_c/
├── manifest.json
├── main.js
└── packages/
    └── ctx_limiter_c.js

2. debug_msg_dump/ — 消息调试转储

将每次发送给模型的完整消息列表(包括 System Prompt、Tool Prompt、所有历史消息)保存到文件,用于调试。

功能特点:

  • 通过 PromptHistoryHookPromptFinalizeHook 在两个阶段分别转储
  • 输出文件保存在 /sdcard/Download/Operit/debug_msg_dump/dumps/
  • 提供 dump_current_chat 工具,可手动触发当前对话的消息转储
  • 中英双语描述

文件结构:

examples/debug_msg_dump/
├── manifest.json
├── main.js
└── debug_msg_dump.js

这两个插件展示了 ToolPkg 的多种高级特性:

  • registerPromptFinalizeHook / registerPromptHistoryHook(Prompt Hook)
  • registerInputMenuTogglePlugin(输入栏菜单插件)
  • 子包(subpackages)与全局变量通信
  • 多语言 manifest

@AAswordman AAswordman merged commit 77abfa6 into AAswordman:main Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants