Skip to content

Comments

Improve MiniMax/Kimi provider ergonomics + stabilize slides/progress output#85

Open
spirosrap wants to merge 35 commits intosteipete:mainfrom
spirosrap:feat/minimax-provider-alias-clean
Open

Improve MiniMax/Kimi provider ergonomics + stabilize slides/progress output#85
spirosrap wants to merge 35 commits intosteipete:mainfrom
spirosrap:feat/minimax-provider-alias-clean

Conversation

@spirosrap
Copy link

@spirosrap spirosrap commented Feb 15, 2026

Improve MiniMax/Kimi provider ergonomics + stabilize slides/progress output

Summary

This PR started with provider/model ergonomics, and now also includes a substantial hardening pass for slides-mode output quality based on real user runs.

1) MiniMax/Kimi provider ergonomics

  • Add first-class --model kimi alias (defaulting to openai/kimi-k2.5)
  • Add --model kimi/<model>
  • Keep/clarify MiniMax alias flow (--model minimax, --model minimax/<model>)
  • Add Kimi env support:
    • KIMI_API_KEY (primary)
    • MOONSHOT_API_KEY (alias)
    • KIMI_BASE_URL (primary)
    • MOONSHOT_BASE_URL (alias)
    • default base URL: https://api.moonshot.ai/v1
  • Wire through model parsing, auto-selection, env/runtime context, daemon, URL/asset flows, and help/docs

2) Kimi runtime compatibility fix

  • For openai/kimi..., force effective temperature=1 to avoid provider runtime errors (only 1 is allowed).

3) Slides/progress output stabilization

  • Fix spinner/progress gate races with stdout
  • Improve slide marker/chunk handling to avoid dropped interleaved text
  • Keep deterministic non-inline terminal behavior

4) Slide summary quality hardening (post-feedback)

  • Reduce mid-sentence truncation artifacts
  • Prevent oversized raw transcript blob injection into slide blocks
  • Compact oversized slide blocks while preserving sentence-complete output
  • Strengthen slide prompt instructions for concise third-person summaries
  • Suppress transcript-style fallback injection (dialog/CTA/disfluency tails)
  • Normalize conversational tails (e.g. even like, ..., right?, in a way of like)
  • Strip single-bullet monologue formatting and clean pronoun rewrite artifacts (the speaker the speaker)
  • Strip leading disfluencies in transcript-like slide tails (Um/uh) and normalize them into neutral prose

Why

Users reported:

  • cumbersome provider setup for non-default OpenAI-compatible endpoints
  • Kimi runtime failures with temperature handling
  • slides mode truncation/misalignment
  • transcript-like raw speech leaking into final slide paragraphs

This PR addresses all of the above in one branch.

User-facing behavior changes

  • New/expanded model aliases:
    • summarize "<url>" --model kimi
    • summarize "<url>" --model kimi/<model-id>
    • summarize "<url>" --model minimax
    • summarize "<url>" --model minimax/<model-id>
  • Improved slides-mode robustness and consistency on long videos and streamed chunk boundaries

Docs

  • README.md
  • docs/llm.md
  • docs/config.md
  • CLI help text (src/run/help.ts)

Tests / validation

Added/updated coverage for:

  • model parsing/spec + auto-selection (kimi, aliases, MiniMax)
  • config env mapping and daemon key selection
  • Kimi temperature handling
  • slides marker parsing, fallback segmentation, truncation regression cases
  • transcript-style tail normalization in slide blocks
  • progress gate stream stability

Representative test runs:

npm exec --yes pnpm@latest -- -s test \
  tests/model-spec.test.ts \
  tests/model-auto.test.ts \
  tests/config.env.test.ts \
  tests/daemon.agent.test.ts \
  tests/llm.generate-text.test.ts \
  tests/slides-output.stream-handler.test.ts \
  tests/slides-text.utils.test.ts \
  tests/slides.output.parse.test.ts \
  tests/progress-gate.test.ts \
  tests/summary-sanitize.test.ts \
  tests/prompts.link-summary.slides.test.ts

npm exec --yes pnpm@latest -- -s build

Commit history note

  • The high commit count on this branch is intentional.
  • Most follow-up commits are focused, incremental fixes for MiniMax slide rendering/output quality regressions found in real terminal/video runs (especially final-slide transcript-tail coherence and truncation behavior).
  • Each fix was validated with targeted tests and rebuilt to keep behavior stable while iterating quickly.

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.

1 participant