@blockrun/franklin 3.5.0 → 3.5.1
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.
- package/README.md +10 -21
- package/dist/commands/start.js +3 -4
- package/dist/tools/imagegen.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -121,31 +121,20 @@ Franklin is **chat-first**. You do not wire a DAG, configure six API keys, or co
|
|
|
121
121
|
|
|
122
122
|
Live data from CoinGecko. RSI, MACD, Bollinger, and volatility computed locally. No API key needed.
|
|
123
123
|
|
|
124
|
-
###
|
|
124
|
+
### 🎨 Image generation
|
|
125
125
|
|
|
126
126
|
```text
|
|
127
|
-
>
|
|
127
|
+
> generate a logo for my AI startup — minimalist, dark background
|
|
128
128
|
|
|
129
|
-
✓
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
1. "Claude keeps throttling me in the middle of shipping..." — @buildermax (2h)
|
|
133
|
-
2. "I need an agent that can switch models automatically." — @indiedev (5h)
|
|
134
|
-
...
|
|
135
|
-
|
|
136
|
-
> write a reply to #2 — mention Franklin uses a wallet instead of subscriptions
|
|
137
|
-
|
|
138
|
-
Draft:
|
|
139
|
-
"That was my pain too. Franklin routes across 55+ models,
|
|
140
|
-
pays per action from a USDC wallet, and doesn't trap you
|
|
141
|
-
inside a monthly seat. Better economics, better uptime."
|
|
129
|
+
✓ ImageGen "minimalist AI startup logo, dark background..."
|
|
130
|
+
Saved: generated-logo-1713052800.png (1024x1024)
|
|
131
|
+
```
|
|
142
132
|
|
|
143
|
-
|
|
133
|
+
Generates images via DALL-E / GPT Image directly from the CLI. Paid from your wallet — no OpenAI API key needed.
|
|
144
134
|
|
|
145
|
-
|
|
146
|
-
```
|
|
135
|
+
### 🎯 Social growth (with setup)
|
|
147
136
|
|
|
148
|
-
|
|
137
|
+
After running `franklin social setup && franklin social login x`, Franklin can search X, draft replies, and post with your confirmation — no X API key or developer account needed.
|
|
149
138
|
|
|
150
139
|
### 🔎 Research, code, anything with a budget
|
|
151
140
|
|
|
@@ -286,8 +275,8 @@ Franklin can decide what is worth paying for, route the call, sign the micropaym
|
|
|
286
275
|
**📈 Trading signals**
|
|
287
276
|
Ask "what's BTC looking like?" — Franklin fetches live price data, computes RSI/MACD/Bollinger/volatility, and synthesizes a signal.
|
|
288
277
|
|
|
289
|
-
|
|
290
|
-
Ask "
|
|
278
|
+
**🎨 AI image generation**
|
|
279
|
+
Ask "generate a logo" — Franklin calls DALL-E / GPT Image, saves the result locally, paid from your wallet.
|
|
291
280
|
|
|
292
281
|
**🧠 55+ models via one wallet**
|
|
293
282
|
Anthropic, OpenAI, Google, xAI, DeepSeek, GLM, Kimi, Minimax, NVIDIA free tier. One wallet, one interface, automatic fallback.
|
package/dist/commands/start.js
CHANGED
|
@@ -74,10 +74,9 @@ export async function startCommand(options) {
|
|
|
74
74
|
// After the user's first session, the tip fades and they go straight to the prompt.
|
|
75
75
|
console.log('');
|
|
76
76
|
console.log(chalk.dim(' Try something only Franklin can do:'));
|
|
77
|
-
console.log(chalk.dim(' ') + chalk.hex('#FFD700')('"what\'s BTC looking like today?"') + chalk.dim(' ← market
|
|
78
|
-
console.log(chalk.dim(' ') + chalk.hex('#
|
|
79
|
-
console.log(chalk.dim('
|
|
80
|
-
console.log(chalk.dim(' Or just code — 55+ models, no API keys.'));
|
|
77
|
+
console.log(chalk.dim(' ') + chalk.hex('#FFD700')('"what\'s BTC looking like today?"') + chalk.dim(' ← live market data'));
|
|
78
|
+
console.log(chalk.dim(' ') + chalk.hex('#60A5FA')('"generate a logo for my startup"') + chalk.dim(' ← AI image gen'));
|
|
79
|
+
console.log(chalk.dim(' Code with 55+ models. No API keys. Pay per use.'));
|
|
81
80
|
console.log('');
|
|
82
81
|
// Balance fetcher — used at startup and after each turn
|
|
83
82
|
const fetchBalance = async () => {
|
package/dist/tools/imagegen.js
CHANGED
|
@@ -14,7 +14,7 @@ async function execute(input, ctx) {
|
|
|
14
14
|
const chain = loadChain();
|
|
15
15
|
const apiUrl = API_URLS[chain];
|
|
16
16
|
const endpoint = `${apiUrl}/v1/images/generations`;
|
|
17
|
-
const imageModel = model || '
|
|
17
|
+
const imageModel = model || 'openai/gpt-image-1';
|
|
18
18
|
const imageSize = size || '1024x1024';
|
|
19
19
|
// Default output path
|
|
20
20
|
const outPath = output_path
|
|
@@ -162,7 +162,7 @@ export const imageGenCapability = {
|
|
|
162
162
|
prompt: { type: 'string', description: 'Text description of the image to generate' },
|
|
163
163
|
output_path: { type: 'string', description: 'Where to save the image. Default: generated-<timestamp>.png in working directory' },
|
|
164
164
|
size: { type: 'string', description: 'Image size: 1024x1024, 1792x1024, or 1024x1792. Default: 1024x1024' },
|
|
165
|
-
model: { type: 'string', description: 'Image model to use. Default:
|
|
165
|
+
model: { type: 'string', description: 'Image model to use. Default: openai/gpt-image-1' },
|
|
166
166
|
},
|
|
167
167
|
required: ['prompt'],
|
|
168
168
|
},
|
package/package.json
CHANGED