.all-contributorsrc
.gitignore
.pre-commit-config.yaml
.python-version
AGENTS.md
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
README_zh.md
SECURITY.md
pyproject.toml
uv.lock
.agents/docs/README.md
.agents/docs/architecture/manifest.yaml
.agents/docs/error-experience/entries/2026-02-25-pr1-stale-base.md
.agents/docs/error-experience/entries/2026-02-26-codex-sandbox-git-blocked.md
.agents/docs/error-experience/entries/2026-02-26-codex-sandbox-tmux-blocked.md
.agents/docs/error-experience/entries/2026-02-26-hardcoded-version-string.md
.agents/docs/error-experience/entries/2026-02-26-python313-ssl-aki-required.md
.agents/docs/error-experience/entries/2026-02-26-rg-not-portable.md
.agents/docs/error-experience/entries/2026-02-26-sigttou-suspend-on-exit.md
.agents/docs/error-experience/entries/2026-02-27-pr-screenshot-cache-stale.md
.agents/docs/error-experience/entries/2026-02-28-codex-reverse-websocket-capture-gap.md
.agents/docs/error-experience/entries/2026-03-03-codex-ws-timeout-fallback-evidence.md
.agents/docs/error-experience/entries/2026-03-03-pr-screenshot-quality-failures.md
.agents/docs/error-experience/entries/2026-03-03-pr22-websocket-screenshot-quality-regression.md
.agents/docs/error-experience/entries/2026-03-03-ws-proxy-debugging-failure.md
.agents/docs/error-experience/entries/2026-03-10-codex-strip-prefix-url-mismatch.md
.agents/docs/good-experience/entries/2026-02-25-mock-e2e-pattern.md
.agents/docs/good-experience/entries/2026-02-25-proxy-e2e-ci-hardening.md
.agents/docs/good-experience/entries/2026-02-26-tmux-e2e-success.md
.agents/docs/good-experience/entries/2026-02-27-viewer-sticky-validation-flow.md
.agents/docs/guides/engineering-practices.md
.agents/docs/guides/new-client-integration-playbook.md
.agents/docs/guides/viewer-ux-rationale.md
.agents/docs/plans/2026-02-27-codex-support-handoff.md
.agents/docs/plans/2026-02-27-codex-support-plan.md
.agents/docs/plans/2026-02-27-viewer-sticky-e2e-workflow.md
.agents/docs/plans/2026-02-28-codex-websocket-support.md
.agents/docs/standards/README.md
.agents/docs/standards/coding-and-runtime.md
.agents/docs/standards/debugging-standards.md
.agents/docs/standards/e2e-and-evidence.md
.agents/docs/standards/hard-rules.md
.agents/docs/standards/screenshot-standards.md
.agents/docs/standards/validation-and-gates.md
.agents/docs/standards/workflow-and-review.md
.agents/evidence/images/deepseek-claude-code-serial-detail-scroll-1.png
.agents/evidence/images/deepseek-claude-code-serial-final-response.png
.agents/evidence/images/deepseek-claude-code-serial-overview.png
.agents/evidence/images/deepseek-claude-code-serial-sidebar-scroll.png
.agents/evidence/images/viewer-brand-refresh-real-e2e-2turn-v1.png
.agents/evidence/images/viewer-brand-refresh-real-e2e-tmux-v1.png
.agents/evidence/images/viewer-brand-refresh-real-v1.png
.agents/evidence/images/viewer-brand-refresh-v1.png
.agents/evidence/images/viewer-iframe-embed-query.png
.agents/evidence/images/viewer-sticky-actionbar-scrolled.png
.agents/evidence/images/viewer-sticky-actionbar-top.png
.agents/evidence/images/viewer-sticky-after-v2.png
.agents/evidence/images/viewer-sticky-after.png
.agents/evidence/images/viewer-sticky-before-v2.png
.agents/evidence/images/viewer-sticky-before.png
.agents/evidence/pr/PR44_VERIFY_REPORT.md
.agents/evidence/pr/WS_VERIFY_REPORT.md
.agents/evidence/pr/pr22-websocket-last-turn-wide.png
.agents/evidence/pr/pr22-websocket-viewer-wide.png
.agents/evidence/pr/pr26-test-evidence.png
.agents/evidence/pr/210/dashboard-detail-no-flicker.png
.agents/evidence/pr/210/dashboard-detail-route-stable.png
.agents/evidence/pr/210/dashboard-language-switch-stable.png
.agents/evidence/pr/210/dashboard-session-export-actions.png
.agents/evidence/pr/210/dashboard-session-standalone-viewer.png
.agents/evidence/pr/210/session-hover-tooltip.png
.agents/evidence/pr/210/session-sort-trace-copy.png
.agents/evidence/pr/210/viewer-image-placeholder-recovery.png
.agents/evidence/pr/210-local/claude-detail-deep.png
.agents/evidence/pr/210-local/claude-detail.png
.agents/evidence/pr/210-local/codex-resume-detail-deep.png
.agents/evidence/pr/210-local/codex-resume-detail.png
.agents/evidence/pr/210-local/dashboard-list-deepseek-success.png
.agents/evidence/pr/210-local/dashboard-list.png
.agents/evidence/pr/210-local/deepseek-error-detail-deep.png
.agents/evidence/pr/210-local/deepseek-error-detail.png
.agents/evidence/pr/210-local/deepseek-success-r1-detail-deep.png
.agents/evidence/pr/210-local/deepseek-success-r1-detail.png
.agents/evidence/pr/210-local/deepseek-success-r2-detail-deep.png
.agents/evidence/pr/210-local/deepseek-success-r2-detail.png
.agents/evidence/pr/210-local/deepseek-success-r3-detail-deep.png
.agents/evidence/pr/210-local/deepseek-success-r3-detail.png
.agents/evidence/pr/210-local/hermes-detail-deep.png
.agents/evidence/pr/210-local/hermes-detail.png
.agents/evidence/pr/210-local/kimi-detail-deep.png
.agents/evidence/pr/210-local/kimi-detail.png
.agents/evidence/pr/210-local/pi-detail-deep.png
.agents/evidence/pr/210-local/pi-detail.png
.agents/evidence/pr/214/codex-real-trace-html.png
.agents/evidence/pr/246-iframe-embed/default-desktop.png
.agents/evidence/pr/246-iframe-embed/embed-dark-controls-visible.png
.agents/evidence/pr/246-iframe-embed/embed-light-compact-hidden-chrome.png
.agents/evidence/pr/246-iframe-embed/embed-mobile-compact.png
.agents/evidence/pr/bedrock-default-filter/sidebar-default-main-turns.png
.agents/evidence/pr/bedrock-eventstream-viewer/bedrock-response-viewer.png
.agents/evidence/pr/codebuddy-cli/01-overview.png
.agents/evidence/pr/codebuddy-cli/02-tools.png
.agents/evidence/pr/codebuddy-cli/README.md
.agents/evidence/pr/content-blocks/claude-code-content-blocks-clean.png
.agents/evidence/pr/content-blocks/codex-content-blocks-clean.png
.agents/evidence/pr/content-blocks/codex-real-image-block-visible.png
.agents/evidence/pr/content-blocks/codex-real-resume-deep-clean.png
.agents/evidence/pr/content-blocks/codex-real-resume-mid-clean.png
.agents/evidence/pr/content-blocks/codex-real-resume-top-clean.png
.agents/evidence/pr/empty-trace-viewer/README.md
.agents/evidence/pr/empty-trace-viewer/empty-trace-viewer.png
.agents/evidence/pr/empty-trace-viewer/empty-trace.jsonl
.agents/evidence/pr/fix-diff-json-tools-target/diff-added-tool-expanded.png
.agents/evidence/pr/fix-diff-json-tools-target/diff-params-field-level.png
.agents/evidence/pr/fix-diff-json-tools-target/diff-turn-41-parent.png
.agents/evidence/pr/gemini-cli/README.md
.agents/evidence/pr/gemini-cli/first-01-system-and-tools.png
.agents/evidence/pr/gemini-cli/first-02-message-history.png
.agents/evidence/pr/gemini-cli/first-03-tool-result-history.png
.agents/evidence/pr/gemini-cli/first-04-response-output.png
.agents/evidence/pr/gemini-cli/resume-01-system-and-tools.png
.agents/evidence/pr/gemini-cli/resume-02-message-history.png
.agents/evidence/pr/gemini-cli/resume-03-tool-result-history.png
.agents/evidence/pr/gemini-cli/resume-04-response-output.png
.agents/evidence/pr/issue129/README.md
.agents/evidence/pr/issue129/deepseek-real-token-summary.png
.agents/evidence/pr/issue129/deepseek-real-tool-dialogue.png
.agents/evidence/pr/issue129/token-summary-label.png
.agents/evidence/pr/issue143/README.md
.agents/evidence/pr/issue143/codex-cached-tokens.png
.agents/evidence/pr/issue150/README.md
.agents/evidence/pr/issue150/codex-ws-tool-result-order.png
.agents/evidence/pr/issue164/codex-newapi-provider-captured.png
.agents/evidence/pr/issue87/codex-real-e2e-viewer.png
.agents/evidence/pr/issue87/codex-sdk-real-e2e-viewer.png
.agents/evidence/pr/issue87/codex-sdk-real-ws-continuation-warning.png
.agents/evidence/pr/issue87/codex-sdk-real-ws-message-history.png
.agents/evidence/pr/opencode-real-quality/README.md
.agents/evidence/pr/opencode-real-quality/opencode-first-01-system-tools.png
.agents/evidence/pr/opencode-real-quality/opencode-first-02-tool-result-output.png
.agents/evidence/pr/opencode-real-quality/opencode-openai-oauth-01-system-tools-cache.png
.agents/evidence/pr/opencode-real-quality/opencode-openai-oauth-02-message-history-tools.png
.agents/evidence/pr/opencode-real-quality/opencode-openai-oauth-03-final-output-sse.png
.agents/evidence/pr/opencode-real-quality/opencode-resume-01-multiturn-history.png
.agents/evidence/pr/opencode-real-quality/opencode-resume-02-final-output-tokens.png
.agents/evidence/pr/pi-cli-support/pi-openai-oauth-first-final-top.png
.agents/evidence/pr/pi-cli-support/pi-openai-oauth-second-events-scroll.png
.agents/evidence/pr/pi-cli-support/pi-openai-oauth-second-final-top.png
.agents/evidence/pr/pi-cli-support/pi-openai-oauth-second-response-scroll.png
.agents/evidence/pr/pr122/validation.png
.agents/evidence/pr/pr139/README.md
.agents/evidence/pr/pr139/kimi-real-multiturn-01-system-overview.png
.agents/evidence/pr/pr139/kimi-real-multiturn-02-round1-tool-scrolled.png
.agents/evidence/pr/pr139/kimi-real-multiturn-03-round3-scrolled.png
.agents/evidence/pr/pr139/kimi-real-multiturn-04-round5-history-scrolled.png
.agents/evidence/pr/pr139/kimi-real-multiturn-05-final-response-scrolled.png
.agents/evidence/pr/pr139/kimi-real-multiturn-06-full-json-scrolled.png
.agents/evidence/pr/pr22/trace-viewer-summary.png
.agents/evidence/pr/pr22/ws-upgrade-log.png
.agents/evidence/pr/pr44/pr44-turn2-messages.png
.agents/evidence/pr/pr44/pr44-turn2-response.png
.agents/evidence/pr/pr63/pr63-collapsed.png
.agents/evidence/pr/pr63/pr63-expanded.png
.agents/evidence/pr/pr73/README.md
.agents/evidence/pr/pr73/pr73-cxx-forward-websocket-fixed-output.png
.agents/evidence/pr/pr73/pr73-cxx-forward-websocket.png
.agents/evidence/pr/pr73/pr73-direct-forward-websocket-fixed-output.png
.agents/evidence/pr/pr73/pr73-direct-forward-websocket.png
.agents/evidence/pr/pr74/README.md
.agents/evidence/pr/pr74/pr74-cxx-first-message-no-reconnect.png
.agents/evidence/pr/pr75/README.md
.agents/evidence/pr/pr75/pr75-codex-request-context-label.png
.agents/evidence/pr/pr79/export-html-viewer.png
.agents/evidence/pr/pr94/dashboard-real-traces.png
.agents/evidence/pr/pr99/viewer-real-codex-tool-name-fallback.png
.agents/evidence/pr/pr99/viewer-tool-name-fallback.png
.agents/evidence/pr/qoder-cli/qoder-trace-detail-scrolled.png
.agents/evidence/pr/qoder-cli/qoder-trace-last-entry-expanded.png
.agents/evidence/pr/session-dashboard/README.md
.agents/evidence/pr/session-dashboard/session-dashboard-detail.png
.agents/evidence/pr/session-dashboard/session-dashboard.png
.agents/evidence/pr/sqlite-trace-store/dashboard-detail-loading.png
.agents/evidence/pr/sqlite-trace-store/dashboard-load-more.png
.agents/evidence/pr/sqlite-trace-store/dashboard-loading.png
.agents/evidence/pr/sqlite-trace-store/dashboard-sqlite.png
.agents/evidence/pr/stream-events-default-off/codex-default-messages.png
.agents/evidence/pr/stream-events-default-off/codex-default-system-prompt.png
.agents/evidence/pr/stream-events-default-off/default-no-raw-events.png
.agents/evidence/pr/stream-events-default-off/opt-in-raw-events.png
.agents/evidence/pr/technical-log-tabs/history-delete-control.png
.agents/evidence/pr/technical-log-tabs/trace-copy-followup.png
.agents/evidence/pr/technical-log-tabs/trace-view.png
.agents/evidence/pr/tool-search/README.md
.agents/evidence/pr/tool-search/responses-function-call.png
.agents/evidence/pr/tool-search/tool-search-output-context.png
.agents/evidence/pr/tool-search/tool-search-response.png
.agents/evidence/pr/viewer-i18n-source/README.md
.agents/evidence/pr/viewer-i18n-source/viewer-i18n-source-codex-trace.png
.agents/evidence/pr/viewer-quality/README.md
.agents/evidence/pr/viewer-quality/anthropic_messages.png
.agents/evidence/pr/viewer-quality/codex_websocket.png
.agents/evidence/pr/viewer-quality/gemini.png
.agents/evidence/pr/viewer-search/quote-search.png
.agents/recordings/01_error_banner_and_sidebar.png
.agents/recordings/02_sidebar_error_styling.png
.agents/recordings/03_copy_button_fallback_success.png
.agents/recordings/codex-demo.cast
.agents/recordings/codex-demo.gif
.agents/recordings/demo.mp4
.agents/recordings/demo_zh.mp4
.agents/recordings/diff-scroll-bottom.png
.agents/recordings/diff-scroll-top.png
.agents/recordings/search-01-open.png
.agents/recordings/search-02-highlight.png
.agents/recordings/search-03-navigate.png
.agents/recordings/viewer-01-turn1-overview.png
.agents/recordings/viewer-02-tools-sse-expanded.png
.agents/recordings/viewer-03-request-json-scrolled.png
.agents/recordings/viewer-04-turn5.png
.agents/recordings/viewer-05-diff.png
.agents/recordings/viewer-06-curl.png
.agents/recordings/viewer-07-turn10.png
.agents/recordings/viewer-08-dark-mode.png
.agents/recordings/viewer-09-sidebar-scrolled.png
.agents/recordings/viewer-10-last-turn.png
.agents/recordings/viewer-11-final-wide.png
.agents/recordings/viewer-codex-01-overview.png
.agents/recordings/viewer-codex-02-messages.png
.agents/recordings/viewer-codex-02-system-prompt.png
.agents/recordings/viewer-codex-03-messages.png
.agents/recordings/viewer-codex-03-scrolled.png
.agents/recordings/viewer-codex-04-response.png
.agents/recordings/viewer-codex-04-turn3.png
.agents/recordings/viewer-codex-05-diff.png
.agents/recordings/viewer-codex-05-tokens.png
.agents/recordings/viewer-codex-06-diff.png
.agents/recordings/viewer-codex-08-tools.png
.agents/recordings/viewer-demo.mp4
.agents/skills/codex-e2e-test/SKILL.md
.agents/skills/demo-video/SKILL.md
.agents/skills/e2e-test/SKILL.md
.agents/skills/js-in-html-testing/SKILL.md
.agents/skills/legibility-check/SKILL.md
.agents/skills/playwright-screen-recording/SKILL.md
.agents/skills/pr-preflight/SKILL.md
.agents/skills/push-release/SKILL.md
.agents/skills/real-e2e-test/SKILL.md
.agents/skills/screenshot-validation/SKILL.md
.agents/skills/translate-i18n/SKILL.md
.claude/CLAUDE.md
.claude/skills
.githooks/pre-commit
.github/ISSUE_TEMPLATE.md
.github/pull_request_template.md
.github/ISSUE_TEMPLATE/bug_report.yml
.github/ISSUE_TEMPLATE/config.yml
.github/ISSUE_TEMPLATE/feature_request.yml
.github/PULL_REQUEST_TEMPLATE/chore.md
.github/PULL_REQUEST_TEMPLATE/docs.md
.github/PULL_REQUEST_TEMPLATE/feature.md
.github/PULL_REQUEST_TEMPLATE/fix.md
.github/PULL_REQUEST_TEMPLATE/plan.md
.github/PULL_REQUEST_TEMPLATE/refactor.md
.github/PULL_REQUEST_TEMPLATE/test.md
.github/workflows/auto-release.yml
.github/workflows/ci.yml
.github/workflows/legibility.yml
.github/workflows/publish.yml
claude_tap/__init__.py
claude_tap/__main__.py
claude_tap/certs.py
claude_tap/cli.py
claude_tap/cursor_transcript.py
claude_tap/dashboard.html
claude_tap/dashboard.py
claude_tap/export.py
claude_tap/forward_proxy.py
claude_tap/history.py
claude_tap/live.py
claude_tap/proxy.py
claude_tap/py.typed
claude_tap/shared_dashboard.py
claude_tap/sse.py
claude_tap/trace.py
claude_tap/trace_log_handler.py
claude_tap/trace_store.py
claude_tap/usage.py
claude_tap/viewer.html
claude_tap/viewer.py
claude_tap/viewer_i18n.json
claude_tap/ws_proxy.py
claude_tap.egg-info/PKG-INFO
claude_tap.egg-info/SOURCES.txt
claude_tap.egg-info/dependency_links.txt
claude_tap.egg-info/entry_points.txt
claude_tap.egg-info/requires.txt
claude_tap.egg-info/top_level.txt
docs/architecture.png
docs/architecture.svg
docs/billing-header-diff.png
docs/demo.gif
docs/demo_zh.gif
docs/diff-modal.png
docs/support-matrix.md
docs/support-matrix.zh.md
docs/viewer-dark.png
docs/viewer-light.png
docs/viewer-zh.png
docs/evidence/pr114/README.md
docs/evidence/pr114/README.zh.md
docs/evidence/pr114/update-command-dry-run.png
docs/evidence/pr157/README.md
docs/evidence/pr157/README.zh.md
docs/evidence/pr157/collapsible-json-tree.png
docs/guides/OPENCLAW_README.md
docs/guides/OPENCLAW_README.zh.md
docs/guides/deepseek-claude-code.md
docs/guides/deepseek-claude-code.zh.md
scripts/README.md
scripts/check_changelog.py
scripts/check_coverage.py
scripts/check_legibility.py
scripts/check_pr.sh
scripts/check_pr_policy.py
scripts/check_screenshots.py
scripts/check_screenshots.sh
scripts/gen_architecture.py
scripts/record_viewer.py
scripts/run_real_e2e.sh
scripts/run_real_e2e_tmux.sh
scripts/translate_i18n.py
scripts/update_changelog.py
scripts/verify_screenshots.py
tests/__init__.py
tests/conftest.py
tests/test_auto_release_workflow.py
tests/test_bedrock_viewer.py
tests/test_chat_completions_sse.py
tests/test_check_changelog.py
tests/test_check_coverage.py
tests/test_check_legibility.py
tests/test_check_pr_policy.py
tests/test_check_pr_script.py
tests/test_check_screenshots.py
tests/test_client_config_framework.py
tests/test_codebuddy_launch.py
tests/test_codex_launch.py
tests/test_cursor_launch.py
tests/test_dashboard.py
tests/test_deepseek_compat.py
tests/test_diff_matching.py
tests/test_e2e.py
tests/test_export.py
tests/test_gemini_launch.py
tests/test_gemini_viewer.py
tests/test_hermes_launch.py
tests/test_hermes_viewer.py
tests/test_history.py
tests/test_kimi_launch.py
tests/test_macos_ca_trust.py
tests/test_nav_browser.py
tests/test_opencode_launch.py
tests/test_opencode_viewer.py
tests/test_path_allowlist.py
tests/test_perf_viewer.py
tests/test_pi_launch.py
tests/test_qoder_launch.py
tests/test_responses_browser.py
tests/test_responses_support.py
tests/test_search_browser.py
tests/test_shared_dashboard.py
tests/test_translate_i18n.py
tests/test_update_changelog.py
tests/test_update_command.py
tests/test_usage.py
tests/test_verify_screenshots.py
tests/test_viewer_contracts.py
tests/test_viewer_i18n_source.py
tests/test_viewer_non_dict_body.py
tests/test_windows_compat.py
tests/test_ws_proxy.py
tests/e2e/README.md
tests/e2e/__init__.py
tests/e2e/conftest.py
tests/e2e/test_real_proxy.py
tests/fixtures/codex_ws_multi_response_trace.jsonl
tests/fixtures/openai_responses_trace.jsonl