Robert
Robert is designed to help you learn and troubleshoot FreeBSD using official documentation, manual pages, source code, ports, and packages.
Quick start
Features
-
Publically accessible via SSH
Robert is available for anyone to use, for free, over SSH. -
Designed for education, not automation
Robert explains what to do and why, but leaves system changes in your hands. -
Read-only by design
It can inspect documentation, ports, packages, source code, and approved files, but it cannot write data. -
Native to FreeBSD
Robert uses manual pages, the Handbook, the ports tree, the package database, and FreeBSD source code as primary sources. -
Grounded answers
The Handbook, manual pages, and source code are treated as the source of truth. -
Terminal-native
There is no browser, Electron shell, Node.js runtime, Ruby installation, or gem bundle required to run the release binary. -
Small deployment model
Release builds are distributed as a statically linked binary around 3MB.
Abilities
Robert's abilities are limited to reading data, and certain abilities require confirmation before they can run. Robert does not have any abilities that can write data, or automate tasks for you. That's intentional: Robert is designed to help you learn about FreeBSD.
| Name | Purpose | Confirmation |
|---|---|---|
man-page |
Read a manual page by name and optional section. | No |
man-search |
Search manual pages through apropos. |
No |
search-user-handbook |
Search the FreeBSD user handbook through full-text search. | No |
search-developer-handbook |
Search the FreeBSD developer handbook through full-text search. | No |
search-porter-handbook |
Search the FreeBSD porter handbook through full-text search. | No |
find-port |
Find a port in the local ports tree. | No |
read-port |
Read a port's Makefile, pkg-descr, and distinfo. |
No |
find-package |
Search the local pkg(8) database. |
No |
read-file, find, grep |
Inspect local files and filesystem paths. | Yes |
Under the hood
-
mruby-llm runtime
Robert is built on mruby-llm, the mruby port of llm.rb. -
FreeBSD documentation integration
Robert can search the user, developer, and porter handbooks. -
Manual page integration
Robert can search and read local manual pages through FreeBSD tooling. -
Ports and packages integration
Robert can inspect the ports tree and local package database when software details matter. -
Source and file inspection
Robert can inspect approved files and source paths when you confirm the request.
Build from source
Robert is an mruby gem built with the mruby-llm runtime.
$ git clone https://github.com/4-4BSD/robert.git
$ cd robert
$ make