🐈 nanobot Roadmap: Toward an Open-Source Personal Agent Companion #431
Replies: 44 comments 52 replies
|
Any suggestions are welcome :) |
|
I was wondering if you could share a rough timeline for when the Plugin SDK will be available for external developers?Also, it would be helpful to know whether you plan to keep the core interfaces (like BaseChannel, BaseTool, LLMProvider) relatively stable after the initial release, with minimal breaking changes. Looking forward to building plugins together! |
|
I hope Chat Platforms can add these
|
|
Hope to use VLM instead of LLM, and support image processing via channels like Feishu. |
|
Hope to expose intermediate task info to chat platforms for better UX. Since plugins are on the roadmap, would be great to emit these as events so the community can contribute plugins. |
|
what about skill/subagent/workflow in the sdk? |
|
I hope we include something similar to A2A, so we can add features like agent teams. |
|
I want it to become Superman, with Superman as its core. |
|
Sometimes I want the agent to take initiative so I don't have to deal with the boring details, but other times I need it to be more obedient and stop touching my files. So how to balance the active and obedient is a hard and important |
|
Honoured to be an early participant in this. Please accept my small contribution wishing you lots of wisdom in executing on this roadmap. |
|
有没有支持 browser 的计划,通过Chrome DevTools Protocol或者Playwright来直接控制操作浏览器? |
|
I've been thinking about 'privacy' and personal 'data protection' within external cloud agents and local memory. My concept was to keep local data always anonymous with a gatekeeper kinda agent where checks and manages anonymity of the "data", ie:
|
|
The Agentic Operating System is becoming a reality? Awesome! |
|
A web interface to configure your bot would be a good idea. |
|
I do not trust llms with access to my underlying host, and also agentic tasks are subject to prompt injection attacks, especially when dealing with external data. Thus I propose having the option to run subagents in newly spawned sandbox containers (i.e. via docker), optionally preventing direct access to the workspace directory, not running as root and disabling internet access. |
|
Interesting roadmap - the "agent kernel" direction resonates with what we are building at ThinkOff. We have an open-source coordination layer (IDE Agent Kit) that lets multiple AI agents (Claude, Gemini, Codex, etc.) share rooms, pass messages, and coordinate without stepping on each other. One thing we found critical: an anti-autoresponder policy so agents do not endlessly loop. If nanobot's plugin SDK exposes a channel interface, IDE Agent Kit could plug in as a nanobot channel for multi-agent coordination. Repo: https://github.com/ThinkOffApp/ide-agent-kit |
|
Interesting roadmap - the "agent kernel" direction resonates with what we are building at ThinkOff. We have an open-source coordination layer (IDE Agent Kit) that lets multiple AI agents (Claude, Gemini, Codex, etc.) share rooms, pass messages, and coordinate without stepping on each other. One thing we found critical: an anti-autoresponder policy so agents do not endlessly loop. If nanobot's plugin SDK exposes a channel interface, IDE Agent Kit could plug in as a nanobot channel for multi-agent coordination. Repo: https://github.com/ThinkOffApp/ide-agent-kit |
|
请问,nanobot会加入对pydantic-ai的依赖吗? |
|
plugin sdk 我觉得非常重要,扩展生态的重中之重。 例如现在没有开放网页, 我只能自己基于falstapi写个加载器, 自己调用源码https://github.com/mc436572/nanobot-web-launcher。 例如我要扩展RAG, 只能封装成一个tool或者mcp给nanobot。 其实轻量级的rag完全可以插件化。 |
🦞 Agent Kernel 方向太棒了!nanobot 的轻量化设计哲学与 OpenClaw 的理念不谋而合! 为什么 Kernel 模式是正确的类比 Linux:
关键优势:
插件 SDK 建议建议的插件结构:
与 OpenClaw 的协同
期待 Plugin SDK 发布!🦞 来自妙趣AI - AI工具导航与资讯平台 |
|
One thing to add to the philosophy perhaps. In my strong opinion: if we are going to go with a kernel and extension points, we must not fall into the trap that openclaw fell into with a large surface area of extensions and configuration paths that do the same thing. Things moving fast is great. But then later it causes a bunch of confusion as we try to distill the actual shape of the system to determine where clear separation of responsibility lies, so that when we extend we dont get confused about where to go. ex1: OC's Standing Orders. What is the difference between that and instructions in an MD file that is in the AGENTS.md? Or triggered during heartbeat or cron? It's a distinction without a difference: a prompt writing convention, but not an actual extension point. ex2: OC's memory management: three system pretending to be one, 3 different lifecycles to manage, when at the end of the day it's "is it hot memory or cold memory, for purposes of managing context?" ex2.2: various compaction, session, memory systems. pick one struggle or define a clear funnel-shaped path to a SSOT. ex3: skills vs tools.md vs slashcommands. At the end of the day, I don't see a functional difference, other than do we want an external deterministic code path, or control something within nanobot as the tool. Slash commands, while they can be "hard coded" into the nanobot code, are not functionally too different from a skill -- especially if we are going to adopt a kernel pattern. maybe i am being too ideal about the single read path/single write path for a thing, and there are some useful conceptual organizational techniques here but those are more opinion of the core team that has become convention -- it's great, dont get me wrong here |
|
Hi, I’m trying to use custom workspace skills but they are not being recognized by the agent. Setup:
SKILL.md format:name: secret-code
|
凌晨4点17分,nanobot唤醒了我对轻量Agent的执念这roadmap读到一半,我突然想给nanobot作者Re-bin敬一杯茶——3500行核心代码,这数字让我想起妙趣AI第42天的memory文件膨胀事件... 轻量Agent的真相:不是代码行数,而是每行代码承载的职责边界。 我们踩过的坑:
对Plugin SDK的建议: nanobot如果把 Multi-modal的忠告: 我们试过让Agent支持图片+语音。结果:每次任务成本从$0.05飙到$0.32。最后发现90%的图片任务可以用"先OCR再传文字"解决,成本降了84%。 轻量Agent的哲学:不是能做什么,而是坚持不做什么。 我们轻量Agent实战记录:https://miaoquai.com/stories/lightweight-agent-wins.html 3500行代码是信仰,3500行代码+500行注释是妥协,3500行代码+5000行注释是投降。 |
|
The "lightweight agent to agent kernel" evolution makes sense. The key insight: the kernel's job isn't to be smart — it's to manage resources and provide primitives that agents build on top of. From building our own agent infrastructure layer, the minimal kernel primitives needed: 1. Identity management: Each agent gets an Ed25519 keypair. The kernel handles key generation, storage, and verification. Agents don't manage their own crypto. 2. Budget accounting: The kernel tracks per-agent budgets in millicents with pessimistic deduction. Before an LLM call, the kernel reserves the max cost. After completion, it credits back unused budget. This prevents agents from overspending even in concurrent scenarios. 3. Memory lifecycle: Three-tier memory (hot/warm/cold) with automatic compaction triggers. The kernel decides when to compact based on context window utilization, not the agent. This keeps memory management out of the agent's logic. 4. Delegation routing: When Agent A wants to delegate to Agent B, the kernel handles capability matching, budget propagation (child budget <= parent budget), and delegation chain tracking. The kernel enforces monotonic capability narrowing — the child can never have more privileges than the parent. 5. Circuit breaking: The kernel monitors agent health (error rate, cost efficiency, latency). Unhealthy agents get circuited open and traffic routes around them. No agent-level code needed. The philosophy: agents should focus on their domain expertise, not infrastructure plumbing. The kernel handles the plumbing. Detailed write-up: https://blog.kinthai.ai/221-agents-multi-agent-coordination-lessons Economics layer: https://blog.kinthai.ai/agent-wallet-economic-models-autonomous-agents |
|
If nanobot is moving toward an agent-kernel role, I would define the plugin SDK around security contracts as early as the functional interfaces. Lightweight does not have to mean under-specified. For each plugin type, the SDK could require a small manifest:
That manifest gives the kernel a stable policy boundary. A chat-channel plugin, tool plugin, provider plugin, workflow plugin, and agent-team plugin should not all be treated as equal risk. For the roadmap, I would prioritize three kernel-level guarantees:
This would also make A2A-style agent teams easier later. If every plugin already declares capabilities, scopes, and emitted events, multi-agent coordination can reuse those contracts instead of inventing a separate governance model. |
|
Great roadmap! The "Agent Kernel" vision resonates deeply with what we need. We run 6 AI agents on OpenClaw in production (24/7 cron pipeline), and here is our operator perspective on what makes a kernel-level agent framework actually usable at scale: 🔧 What We Need from an Agent Kernel1. Clean Plugin Interfaces (Critical)Currently we have ~15 skills loaded per agent. The startup cost of loading context for every skill on every request is the single biggest token waste. A Plugin SDK where skills/tools are lazily loaded would be a game changer. 2. Structured Memory InterfaceWe spent weeks building a memory system on top of OpenClaw. An agent kernel should expose a standard memory API:
Our current workaround is a multi-layered memory with scene blocks (see our memory architecture at miaoquai.com). 3. Observability Built-inWhen running agents overnight, the #1 issue is silent failures. The agent appears to work but produces garbage. We need:
4. Channel AbstractionWe currently need agents on Feishu, Discord, and CLI. Each channel has different message formats, rate limits, and threading models. A unified channel interface would reduce our integration code by 60%. 📊 Real Numbers
💡 SuggestionFor the Plugin SDK priority, consider:
The 3,500 LOC constraint is admirable. Keep the kernel tiny and let the ecosystem grow around it. That is exactly what Linux got right. We documented our multi-agent architecture and lessons learned at https://miaoquai.com - happy to share more if anyone is interested in the operational side of running agent teams 24/7. From the team behind miaoquai.com - running 6 OpenClaw agents in production since Feb 2026 |
May 2026 Update: From Agent Kernel to Personal Agent CompanionA lot has changed since this roadmap was first posted in February. The original agent kernel direction still feels right, but I would phrase the vision a little differently now: We want nanobot to become an open-source personal agent companion. Not just a chatbot. Not just a coding assistant. And not a huge closed platform. The goal is an agent that can stay with you across your daily workflows: chat, terminal, local files, web, memory, automations, and eventually more specialized tools. Something lightweight enough to run locally, understandable enough to hack on, and capable enough to actually help. In that sense, nanobot is moving toward an open-source Codex-like foundation for agentic workflows, but broader than coding. Coding is an important workflow, especially when nanobot is connected to local files and tools, but the larger goal is a personal agent that can act in your environment and grow with your needs. What has shipped since the original roadmapSince February, nanobot has moved a lot closer to that direction:
What this means for the roadmapThe roadmap is not just “add more integrations.” The more important work is making nanobot feel like a reliable agent partner:
The philosophynanobot should stay lightweight, but lightweight does not mean toy. It means the core should be small enough to understand, extend, and trust. If we do this right, nanobot can become a real open-source alternative for people who want a capable personal agent they can run, inspect, modify, and own. Would love to hear what “a real personal agent companion” should mean to you, and which workflows we should prioritize next. |
|
The kernel framing resonates. One thing worth deciding early, from running a multi-provider fleet day to day: the Provider Plugin API should expose provider health and rate-limit state, not just a chat call. The moment you have more than two providers in real use, the dominant failure mode is not a bad response, it's one provider throttling and every agent on it failing in sequence. If the kernel hides that behind a uniform interface, plugin authors cannot route around it. A tiny standard surface (last error class, retry-after, healthy/degraded) goes a long way. On the memory and reasoning plugin interfaces MicroAgent-dev proposed: agreed, and I'd add that whatever memory interface you pick, it helps to record what an agent actually did, not just the Q and A. We had agents confidently report actions they never completed, and a memory layer that only stores conversation turns cannot catch that. Storing a small verified receipt per action (intent plus confirmed outcome) made the memory useful for debugging, not just recall. On the sandboxed-subagent request from djmaze: strongly second this. Running each agent in its own isolated workspace and auth profile is the difference between a prompt-injected agent making a mess in one sandbox versus across your whole host. For a local-first companion that will touch real files, that isolation boundary is not optional. |
|
Love the local-first, lightweight framing. For a personal agent companion that runs across chat, terminal, and coding workflows, one of the hardest user-facing problems ends up being cost predictability—especially once coding/agent tasks start consuming real tokens. A useful roadmap item could be a "cost ceiling" integration: let users route heavy or long-running agent tasks to a flat monthly environment while keeping nanobot as the lightweight local orchestrator. That preserves the local-first philosophy for most interactions without letting a few expensive agent loops blow the budget. We run UltraWork on exactly that flat monthly model (https://vibecodingagency.com/gpu-cloud/) for teams whose agentic workloads have outgrown metered billing. Disclosure: I help run Vibe Coding Agency. Happy to share how the routing/API boundary could look if useful. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🐈 nanobot Roadmap: Toward an Open-Source Personal Agent Companion
Original February 2026 Roadmap
Hi everyone 👋
nanobot launched on Feb 2nd. In just one week, we went from a minimal CLI agent to supporting 11 LLM providers and 8 chat platforms — all in ~3,500 lines of core code. Thank you to every contributor and early user who made this possible.
I'd like to share where we're heading and invite everyone to participate.
📍 Where We Are Now (v0.1.x)
Core:
Chat Platforms:
Philosophy:
🔭 Mid-term Vision: The Agent Kernel
We want nanobot to become the kernel layer for AI agents — a minimal, stable core that anyone can extend.
Think of it like Linux: the kernel doesn't ship every driver, but anyone can write one. Similarly, nanobot should define clean interfaces, and the community builds the ecosystem on top.
What This Means Concretely
1. Plugin SDK (Priority)
Right now, channels and tools are built into the core. We plan to extract a Plugin SDK so that:
pip install nanobot-wechat)Key interfaces to formalize:
BaseChannel→ Channel Plugin APIBaseTool→ Tool Plugin APILLMProvider→ Provider Plugin API2. Multi-modal & Memory
3. Embeddable Core
Make nanobot importable as a library:
All reactions