Cover Story
MiniCPM5-2B and Kimi-2.6 move in together at Hana Agent (OpenHanako).
What kind of story will unfold between them?
Chapter 1: Hello, Hana
I git cloned the source code of Hana (Hana Agent) and set up development and deployment locally. In this setup: the on-device models responsible for tool calling, coding, and long-text output are MiniCPM5-2B (bumblebuttpow/MiniCPM5-2B-heretic-abliterated-MLX-8bit), plus Kimi-2.6 for passing image content (to save cost).
Within the OpenHanako (Hana Agent) framework, we tried to build a lightweight local personal assistant. The hardware was limited to an M4 with 16GB (configuration shown below). To run within that limited memory, we chose to integrate mlx-lm into the source code and run MiniCPM5-2B inference at 8-bit (in fact, I first used the MLX-4bit quantized version, and its instruction-following and long-text abilities were truly catastrophic). With the memory budget tight, the context window is capped at 64K and max_token at 2048.

However, in the very first tool-calling test after the basic environment was in place, the system ran into the classic "small model multi-task concurrency crash." We gave the Agent the following instruction: "Please write a beautiful passage and use the write tool to save it to the workspace under the filename poem.md."
The expected execution chain was: the model first completes the text generation, then triggers structured Function Calling (the write tool), and finally produces poem.md at the specified path.
But MiniCPM5-2B's actual output showed severe instruction drift and format contamination:
A reply too painful to look at:

The kitten just wanted to show off. As a result, it stirred the <function> tag, the CDATA block, and the prose "Falling Flowers" into one big mess, and misheard the required poem.md as save_test.md.
- Confusion between tool-call format and natural language generation: the model directly output XML tags such as
<function name="write">, even wrapping them in<


Novel Continuation
Here I excerpted the opening of a novel I wrote, without setting up any subsequent storyline or emotional tone.

Continuation result:

Continuation Writing
Prompt:


Although Chinese appears in the answer, it does not stop MiniCPM from grasping the key points, the thematic outline, and the essence of the text.
Math Reasoning and Coding
MiniCPM5-2B demonstrated flawless math reasoning ability (no need to ask Qwen on your phone anymore)
This problem is a major question from the 2026 postgraduate entrance exam, Mathematics I, and the solution is perfectly correct!!
On the right is the coding test; the code produced is also correct, which is a strong showing for a locally deployed model.

![The image shows a piece of Python code that finds the non-empty contiguous subarray with the largest product in an integer array and returns its product. The code defines a maxProduct function that first checks whether the input array is empty and returns 0 if so. It then iterates over the array, computing the current subarray product, updating the maximum and minimum products, and finally returning the global maximum product. The code also includes test examples calling the function on arrays such as [2,3,-2,4], [-2,0,-1], and [-2,3,-4], with corresponding outputs. This code relates to the preceding mention of MiniCPM5-2B's performance in math reasoning and coding, demonstrating its programming ability.](/docs/en/assets/images/SLYcbPUZroj2TfxjhUTcIyNunSh-9c68dfa1579ce83068ca64e7b87f491f.webp)
Chapter 6: A Little Tool Prodigy
I did not explore Tool use very deeply; here are a few examples showing the journey from unusable to usable.
Tool Call Failure

Repeated Calls

Following Instructions Successfully

In Closing
Author: Aluka
Thank you all for reading this far. This is not a very good technical blog; it is more a sharing of the experience after some heavy modding. To customize a few things for MiniCPM, I stepped into a lot of pits and did not put them all out here (haha). Given time constraints, my computer's specs, my skill level (a shortage of tokens), and the pressure of coursework, I could only test to this extent, and there are still many bugs 🐞 in the project to fix and polish. If you are interested in this project, why not fork it and keep coding on your own machine (using Claude Code, Codex, Zcode...); you can also submit Issues to keep improving the project.
Finally, heartfelt thanks to the open-source project OpenHanako (all credit to its original author!!)
GitHub - liliMozi/openhanako: A personal AI agent with memory, personality, and autonomy.
