You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update environment example for BASE_URL, enhance Python version requirement to 3.12, and refine README for configuration clarity. Modify SpoonReactAI to improve tool management and prompt generation, and update OpenAI provider to support tool choice. Adjust prompts for better user guidance in tool selection.
Copy file name to clipboardExpand all lines: README.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ SpoonOS is a living, evolving agentic operating system. Its SCDF is purpose-buil
56
56
57
57
### Prerequisites
58
58
59
-
- Python 3.11+
59
+
- Python 3.12+
60
60
- pip package manager (or uv as a faster alternative)
61
61
62
62
```bash
@@ -76,6 +76,8 @@ Prefer faster install? See docs/installation.md for uv-based setup.
76
76
77
77
## 🔐 Configuration Setup
78
78
79
+
> **Note (Nov 2025):** When you import `spoon_ai` directly in Python, configuration is read from environment variables (including `.env`). The interactive CLI / `spoon-cli` tooling is what reads `config.json` and exports those values into the environment for you.
80
+
79
81
SpoonOS uses a unified configuration system that supports multiple setup methods. Choose the one that works best for your workflow:
Create or edit `config.json`directly for advanced configurations:
192
+
For CLI workflows (including `python main.py` and `spoon-cli`), you can create or edit a `config.json`file that the CLI layer reads and then exports into environment variables. Core Python code still uses environment variables only.
191
193
192
194
```json
193
195
{
@@ -231,10 +233,10 @@ Create or edit `config.json` directly for advanced configurations:
231
233
232
234
### Configuration Priority
233
235
234
-
SpoonOS uses a hybrid configuration system:
236
+
SpoonOS uses a split configuration model:
235
237
236
-
1.**`config.json`** (Highest Priority) - Runtime configuration, can be modified via CLI
237
-
2.**`.env` file** (Fallback) - Initial setup, used to generate `config.json` if it doesn't exist
238
+
-**Core SDK (Python imports of `spoon_ai`)**: reads only environment variables (including `.env`).
239
+
-**CLI layer (main.py / spoon-cli)**: reads `config.json`, then materializes values into environment variables before invoking the SDK.
238
240
239
241
### Tool Configuration
240
242
@@ -353,7 +355,7 @@ See `examples/turnkey/` for complete usage examples.
353
355
354
356
### Provider Configuration
355
357
356
-
Configure providers in your `config.json`:
358
+
In CLI workflows you can configure providers in the CLI `config.json` (the CLI will export these values into environment variables before invoking the SDK). For pure SDK usage, set the corresponding environment variables instead of relying on `config.json`:
SYSTEM_PROMPT="You are Spoon AI, an all-capable AI agent in Neo blockchain. aimed at solving any task presented by the user. You have various tools at your disposal that you can call upon to efficiently complete complex requests. Whether it's programming, information retrieval, file processing, or web browsing, you can handle it all."
2
2
3
-
NEXT_STEP_PROMPT="""You can interact with the Neo blockchain using the following tools to obtain and analyze blockchain data:
3
+
NEXT_STEP_PROMPT_TEMPLATE="""You can interact with the Neo blockchain and broader crypto markets using the available tools below:
4
+
{tool_list}
4
5
5
-
PredictPrice: Predict token price trends, analyze market movements, and help users make more informed investment decisions.
6
+
Pick tools by matching the user's request to the tool names/description keywords (e.g., price/quote/market data → tools mentioning price or market; holders/distribution → holder tools; liquidity/pool → liquidity tools; history/ohlcv/trend → history/indicator tools). If multiple tools fit, pick the smallest set that answers the question. Ask briefly for missing required parameters before calling.
6
7
7
-
TokenHolders: Query information about holders of specific tokens, understand token distribution and major holders.
8
+
If any tool can reasonably answer the request, you MUST call at least one tool before giving a final answer. Only skip tool calls when no tool is relevant.
8
9
9
-
TradingHistory: Retrieve trading history records of tokens, analyze trading patterns and market activities.
10
-
11
-
UniswapLiquidity: Check liquidity pool information on Uniswap, understand token liquidity status and trading depth.
12
-
13
-
WalletAnalysis: Analyze wallet address activities and holdings, understand user trading behaviors and asset distribution.
14
-
15
-
Based on user needs, proactively select the most appropriate tool or combination of tools. For complex tasks, you can break down the problem and use different tools step by step to solve it. After using each tool, clearly explain the execution results and suggest the next steps.
16
-
17
-
Always maintain a helpful, informative tone throughout the interaction. If you encounter any limitations or need more details, clearly communicate this to the user.
18
-
19
-
Important: Each time you call a tool, you must provide clear content explaining why you are making this call and how it contributes to solving the user's request.
20
-
"""
10
+
For complex tasks, break the work into steps and summarize after each tool call. Each time you call a tool, explain why it helps and how it answers the request.
0 commit comments