@@ -64,31 +64,58 @@ across layers.
6464
6565## Examples
6666
67- ### Chatbot with web search and voice
67+ ### ChatBot
68+
69+ A minimal chatbot that can answer questions, search the web, and process voice
70+ or image input, but cannot touch files or run shell commands.
71+
72+ ``` json
73+ // ~/.odek/config.json
74+ {
75+ "model" : " deepseek-v4-flash" ,
76+ "tools" : {
77+ "enabled" : [" web_search" , " transcribe" , " vision" , " memory" ]
78+ }
79+ }
80+ ```
81+
82+ Run interactively:
83+
84+ ``` bash
85+ odek run " what's new in Go?"
86+ ```
87+
88+ Or serve it via the Web UI:
89+
90+ ``` bash
91+ odek serve
92+ ```
93+
94+ Why these tools:
95+
96+ - ` web_search ` — answers current-events questions via SearXNG (requires
97+ ` web_search.base_url ` in config)
98+ - ` transcribe ` — converts voice messages to text
99+ - ` vision ` — describes images
100+ - ` memory ` — remembers facts across conversations
101+
102+ Everything else is excluded, including ` shell ` , ` write_file ` , ` patch ` ,
103+ ` delegate_tasks ` , and all file tools.
104+
105+ ### Chatbot with web search and voice (CLI override)
106+
107+ You can override the config for a single run:
68108
69109``` bash
70- # CLI only
71110odek run \
72111 --tool web_search \
73112 --tool transcribe \
74113 --tool vision \
75- --tool send_message \
76- --no-tool shell \
77- --no-tool write_file \
78- --no-tool patch \
79- --no-tool delegate_tasks \
114+ --tool memory \
80115 " what's the weather in Tokyo?"
81116```
82117
83- Or set it once in ` ~/.odek/config.json ` :
84-
85- ``` json
86- {
87- "tools" : {
88- "enabled" : [" web_search" , " transcribe" , " vision" , " send_message" ]
89- }
90- }
91- ```
118+ Because ` --tool ` sets a whitelist, only those four tools are registered.
92119
93120### Read-only research assistant
94121
@@ -182,7 +209,7 @@ Use these exact names in config, env vars, and CLI flags:
182209| Network | ` browser ` , ` web_search ` |
183210| Memory | ` memory ` |
184211| Skills | ` skill_load ` , ` skill_list ` , ` skill_save ` , ` skill_patch ` , ` skill_delete ` |
185- | Telegram | ` send_message ` , ` clarify ` |
212+ | Telegram-only | ` send_message ` , ` clarify ` (auto-injected by ` odek telegram ` ; ignored by other modes) |
186213| MCP | ` <server>__<tool_name> ` |
187214
188215Unknown names are silently ignored, so typos do not crash startup.
@@ -195,6 +222,9 @@ Some odek modes preserve tools they need to function:
195222 and ask clarifications, even if you disable them.
196223- Other modes respect the filter exactly as configured.
197224
225+ ` send_message ` and ` clarify ` are only meaningful in ` odek telegram ` ; in other
226+ modes they are not registered, so including them in a whitelist has no effect.
227+
198228## Choosing between whitelist and blacklist
199229
200230- Use ** ` enabled ` ** when you know exactly which tools the deployment needs.
0 commit comments