Skip to content

Commit b60bbf8

Browse files
committed
feat(docs): rework landing page with Framer Motion and fill 25 doc pages
- Replace CSS animations with Framer Motion (motion components, useInView, AnimatePresence) - Add ambient lighting layers and fix terminal centering on hero section - Use Docusaurus CodeBlock for syntax-highlighted code tabs - Write real content for all 25 stub doc pages across getting-started, concepts, plugins, cli, registry, and self-hosting sections - Fix broken internal links across doc pages
1 parent 3e9d13a commit b60bbf8

29 files changed

Lines changed: 4024 additions & 179 deletions

website/docs/cli/config.md

Lines changed: 203 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,206 @@ title: "CLI: config"
44

55
# hivemind config
66

7-
Coming soon.
7+
Hivemind uses TOML-based configuration files to control swarm behavior, model selection, memory, tools, caching, and more.
8+
9+
## Config File Locations
10+
11+
Hivemind loads configuration from multiple sources, merged in priority order (highest first):
12+
13+
1. **Environment variables**`HIVEMIND_*` overrides
14+
2. **Project config**`./hivemind.toml` in the current directory
15+
3. **User config**`~/.config/hivemind/config.toml`
16+
4. **Defaults** — built-in defaults shipped with the package
17+
18+
A project config is created automatically when you run `hivemind init`.
19+
20+
## Creating a Config
21+
22+
```bash
23+
hivemind init
24+
```
25+
26+
This generates a `hivemind.toml` in the current directory with sensible defaults. Edit it to match your project's needs.
27+
28+
## Schema Reference
29+
30+
### [swarm]
31+
32+
Controls the core swarm runtime.
33+
34+
```toml
35+
[swarm]
36+
worker_model = "gpt-4o"
37+
planner_model = "gpt-4o"
38+
max_workers = 4
39+
events_dir = ".hivemind/events"
40+
timeout = 300
41+
```
42+
43+
### [models]
44+
45+
Define named model configurations that can be referenced elsewhere.
46+
47+
```toml
48+
[models.fast]
49+
provider = "openai"
50+
model = "gpt-4o-mini"
51+
temperature = 0.2
52+
53+
[models.strong]
54+
provider = "anthropic"
55+
model = "claude-sonnet-4-20250514"
56+
temperature = 0.4
57+
```
58+
59+
### [memory]
60+
61+
Configure the memory backend.
62+
63+
```toml
64+
[memory]
65+
backend = "sqlite"
66+
path = ".hivemind/memory.db"
67+
```
68+
69+
### [tools]
70+
71+
Control which tools are loaded and how they are selected.
72+
73+
```toml
74+
[tools]
75+
enabled = ["web_search", "file_reader", "code_exec"]
76+
top_k = 5
77+
```
78+
79+
### [cache]
80+
81+
Task result caching settings.
82+
83+
```toml
84+
[cache]
85+
enabled = true
86+
backend = "sqlite"
87+
ttl = 86400
88+
```
89+
90+
### [knowledge]
91+
92+
Knowledge graph configuration.
93+
94+
```toml
95+
[knowledge]
96+
backend = "sqlite"
97+
path = ".hivemind/knowledge.db"
98+
```
99+
100+
### [telemetry]
101+
102+
Controls telemetry and logging.
103+
104+
```toml
105+
[telemetry]
106+
enabled = false
107+
endpoint = "https://telemetry.example.com"
108+
```
109+
110+
### [bus]
111+
112+
Event bus configuration for inter-agent communication.
113+
114+
```toml
115+
[bus]
116+
backend = "local"
117+
```
118+
119+
### [nodes]
120+
121+
Distributed mode settings. See [hivemind node](/docs/cli/overview) for CLI commands.
122+
123+
```toml
124+
[nodes]
125+
role = "coordinator"
126+
bind = "0.0.0.0:9400"
127+
workers = 4
128+
```
129+
130+
### [providers.azure]
131+
132+
Azure OpenAI provider configuration.
133+
134+
```toml
135+
[providers.azure]
136+
endpoint = "https://my-resource.openai.azure.com"
137+
api_version = "2024-02-01"
138+
deployment = "gpt-4o"
139+
```
140+
141+
## Environment Variable Overrides
142+
143+
Any config value can be overridden with an environment variable using the `HIVEMIND_` prefix and underscore-separated section paths:
144+
145+
```bash
146+
export HIVEMIND_WORKER_MODEL="gpt-4o-mini"
147+
export HIVEMIND_PLANNER_MODEL="claude-sonnet-4-20250514"
148+
export HIVEMIND_MAX_WORKERS=8
149+
export HIVEMIND_CACHE_ENABLED=true
150+
```
151+
152+
Environment variables always take the highest priority.
153+
154+
## Credentials Management
155+
156+
API keys are stored securely in the OS keychain, not in config files. Use the `hivemind credentials` command to manage them:
157+
158+
```bash
159+
hivemind credentials set openai # prompt for API key
160+
hivemind credentials list # list stored credentials
161+
hivemind credentials delete openai # remove a credential
162+
hivemind credentials export --env # export as env vars
163+
```
164+
165+
See the [CLI overview](/docs/cli/overview) for all credential subcommands.
166+
167+
## Example hivemind.toml
168+
169+
```toml
170+
[swarm]
171+
worker_model = "gpt-4o"
172+
planner_model = "gpt-4o"
173+
max_workers = 4
174+
events_dir = ".hivemind/events"
175+
176+
[memory]
177+
backend = "sqlite"
178+
path = ".hivemind/memory.db"
179+
180+
[tools]
181+
enabled = ["web_search", "file_reader"]
182+
top_k = 5
183+
184+
[cache]
185+
enabled = true
186+
ttl = 86400
187+
```
188+
189+
## Using Config in Python Code
190+
191+
You can load the resolved configuration programmatically:
192+
193+
```python
194+
from hivemind.config import load_config
195+
196+
config = load_config()
197+
print(config.swarm.worker_model)
198+
print(config.tools.enabled)
199+
```
200+
201+
The `load_config()` function applies the full priority chain (env > project > user > defaults) and returns a typed config object.
202+
203+
Verify your configuration at any time with:
204+
205+
```bash
206+
hivemind doctor
207+
```
208+
209+
This checks config validity, credential availability, model access, and tool loading.

website/docs/cli/plugins.md

Lines changed: 136 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,139 @@ title: "CLI: plugins"
44

55
# hivemind plugins
66

7-
Coming soon.
7+
Plugins extend hivemind with additional tools, memory backends, and agent capabilities. They are distributed through the hivemind plugin registry and managed with the `hivemind reg` command.
8+
9+
## Installing Plugins
10+
11+
Install a plugin from the registry:
12+
13+
```bash
14+
hivemind reg install <package>
15+
```
16+
17+
For example:
18+
19+
```bash
20+
hivemind reg install hivemind-web-scraper
21+
hivemind reg install hivemind-pdf-reader
22+
```
23+
24+
Plugins are installed into your Python environment alongside hivemind.
25+
26+
## Searching for Plugins
27+
28+
Find plugins in the registry by keyword:
29+
30+
```bash
31+
hivemind reg search <query>
32+
```
33+
34+
```bash
35+
hivemind reg search "pdf"
36+
hivemind reg search "database"
37+
```
38+
39+
## Publishing a Plugin
40+
41+
Package and publish your own plugin to the registry:
42+
43+
```bash
44+
hivemind reg publish
45+
```
46+
47+
This reads your project metadata and uploads the package. You must be authenticated first (see [registry authentication](/docs/cli/registry)).
48+
49+
## Plugin Details
50+
51+
View metadata, version history, and dependencies for a plugin:
52+
53+
```bash
54+
hivemind reg info <package>
55+
```
56+
57+
```bash
58+
hivemind reg info hivemind-web-scraper
59+
```
60+
61+
## Authentication
62+
63+
Log in to the registry before publishing:
64+
65+
```bash
66+
hivemind reg login
67+
```
68+
69+
This stores an authentication token locally for future registry operations.
70+
71+
## Verifying Plugins
72+
73+
After installing plugins, verify they load correctly:
74+
75+
```bash
76+
hivemind doctor
77+
```
78+
79+
The doctor output includes a tool count and lists loaded plugins. If a plugin fails to load, doctor reports the error with details.
80+
81+
```
82+
Tools: 12 loaded (2 from plugins)
83+
Plugins: hivemind-web-scraper (v1.2.0), hivemind-pdf-reader (v0.9.1)
84+
```
85+
86+
## Managing Installed Plugins
87+
88+
List installed plugins by checking the doctor output or by listing enabled tools in your config. To remove a plugin, uninstall it from your Python environment:
89+
90+
```bash
91+
pip uninstall hivemind-web-scraper
92+
```
93+
94+
Then remove it from your `hivemind.toml` if it was explicitly listed:
95+
96+
```toml
97+
[tools]
98+
enabled = ["web_search", "file_reader"]
99+
```
100+
101+
## Plugin Loading Config
102+
103+
Control which tools (including those from plugins) are available to the swarm:
104+
105+
```toml
106+
[tools]
107+
enabled = ["web_search", "file_reader", "web_scraper"]
108+
top_k = 5
109+
```
110+
111+
- **`enabled`** — list of tool names to load. Omit this field to load all available tools.
112+
- **`top_k`** — maximum number of tools selected per task via smart tool selection.
113+
114+
If `enabled` is set, only the listed tools are loaded. Tools from installed plugins that are not in the list are ignored.
115+
116+
## Plugin Development
117+
118+
A hivemind plugin is a Python package that exposes tools through entry points. The minimal structure:
119+
120+
```
121+
hivemind-my-plugin/
122+
pyproject.toml
123+
hivemind_my_plugin/
124+
__init__.py
125+
tools.py
126+
```
127+
128+
Register your tools in `pyproject.toml`:
129+
130+
```toml
131+
[project.entry-points."hivemind.tools"]
132+
my_tool = "hivemind_my_plugin.tools:MyTool"
133+
```
134+
135+
Test locally by installing in development mode:
136+
137+
```bash
138+
pip install -e ./hivemind-my-plugin
139+
hivemind doctor
140+
```
141+
142+
When ready, publish with `hivemind reg publish`. See the [registry reference](/docs/cli/registry) for full details.

0 commit comments

Comments
 (0)