本文へ移動
cccskills
無料GitHub で公開

session-rag-eval

Run and debug Chatbox session attachment RAG model evaluation with synthetic and real long-file fixtures.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md3.0 KB
  • README.md2.7 KB
  • run-chatbox-flow-eval.mjs12.1 KB
  • run-session-rag-eval.mjs9.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Session Attachment RAG Eval

Use this skill when validating file question-answering behavior for large chat attachments.

Goal

Verify both sides of model behavior:

  • The model calls query_session_attachment when the answer depends on an uploaded large file.
  • The model avoids retrieval for clearly unrelated user requests.

Prefer the Chatbox conversation-flow harness for product validation because it exercises the real renderer, config, license, local API, file upload, indexing, tool registration, and persisted messages.

Fixtures

Default fixture repo:

../../chatbox-session-rag-eval-fixtures

Fixture types:

  • synthetic long documents with hidden needle facts;
  • Wikipedia-derived real long documents with source attribution;
  • direct positive cases;
  • implicit positive cases where the user does not explicitly ask to search the file;
  • unrelated negative cases.

Regenerate fixtures in the fixture repo:

node scripts/generate-fixtures.mjs
node scripts/fetch-real-fixtures.mjs

Chatbox Flow

Start the local API before running the harness. Then build with USE_LOCAL_API=true; the renderer API origin is compiled into the bundle.

USE_LOCAL_API=true node ./node_modules/electron-vite/bin/electron-vite.js build --mode development
pnpm eval:session-rag:chatbox -- --case long-citrine-threshold --keep-user-data

The harness copies the real config.json into an isolated temporary userDataDir, injects a temporary default chat model if missing, and stores the session RAG sqlite DB at a separate temporary path.

Known Failure Modes

  • "This attachment is too large..." means session_attachment_embedding capability is false or unavailable for the active local API/license path.
  • If requests go to production, rebuild with USE_LOCAL_API=true.
  • If Electron hangs at startup, check stale CDP/Electron processes. The harness now allocates a free CDP port.
  • If the assistant says the file is still indexing after DB says ready, inspect the persisted user message. The message file must have sessionAttachmentIndexStatus: "ready" before context building.
  • Do not trust a log line that says the message was submitted unless the textarea cleared and the session contains the user message.

Useful Cases

pnpm eval:session-rag:chatbox -- --case long-citrine-threshold
pnpm eval:session-rag:chatbox -- --case implicit-citrine-current-policy
pnpm eval:session-rag:chatbox -- --case real-wiki-apollo-implicit-landing-site
pnpm eval:session-rag:chatbox -- --case multi-turn-real-wiki-apollo-followup
pnpm eval:session-rag:chatbox -- --case unrelated-simple-math
pnpm eval:session-rag:chatbox -- --case real-wiki-unrelated-capital

For fast model-behavior iteration without Electron:

pnpm eval:session-rag -- --dry-run
pnpm eval:session-rag -- --case implicit-citrine-current-policy

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Cherry-pick commits from chatbox-pro repo to the open chatbox repo, handling mobile-only files, package name differences, and other repo-specific exclusions.

日本語の概要は準備中です。原文の説明を表示しています。

chatboxai/chatbox4.2万2026年9月24日 更新

翻译 Chatbox Pro 当前未提交改动、暂存改动或用户指定 commit/range 中新增或受影响的 i18n key。当用户要求翻译、补全与改动 UI 文案相关的翻译时使用。Agent 需要阅读 diff 和组件上下文,遵守 skill 内置 glossary,并直接写 locale JSON;脚本只用于最后校验。

日本語の概要は準備中です。原文の説明を表示しています。

chatboxai/chatbox4.2万2026年9月24日 更新

chatboxai のスキルをすべて見る

このスキルの問題を報告する