-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.example.toml
More file actions
101 lines (84 loc) · 3.26 KB
/
Copy pathconfig.example.toml
File metadata and controls
101 lines (84 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# ShellClaw Configuration
# Copy to ~/.shellclaw/config.toml and edit
[agent]
model = "anthropic/claude-sonnet-4-20250514"
max_tokens = 4096
temperature = 0.7
max_tool_iterations = 20
[agent.identity]
soul = "~/.shellclaw/SOUL.md"
identity = "~/.shellclaw/IDENTITY.md"
user = "~/.shellclaw/USER.md"
[providers.anthropic]
api_key_env = "ANTHROPIC_API_KEY"
[providers.openai]
api_key_env = "OPENAI_API_KEY"
# api_base = "https://api.openai.com/v1/chat/completions"
[providers.openrouter]
api_key_env = "OPENROUTER_API_KEY"
[providers.local]
# llama.cpp server endpoint (started separately via systemd/llama-server.service)
endpoint = "http://127.0.0.1:8080/v1/chat/completions"
# Jetson default (Phi-3-mini Q4_K_M); RPi uses tinyllama-1.1b-chat-Q4_K_M — see scripts/download_model.sh
model = "Phi-3-mini-4k-instruct-Q4_K_M"
[channels.telegram]
enabled = true
token_env = "TELEGRAM_BOT_TOKEN"
allowed_users = [] # empty = deny all; add your Telegram user ID
[channels.discord]
enabled = false
token_env = "DISCORD_BOT_TOKEN"
allowed_users = []
[gateway]
host = "127.0.0.1"
port = 18789
require_pairing = true
[memory]
backend = "sqlite"
db_path = "~/.shellclaw/memory.db"
[sandbox]
enabled = true
memory_limit_mb = 64
cpu_limit_percent = 50
network = false
workspace_only = true
# Separate from ~/.shellclaw so file/shell tools cannot read pairing tokens or memory.db.
workspace_path = "~/.shellclaw/workspace"
[heartbeat]
enabled = true
interval_minutes = 30
[skills]
dir = "~/.shellclaw/skills"
hot_reload = true
[web_search]
# When BRAVE_API_KEY (or brave_api_key_env) is set, uses Brave Search; else DuckDuckGo
# brave_api_key_env = "BRAVE_API_KEY"
[asap]
enabled = false
agent_urn = "urn:asap:agent:shellclaw"
agent_name = "ShellClaw"
description = "C-native edge-AI ASAP agent on NVIDIA Jetson Orin Nano Super (CUDA, GPIO, I2C)."
# Production: set to your HTTPS origin before marketplace registration (example.com is dev-only).
public_base_url = "https://shellclaw.example.com"
registry_url = "https://raw.githubusercontent.com/asap-protocol/asap-protocol/main/registry.json"
# POST /asap is protocol-public (rate-limited, not Bearer). Empty trusted_senders
# allows every sender URN. After inbound dispatch is wired, a trusted (or, with
# an empty list, any) sender can run task.request (agent_run + tool table) and
# mcp.tool_call (direct tool execute, no LLM). Default gateway bind is 127.0.0.1.
# Set this in production before exposing the gateway so sessions keyed as
# asap:<sender> cannot be spoofed and local tools are not open to any URN.
# trusted_senders = ["urn:asap:agent:peer"]
[asap.skill_descriptions]
# assistant = "Override text for manifest capabilities.skills[].description"
[hardware]
enabled = true
# board = "jetson" # optional override (jetson | rpi | stub); auto-detect via device-tree when unset
# SHELLCLAW_BOARD env overrides this at runtime
class = "edge_accelerator"
model = "jetson_orin_nano_super_8gb"
io = ["gpio", "i2c"]
i2c_bus = 7 # Jetson default; RPi Zero 2 W uses 1
gpio_test_pin = 33 # optional; on-device test pin (Jetson default 33, RPi default 11)
camera_type = "auto" # csi | usb | auto — Jetson CSI via nvarguscamerasrc when auto
camera_resolution = "640x480"
camera_quality = 75 # JPEG quality 1–100 for future capture path (v1.2)