openagent-framework 0.2.4__tar.gz → 0.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/PKG-INFO +190 -69
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/docs/README.md +189 -68
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/__init__.py +1 -1
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/agent.py +26 -1
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/services/obsidian.py +14 -5
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent_framework.egg-info/PKG-INFO +190 -69
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/pyproject.toml +1 -1
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/bootstrap.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/channels/__init__.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/channels/base.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/channels/discord.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/channels/senders.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/channels/telegram.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/channels/whatsapp.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/cli.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/config.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcp/__init__.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcp/client.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcp/oauth.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/chrome-devtools/.gitignore +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/chrome-devtools/package.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/.gitignore +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/package.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/src/index.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/src/main.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/src/tools/computer.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/src/tools/index.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/src/utils/response.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/src/xdotoolStringToKeys.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/computer-control/tsconfig.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/editor/.gitignore +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/editor/package.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/editor/src/index.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/editor/tsconfig.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/messaging/.gitignore +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/messaging/index.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/messaging/package.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/messaging/tsconfig.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/shell/.gitignore +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/shell/package.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/shell/src/index.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/shell/tsconfig.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/.gitignore +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/package.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/browser-pool.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/content-extractor.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/enhanced-content-extractor.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/index.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/rate-limiter.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/search-engine.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/types.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/src/utils.ts +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/mcps/web-search/tsconfig.json +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/memory/__init__.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/memory/db.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/memory/manager.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/models/__init__.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/models/base.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/models/claude_api.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/models/claude_cli.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/models/zhipu.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/scheduler.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/server.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/service.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/services/__init__.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/services/base.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent/services/manager.py +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent_framework.egg-info/SOURCES.txt +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent_framework.egg-info/dependency_links.txt +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent_framework.egg-info/entry_points.txt +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent_framework.egg-info/requires.txt +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/openagent_framework.egg-info/top_level.txt +0 -0
- {openagent_framework-0.2.4 → openagent_framework-0.2.5}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openagent-framework
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Simplified LLM agent framework with MCP, memory, and multi-channel support
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -170,36 +170,73 @@ These are handled automatically by OpenAgent — you just write `openagent.yaml`
|
|
|
170
170
|
|
|
171
171
|
## Memory
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
OpenAgent's long-term memory is a plain **Obsidian-compatible markdown vault**. The agent reads and writes `.md` files directly via the [`mcpvault`](https://www.npmjs.com/package/@bitbonsai/mcpvault) MCP — no custom index, no full-text engine, no proprietary format. The files on disk *are* the database.
|
|
174
|
+
|
|
175
|
+
Session history (the per-conversation message log) is handled separately by the Claude Agent SDK's `resume=session_id`; OpenAgent no longer keeps it in SQLite. The SQLite file is only used for scheduled tasks.
|
|
174
176
|
|
|
175
177
|
### Configuration
|
|
176
178
|
|
|
177
179
|
```yaml
|
|
178
180
|
memory:
|
|
179
|
-
db_path: "./openagent.db"
|
|
180
|
-
|
|
181
|
-
auto_extract: true # auto-extract facts + knowledge from conversations
|
|
181
|
+
db_path: "./openagent.db" # SQLite — scheduled tasks only
|
|
182
|
+
vault_path: "./memories" # Obsidian markdown vault
|
|
182
183
|
```
|
|
183
184
|
|
|
184
|
-
### How
|
|
185
|
+
### How it works
|
|
185
186
|
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
- **Obsidian-compatible**: open `memories/` in Obsidian for graph view
|
|
187
|
+
- The agent writes notes as `.md` files inside `vault_path/`
|
|
188
|
+
- MCPVault exposes `list_notes`, `read_note`, `write_note`, `search_notes`, `get_backlinks`, etc.
|
|
189
|
+
- Open the same `memories/` folder in Obsidian desktop and you get graph view, backlinks and plugin support for free
|
|
190
|
+
- Or enable the built-in **Obsidian web** service (see [Services](#services)) to run Obsidian desktop *inside a browser*, directly on the VPS
|
|
191
191
|
|
|
192
|
-
### Memory
|
|
192
|
+
### Memory file format
|
|
193
193
|
|
|
194
194
|
```markdown
|
|
195
195
|
---
|
|
196
|
-
|
|
196
|
+
title: Deploy Wardrobe Service
|
|
197
|
+
type: reference
|
|
197
198
|
tags: [k8s, wardrobe, ovh]
|
|
198
|
-
|
|
199
|
-
created: 2026-04-07T12:00:00
|
|
199
|
+
created: 2026-04-07
|
|
200
200
|
---
|
|
201
|
+
|
|
201
202
|
# Deploy Wardrobe Service
|
|
203
|
+
|
|
202
204
|
rsync + docker build + k3s import...
|
|
205
|
+
See also: [[server-architecture]]
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
`[[wikilinks]]`, tags and YAML frontmatter are standard Obsidian conventions. Nothing is OpenAgent-specific.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Services
|
|
213
|
+
|
|
214
|
+
Auxiliary services run alongside the agent and are managed by the same lifecycle (`openagent serve` starts them, shutdown stops them). Each service is a plug-in — currently there's one built-in, `obsidian_web`, and the same pattern can host a VNC server, a Caddy reverse proxy, or anything else that needs to live next to the agent.
|
|
215
|
+
|
|
216
|
+
### Obsidian web (built-in)
|
|
217
|
+
|
|
218
|
+
Runs the real Obsidian desktop app inside a Docker container (`lscr.io/linuxserver/obsidian`) with KasmVNC as the web frontend. The `memories/` vault is mounted read/write into the container, so any note the agent writes is visible immediately in the UI, and vice versa.
|
|
219
|
+
|
|
220
|
+
```yaml
|
|
221
|
+
services:
|
|
222
|
+
obsidian_web:
|
|
223
|
+
enabled: true
|
|
224
|
+
port: 8200
|
|
225
|
+
username: admin
|
|
226
|
+
password: ${OBSIDIAN_PASSWORD} # required
|
|
227
|
+
vault_path: /home/ubuntu/OpenAgent/memories
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Access: `http://<host>:8200` → KasmVNC login → full Obsidian desktop. Graph view, plugins, themes all work. The container uses `--restart=unless-stopped`, so it survives agent crashes too.
|
|
231
|
+
|
|
232
|
+
Requires Docker on the host. `openagent setup --full` installs Docker on Linux automatically and pulls the image for you.
|
|
233
|
+
|
|
234
|
+
Manual control:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
openagent services status # check every configured aux service
|
|
238
|
+
openagent services start
|
|
239
|
+
openagent services stop
|
|
203
240
|
```
|
|
204
241
|
|
|
205
242
|
---
|
|
@@ -284,75 +321,119 @@ openagent task disable <id>
|
|
|
284
321
|
|
|
285
322
|
---
|
|
286
323
|
|
|
287
|
-
##
|
|
324
|
+
## Doctor & Setup
|
|
325
|
+
|
|
326
|
+
`openagent doctor` checks the environment and reports missing pieces. `openagent setup` installs them — Docker, OS service, aux service images — as far as each platform allows.
|
|
288
327
|
|
|
289
328
|
```bash
|
|
290
|
-
openagent
|
|
291
|
-
openagent
|
|
292
|
-
openagent
|
|
329
|
+
openagent doctor # environment report, non-destructive
|
|
330
|
+
openagent setup # register OpenAgent as an OS service (default)
|
|
331
|
+
openagent setup --with-docker # also install Docker where automatable
|
|
332
|
+
openagent setup --pull-images # also pre-pull images for every enabled aux service
|
|
333
|
+
openagent setup --full # everything: Docker + OS service + image pulls
|
|
334
|
+
openagent install # alias for `setup --full`
|
|
293
335
|
```
|
|
294
336
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
337
|
+
Platform support for automatic Docker install:
|
|
338
|
+
|
|
339
|
+
| Platform | Docker install | Notes |
|
|
340
|
+
|---|---|---|
|
|
341
|
+
| Linux (apt / dnf / pacman / zypper / apk) | **Fully automated** | Requires sudo. Enables the systemd unit and adds the current user to the `docker` group. |
|
|
342
|
+
| macOS | `brew install --cask docker` | Docker Desktop is a GUI app; you still have to launch it once to accept the EULA. |
|
|
343
|
+
| Windows | `winget install Docker.DockerDesktop` | Reboot required afterwards. |
|
|
344
|
+
|
|
345
|
+
`openagent setup --full` is idempotent: running it on an already-configured machine will just verify and move on.
|
|
346
|
+
|
|
347
|
+
### OS service
|
|
348
|
+
|
|
349
|
+
`openagent setup` registers OpenAgent as a platform-native service so it auto-starts on boot and auto-restarts on crash:
|
|
350
|
+
|
|
351
|
+
- **Linux** — systemd user unit at `~/.config/systemd/user/openagent.service`, with `Restart=always` and `SuccessExitStatus=75` so the auto-updater's exit code 75 triggers a clean restart. You also want `loginctl enable-linger <user>` so the service survives logout on a headless VPS.
|
|
352
|
+
- **macOS** — launchd plist at `~/Library/LaunchAgents/com.openagent.serve.plist`, with `KeepAlive` / `SuccessfulExit=false`.
|
|
353
|
+
- **Windows** — `.bat` wrapper + Task Scheduler entry (`ONLOGON`, with an internal restart loop).
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
# Linux
|
|
357
|
+
systemctl --user status openagent
|
|
358
|
+
journalctl --user -u openagent -f
|
|
359
|
+
|
|
360
|
+
# macOS
|
|
361
|
+
launchctl list com.openagent.serve
|
|
362
|
+
|
|
363
|
+
# uninstall (any platform)
|
|
364
|
+
openagent uninstall
|
|
365
|
+
```
|
|
298
366
|
|
|
299
367
|
---
|
|
300
368
|
|
|
301
|
-
##
|
|
369
|
+
## Auto-update
|
|
370
|
+
|
|
371
|
+
OpenAgent can check PyPI on a schedule and upgrade itself in place.
|
|
372
|
+
|
|
373
|
+
```yaml
|
|
374
|
+
auto_update:
|
|
375
|
+
enabled: true
|
|
376
|
+
mode: auto # auto | notify | manual
|
|
377
|
+
check_interval: "17 */6 * * *" # every 6h at minute :17
|
|
378
|
+
```
|
|
302
379
|
|
|
303
|
-
|
|
380
|
+
Modes:
|
|
381
|
+
- `auto` — pip upgrade + notify (if messaging MCP is configured) + exit with code 75. The OS service manager (systemd / launchd / Task Scheduler) catches the exit and restarts the process with the new code already installed.
|
|
382
|
+
- `notify` — pip upgrade + notify, but don't restart. New code takes effect on the next manual restart.
|
|
383
|
+
- `manual` — pip upgrade only. No notification, no restart.
|
|
304
384
|
|
|
305
|
-
|
|
385
|
+
Requires `auto_update.enabled: true` **and** an OS service supervising the process — otherwise exit 75 just kills it.
|
|
386
|
+
|
|
387
|
+
Manual update at any time:
|
|
306
388
|
|
|
307
389
|
```bash
|
|
308
|
-
|
|
390
|
+
openagent update # check PyPI, upgrade if newer
|
|
309
391
|
```
|
|
310
392
|
|
|
311
|
-
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Dream mode
|
|
396
|
+
|
|
397
|
+
Dream mode is a built-in nightly maintenance task. When enabled, it runs a prompt that cleans `/tmp`, consolidates duplicate memory files, runs a system health check, and writes an audit log into the vault.
|
|
312
398
|
|
|
313
399
|
```yaml
|
|
314
|
-
|
|
315
|
-
name: my-agent
|
|
316
|
-
model:
|
|
317
|
-
provider: claude-cli
|
|
318
|
-
permission_mode: bypass
|
|
319
|
-
memory:
|
|
320
|
-
db_path: ./openagent.db
|
|
321
|
-
knowledge_dir: ./memories
|
|
322
|
-
mcp_defaults: true
|
|
323
|
-
mcp:
|
|
324
|
-
- name: github
|
|
325
|
-
command: ["github-mcp-server", "stdio"]
|
|
326
|
-
env:
|
|
327
|
-
GITHUB_PERSONAL_ACCESS_TOKEN: ${GITHUB_TOKEN}
|
|
328
|
-
channels:
|
|
329
|
-
telegram:
|
|
330
|
-
token: ${TELEGRAM_BOT_TOKEN}
|
|
331
|
-
allowed_users: ["YOUR_TELEGRAM_ID"]
|
|
332
|
-
scheduler:
|
|
400
|
+
dream_mode:
|
|
333
401
|
enabled: true
|
|
334
|
-
|
|
402
|
+
time: "3:00" # local time, converted to cron
|
|
403
|
+
# or:
|
|
404
|
+
# cron: "0 3 * * *"
|
|
335
405
|
```
|
|
336
406
|
|
|
337
|
-
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## VPS Deployment
|
|
410
|
+
|
|
411
|
+
For a fresh Linux VPS, the whole setup is three commands:
|
|
338
412
|
|
|
339
413
|
```bash
|
|
340
|
-
#
|
|
341
|
-
openagent
|
|
414
|
+
# 1. Install
|
|
415
|
+
pip install 'openagent-framework[all]'
|
|
342
416
|
|
|
343
|
-
#
|
|
344
|
-
|
|
417
|
+
# 2. Create openagent.yaml (see the YAML reference below)
|
|
418
|
+
# 3. One-shot setup: Docker + systemd service + image pulls
|
|
419
|
+
openagent setup --full
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
`openagent setup --full` leaves you with a running systemd user service, the Obsidian web UI (if enabled) on its configured port, and auto-update ready to pick up future releases from PyPI. After that you only interact with systemd:
|
|
345
423
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
424
|
+
```bash
|
|
425
|
+
systemctl --user restart openagent
|
|
426
|
+
systemctl --user stop openagent
|
|
427
|
+
systemctl --user start openagent
|
|
428
|
+
journalctl --user -u openagent -f # live logs
|
|
429
|
+
tail -f ~/.openagent/logs/openagent.out.log # stdout log
|
|
349
430
|
```
|
|
350
431
|
|
|
351
|
-
|
|
432
|
+
Upgrading manually (rarely needed if `auto_update.enabled: true`):
|
|
352
433
|
|
|
353
434
|
```bash
|
|
354
|
-
pip install --upgrade openagent-framework[all]
|
|
355
|
-
|
|
435
|
+
pip install --upgrade 'openagent-framework[all]'
|
|
436
|
+
systemctl --user restart openagent
|
|
356
437
|
```
|
|
357
438
|
|
|
358
439
|
The agent cannot modify its own code — only `openagent.yaml` and `memories/` are writable.
|
|
@@ -393,9 +474,8 @@ mcp: # user MCPs (merged on top of defaults)
|
|
|
393
474
|
oauth: true # enables OAuth flow for first-time auth
|
|
394
475
|
|
|
395
476
|
memory:
|
|
396
|
-
db_path: "./openagent.db"
|
|
397
|
-
|
|
398
|
-
auto_extract: true
|
|
477
|
+
db_path: "./openagent.db" # SQLite: scheduled tasks only
|
|
478
|
+
vault_path: "./memories" # Obsidian markdown vault
|
|
399
479
|
|
|
400
480
|
channels:
|
|
401
481
|
telegram:
|
|
@@ -407,12 +487,29 @@ channels:
|
|
|
407
487
|
green_api_id: ${GREEN_API_ID}
|
|
408
488
|
green_api_token: ${GREEN_API_TOKEN}
|
|
409
489
|
|
|
490
|
+
services:
|
|
491
|
+
obsidian_web:
|
|
492
|
+
enabled: true
|
|
493
|
+
port: 8200
|
|
494
|
+
username: admin
|
|
495
|
+
password: ${OBSIDIAN_PASSWORD}
|
|
496
|
+
vault_path: ./memories
|
|
497
|
+
|
|
410
498
|
scheduler:
|
|
411
499
|
enabled: true
|
|
412
500
|
tasks:
|
|
413
501
|
- name: health-check
|
|
414
502
|
cron: "*/30 * * * *"
|
|
415
503
|
prompt: "Check services and alert if down."
|
|
504
|
+
|
|
505
|
+
dream_mode:
|
|
506
|
+
enabled: true
|
|
507
|
+
time: "3:00" # local time (converted to cron)
|
|
508
|
+
|
|
509
|
+
auto_update:
|
|
510
|
+
enabled: true
|
|
511
|
+
mode: auto # auto | notify | manual
|
|
512
|
+
check_interval: "17 */6 * * *"
|
|
416
513
|
```
|
|
417
514
|
|
|
418
515
|
Environment variables are substituted using `${VAR_NAME}` syntax.
|
|
@@ -422,21 +519,45 @@ Environment variables are substituted using `${VAR_NAME}` syntax.
|
|
|
422
519
|
## CLI Reference
|
|
423
520
|
|
|
424
521
|
```bash
|
|
522
|
+
# Chat / serve
|
|
425
523
|
openagent chat # interactive chat
|
|
426
|
-
openagent chat -m zhipu # use specific provider
|
|
524
|
+
openagent chat -m zhipu # use a specific provider
|
|
427
525
|
openagent chat --model-id glm-4-flash # override model ID
|
|
428
526
|
openagent chat -s session-123 # resume session
|
|
429
|
-
openagent serve # start
|
|
430
|
-
openagent serve -ch telegram #
|
|
527
|
+
openagent serve # start agent + channels + scheduler + aux services
|
|
528
|
+
openagent serve -ch telegram # only a specific channel
|
|
529
|
+
|
|
530
|
+
# Doctor & setup
|
|
531
|
+
openagent doctor # environment report
|
|
532
|
+
openagent setup # install as OS service only
|
|
533
|
+
openagent setup --with-docker # + install Docker (Linux automated, Mac/Win brew/winget)
|
|
534
|
+
openagent setup --pull-images # + pre-pull images for enabled aux services
|
|
535
|
+
openagent setup --full # everything (same as `install`)
|
|
536
|
+
openagent install # alias of `setup --full`
|
|
537
|
+
openagent uninstall # remove the OS service
|
|
538
|
+
openagent status # OS service status
|
|
539
|
+
|
|
540
|
+
# Auxiliary services
|
|
541
|
+
openagent services status # report each aux service (Obsidian web, ...)
|
|
542
|
+
openagent services start
|
|
543
|
+
openagent services stop
|
|
544
|
+
|
|
545
|
+
# Scheduled tasks
|
|
431
546
|
openagent task add -n "name" -c "cron" -p "prompt"
|
|
432
547
|
openagent task list
|
|
433
548
|
openagent task remove <id>
|
|
549
|
+
openagent task enable <id>
|
|
550
|
+
openagent task disable <id>
|
|
551
|
+
|
|
552
|
+
# Updates
|
|
553
|
+
openagent update # manual pip upgrade from PyPI
|
|
554
|
+
|
|
555
|
+
# MCP
|
|
434
556
|
openagent mcp list # list connected MCP tools
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
openagent
|
|
438
|
-
openagent -
|
|
439
|
-
openagent -v serve # verbose/debug mode
|
|
557
|
+
|
|
558
|
+
# Globals
|
|
559
|
+
openagent -c custom.yaml serve # custom config file
|
|
560
|
+
openagent -v serve # verbose/debug logging
|
|
440
561
|
```
|
|
441
562
|
|
|
442
563
|
---
|