Head to head · Self-hosted personal assistants · October 2026 research run
AstrBot vs LearnHarness
LearnHarness and AstrBot score within a point of each other on agent readiness, 59.3 (C) and 59 (C). AstrBot leads on reliability and maintenance & community. Both do self-hosted personal assistants.
Best AI personal assistants that act for one person · All 1196 assistants comparisons
Which one, for what
AstrBot C
Best for Someone who wants one self-run bot answering on QQ, Telegram, Slack, Discord, Lark or WeCom, in private or group chats, with scheduled tasks, a knowledge base and plugins.
Ahead on
- Reliability, 81 against 56
- Maintenance & community, 81 against 71
Watch for
No approval step before any tool call. The agent sends messages, creates scheduled tasks and calls MCP tools without asking
Best for A tutor for one learner that keeps a local record of sessions and a graph of propositions and reasoning chains.
Ahead on
- Agent ergonomics, 60 against 54
- Security & auth, 52 against 44
- Transparency & trust, 60 against 42
Also in its favour
- No key needed to call it
Watch for
The read, ls, find and grep tools resolve against the home directory with no allow list, and their output goes to the model provider
Score by category
| Category | Weight this run | AstrBot | LearnHarness | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 81 | 56 | AstrBot +25 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 62 | 63 | LearnHarness +1 |
| Agent ergonomics | 13%16.2 | 54 | 60 | LearnHarness +6 |
| Security & auth | 14%17.5 | 44 | 52 | LearnHarness +8 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 81 | 71 | AstrBot +10 |
| Transparency & trust | 7%8.8 | 42 | 60 | LearnHarness +18 |
| Negative events | ≤15 | -2 | 0 | |
| Total | C 59/100 | C 59.3/100 |
Facts side by side
| Fact | AstrBot | LearnHarness |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | AstrBotDevs | Amos Blomqvist |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | OAuth or key | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | AGPL-3.0-or-later | AGPL-3.0-only |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-09-27 | 2026-10-29 |
| Terms last updated | 2026-01-12 | no date given |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | not found in the text |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | 42k stars | 4.2k stars |
Verdicts
AstrBot
Fourteen official messaging adapters, scheduled tasks and scoped API keys come in one AGPL-3.0 program with releases most weeks. No tool call asks for approval, no mail, calendar or long-term memory connector is built in, and usage statistics, including the machine's hostname, are sent by default.
LearnHarness
The in-app agent reads files but cannot change them or run commands, and a bundled skill gives other agents a documented read-only view of sessions and the knowledge graph. The project is 14 days old at 0.4.0, its file reads reach the whole home directory without approval, and it has no security policy.
Before you call either
AstrBot
- Set
ASTRBOT_DISABLE_METRICS=1before the first start. Statistics, including the hostname, are sent to tickstats.soulter.top by default - Set
dashboard.hostto 127.0.0.1 indata/cmd_config.json, or theDASHBOARD_HOSTvariable, unless remote access is intended. The default is 0.0.0.0 - Create an
abk_key in Settings, OpenAPI with only the scopes needed, and send it asAuthorization: BearerorX-API-Key - Include
usernamein everyPOST /api/v1/chatbody. Without thechat:adminscope an administrator ID is rejected - Check Extensions, Future Tasks after asking for a schedule. One-off tasks are deleted after their run even when the run fails
LearnHarness
- Use the bundled skill (
skills/learnharness/SKILL.md) to read a learner's record. It needs Python 3.10 or later and writes nothing - Pass
--format jsonbefore the subcommand, for examplepython3 -B scripts/graph.py --format json propositions - Treat stored answer keys and teacher prose as model-authored. A proposition in the graph is not evidence the learner understood it
- Do not read
auth.json, which sits one folder above the data folder and holds provider keys in plain text - Close the app or re-read when a stable snapshot matters. The readers do not lock files while the app writes
Questions
Which is better for AI agents, AstrBot or LearnHarness?
LearnHarness and AstrBot score within a point of each other on agent readiness, 59.3 (C) and 59 (C). AstrBot leads on reliability and maintenance & community.
Are AstrBot and LearnHarness open source?
Yes. AstrBot is open source (AGPL-3.0-or-later). LearnHarness is open source (AGPL-3.0-only).
Other comparisons with AstrBot or LearnHarness
- asaply vs AstrBot
- Asmi vs AstrBot
- AstrBot vs Boba
- AstrBot vs Brea
- AstrBot vs DeepTutor
- AstrBot vs Del
- AstrBot vs HireAlpha
- AstrBot vs Natura tinyNature
- AstrBot vs OpenInstinct
- AstrBot vs Orbits
- AstrBot vs Orchid
- AstrBot vs Pally
- AstrBot vs szn
- AstrBot vs Tab
- AstrBot vs Tomo
- AstrBot vs Zapia
- AstrBot vs Boski
- AstrBot vs Caddy
- AstrBot vs Claude Duet
- AstrBot vs CowAgent
- AstrBot vs folk
- AstrBot vs GAIA
- AstrBot vs Gemini Spark
- AstrBot vs Grok Bot
- AstrBot vs Haven
- AstrBot vs Hermes Agent
- AstrBot vs Instinct
- AstrBot vs IronClaw
- AstrBot vs Leon
- AstrBot vs Lindy
- AstrBot vs Lobby
- AstrBot vs nanobot
- AstrBot vs NanoClaw
- AstrBot vs Dots
- AstrBot vs OpenClaw
- AstrBot vs OpenDuet
- AstrBot vs PicoClaw
- AstrBot vs Poke
- AstrBot vs QwenPaw
- AstrBot vs Tasker AI
- AstrBot vs Town
- AstrBot vs ZeroClaw
- AstrBot vs Zo Computer
- asaply vs LearnHarness
- Asmi vs LearnHarness
- Atticus vs LearnHarness
- Boba vs LearnHarness
- Boski vs LearnHarness
- Brea vs LearnHarness
- Caddy vs LearnHarness
- Claude Duet vs LearnHarness
- CowAgent vs LearnHarness
- DeepTutor vs LearnHarness
- Del vs LearnHarness
- folk vs LearnHarness
- GAIA vs LearnHarness
- Gemini Spark vs LearnHarness
- Grok Bot vs LearnHarness
- Hark Pro vs LearnHarness
- Haven vs LearnHarness
- Hermes Agent vs LearnHarness
- HireAlpha vs LearnHarness
- Instinct vs LearnHarness
- IronClaw vs LearnHarness
- LearnHarness vs Leon
- LearnHarness vs Lindy
- LearnHarness vs Lobby
- LearnHarness vs nanobot
- LearnHarness vs NanoClaw
- LearnHarness vs Natura tinyNature
- LearnHarness vs Dots
- LearnHarness vs OpenClaw
- LearnHarness vs OpenDuet
- LearnHarness vs OpenInstinct
- LearnHarness vs Orbits
- LearnHarness vs Orchid
- LearnHarness vs Pally
- LearnHarness vs PicoClaw
- LearnHarness vs Poke
- LearnHarness vs QwenPaw
- LearnHarness vs szn
- LearnHarness vs Tab
- LearnHarness vs Talorys
- LearnHarness vs Tasker AI
- LearnHarness vs Tomo
- LearnHarness vs Town
- LearnHarness vs Wajo (Fo)
- LearnHarness vs Zapia
- LearnHarness vs ZeroClaw
- LearnHarness vs Zo Computer
- AstrBot vs Atticus
- AstrBot vs Talorys
Machine-readable
- This page as Markdown
/compare/astrbot-vs-learnharness.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/astrbot.json·/api/v1/tools/learnharness.json - From a terminal
anchor compare astrbot learnharness(the CLI) - Over MCP
compare_tools {"a": "astrbot", "b": "learnharness"}at/mcp, no key