Skip to content

Conversation

@JordiPosthumus
Copy link

ui(cli): fix misaligned borders and overflow by computing visible column width
(emoji/EAW aware) and safe ellipsis. Applied to banner and “💭 Step” header. Test plan: run mini-agent and verify alignment with
long workspace paths.

              - Add provider to config + CLI
              - Implement chat/completions path with tool schema conversion
              - Update README + config example for LM Studio
              - Preserve Anthropic (MiniMax) default
…hinking

      - Explain LM Studio setting for reasoning_content
      - Note <think>…</think> fallback extraction
      - Clarify Anthropic-style interleaved thinking for MiniMax M2
  - Extract BaseLLM and provider classes (AnthropicLLM, OpenAILLM)
  - LLMClient becomes a thin facade that selects provider
  - OpenAI path: parse reasoning_content and <think> fallback
  - Convert tools to OpenAI schema; parse tool_calls
  - docs: LM Studio reasoning + interleaved thinking notes
  - tests: add OpenAI provider unit tests (no network)
  - Use visible column width (emoji/EAW) and safe ellipsis
@AkairoDev
Copy link
Collaborator

Hi @JordiPosthumus,

Thank you for this excellent PR! You correctly identified the Unicode alignment issue and provided a solid solution using unicodedata.east_asian_width() and emoji detection.

We've implemented a similar fix based on your approach, with some additional improvements:

  • Created a shared mini_agent/utils/terminal_utils.py module
  • Added 31 comprehensive unit tests
  • Fixed all three alignment issues (step headers, banner, session info)
  • Optimized performance (regex compiled once)

Your work directly inspired this solution. While we won't merge the PR as-is, your contribution was instrumental in improving Mini-Agent's terminal UI. All boxes now align perfectly! 🎉

We appreciate your contribution and look forward to more from you!

Best regards

@AkairoDev AkairoDev closed this Nov 13, 2025
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