Skip to content

Comments

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

Closed
spirosrap wants to merge 17 commits intosteipete:mainfrom
spirosrap:feat/minimax-provider-alias
Closed

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

Conversation

@spirosrap
Copy link

@spirosrap spirosrap commented Feb 14, 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

@spirosrap spirosrap changed the title Add first-class Kimi model support + stabilize slides/progress output Improve MiniMax/Kimi provider ergonomics + stabilize slides/progress output Feb 14, 2026
@spirosrap spirosrap marked this pull request as ready for review February 14, 2026 17:52
@spirosrap
Copy link
Author

Superseded by #85 to keep the thread clean and continue review there.

@spirosrap spirosrap closed this Feb 15, 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