npcsh 1.0.16__py3-none-any.whl → 1.0.17__py3-none-any.whl
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.
- npcsh/_state.py +1536 -78
- npcsh/corca.py +709 -0
- npcsh/guac.py +1433 -596
- npcsh/mcp_server.py +64 -60
- npcsh/npc.py +5 -4
- npcsh/npcsh.py +27 -1334
- npcsh/pti.py +195 -215
- npcsh/routes.py +94 -18
- npcsh/spool.py +138 -144
- {npcsh-1.0.16.dist-info → npcsh-1.0.17.dist-info}/METADATA +22 -400
- npcsh-1.0.17.dist-info/RECORD +21 -0
- {npcsh-1.0.16.dist-info → npcsh-1.0.17.dist-info}/entry_points.txt +1 -1
- npcsh/mcp_npcsh.py +0 -822
- npcsh-1.0.16.dist-info/RECORD +0 -21
- {npcsh-1.0.16.dist-info → npcsh-1.0.17.dist-info}/WHEEL +0 -0
- {npcsh-1.0.16.dist-info → npcsh-1.0.17.dist-info}/licenses/LICENSE +0 -0
- {npcsh-1.0.16.dist-info → npcsh-1.0.17.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: npcsh
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.17
|
|
4
4
|
Summary: npcsh is a command-line toolkit for using AI agents in novel ways.
|
|
5
5
|
Home-page: https://github.com/NPC-Worldwide/npcsh
|
|
6
6
|
Author: Christopher Agostino
|
|
@@ -19,6 +19,7 @@ Requires-Dist: numpy
|
|
|
19
19
|
Requires-Dist: thefuzz
|
|
20
20
|
Requires-Dist: imagehash
|
|
21
21
|
Requires-Dist: requests
|
|
22
|
+
Requires-Dist: chroptiks
|
|
22
23
|
Requires-Dist: matplotlib
|
|
23
24
|
Requires-Dist: markdown
|
|
24
25
|
Requires-Dist: networkx
|
|
@@ -56,6 +57,7 @@ Requires-Dist: chromadb; extra == "local"
|
|
|
56
57
|
Requires-Dist: diffusers; extra == "local"
|
|
57
58
|
Requires-Dist: nltk; extra == "local"
|
|
58
59
|
Requires-Dist: torch; extra == "local"
|
|
60
|
+
Requires-Dist: darts; extra == "local"
|
|
59
61
|
Provides-Extra: yap
|
|
60
62
|
Requires-Dist: pyaudio; extra == "yap"
|
|
61
63
|
Requires-Dist: gtts; extra == "yap"
|
|
@@ -78,6 +80,7 @@ Requires-Dist: chromadb; extra == "all"
|
|
|
78
80
|
Requires-Dist: diffusers; extra == "all"
|
|
79
81
|
Requires-Dist: nltk; extra == "all"
|
|
80
82
|
Requires-Dist: torch; extra == "all"
|
|
83
|
+
Requires-Dist: darts; extra == "all"
|
|
81
84
|
Requires-Dist: pyaudio; extra == "all"
|
|
82
85
|
Requires-Dist: gtts; extra == "all"
|
|
83
86
|
Requires-Dist: playsound==1.2.2; extra == "all"
|
|
@@ -120,18 +123,25 @@ Once installed, the following CLI tools will be available: `npcsh`, `guac`, `npc
|
|
|
120
123
|
|
|
121
124
|
|
|
122
125
|
- Get help with a task:
|
|
123
|
-
```
|
|
126
|
+
```bash
|
|
124
127
|
npcsh:🤖sibiji:gemini-2.5-flash>can you help me identify what process is listening on port 5337?
|
|
125
128
|
```
|
|
126
129
|
<p align="center">
|
|
127
130
|
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/test_data/port5337.png" alt="example of running npcsh to check what processes are listening on port 5337", width=600>
|
|
128
131
|
</p>
|
|
129
|
-
|
|
132
|
+
|
|
133
|
+
- Edit files
|
|
134
|
+
```bash
|
|
135
|
+
npcsh>please read through the markdown files in the docs folder and suggest changes based on the current implementation in the src folder
|
|
136
|
+
```
|
|
130
137
|
|
|
131
138
|
- **Ask a Generic Question**
|
|
132
139
|
```bash
|
|
133
140
|
npcsh> has there ever been a better pasta shape than bucatini?
|
|
134
141
|
```
|
|
142
|
+
```
|
|
143
|
+
Ultimately, the "best" pasta shape depends on personal preference and the dish being prepared. Bucatini shines in specific contexts, but pasta lovers often appreciate a diverse range of shapes for their unique qualities and compatibilities with various sauces and ingredients. Each shape has its place in the culinary world, and trying different types can enhance the overall dining experience.
|
|
144
|
+
```
|
|
135
145
|
|
|
136
146
|
```
|
|
137
147
|
.Loaded .env file...
|
|
@@ -179,7 +189,7 @@ Once installed, the following CLI tools will be available: `npcsh`, `guac`, `npc
|
|
|
179
189
|
```bash
|
|
180
190
|
/serve --port 5337 --cors='http://localhost:5137/'
|
|
181
191
|
```
|
|
182
|
-
- **Screenshot Analysis
|
|
192
|
+
- **Screenshot Analysis**: select an area on your screen and then send your question to the LLM
|
|
183
193
|
```bash
|
|
184
194
|
/ots
|
|
185
195
|
```
|
|
@@ -187,17 +197,18 @@ Once installed, the following CLI tools will be available: `npcsh`, `guac`, `npc
|
|
|
187
197
|
|
|
188
198
|
# Macros
|
|
189
199
|
- activated by invoking `/<command> ...` in `npcsh`, macros can be called in bash or through the `npc` CLI. In our examples, we provide both `npcsh` calls as well as bash calls with the `npc` cli where relevant. For converting any `/<command>` in `npcsh` to a bash version, replace the `/` with `npc ` and the macro command will be invoked as a positional argument. Some, like breathe, flush,
|
|
190
|
-
|
|
191
|
-
- ## TL; DR:
|
|
200
|
+
|
|
192
201
|
- `/alicanto` - Conduct deep research with multiple perspectives, identifying gold insights and cliff warnings
|
|
193
202
|
- `/brainblast` - Execute an advanced chunked search on command history
|
|
194
203
|
- `/breathe` - Condense context on a regular cadence
|
|
195
204
|
- `/compile` - Compile NPC profiles
|
|
205
|
+
- `/corca` - Enter the Corca MCP-powered agentic shell. Usage: /corca [--mcp-server-path path]
|
|
196
206
|
- `/flush` - Flush the last N messages
|
|
197
207
|
- `/guac` - Enter guac mode
|
|
198
208
|
- `/help` - Show help for commands, NPCs, or Jinxs. Usage: /help
|
|
199
209
|
- `/init` - Initialize NPC project
|
|
200
210
|
- `/jinxs` - Show available jinxs for the current NPC/Team
|
|
211
|
+
- `/npc-studio` - Start npc studio
|
|
201
212
|
- `/ots` - Take screenshot and analyze with vision model
|
|
202
213
|
- `/plan` - Execute a plan command
|
|
203
214
|
- `/plonk` - Use vision model to interact with GUI. Usage: /plonk <task description>
|
|
@@ -232,408 +243,19 @@ Once installed, the following CLI tools will be available: `npcsh`, `guac`, `npc
|
|
|
232
243
|
```
|
|
233
244
|
'
|
|
234
245
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
<p align="center"><a href ="https://github.com/npc-worldwide/npcsh/blob/main/docs/alicanto.md">
|
|
238
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npc_team/alicanto.png" alt="logo for deep research", width=250></a>
|
|
239
|
-
</p>
|
|
240
|
-
|
|
241
|
-
- Examples:
|
|
242
|
-
```bash
|
|
243
|
-
# npcsh
|
|
244
|
-
/alicanto "What are the implications of quantum computing for cybersecurity?"
|
|
245
|
-
/alicanto "How might climate change impact global food security?" --num-npcs 8 --depth 5
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
# bash
|
|
250
|
-
npc alicanto "What ethical considerations should guide AI development?" --max_facts_per_chain 0.5 --max_thematic_groups 3 --max_criticisms_per_group 3 max_conceptual_combinations 3 max_experiments 10
|
|
251
|
-
|
|
252
|
-
npc alicanto "What is the future of remote work?" --format report # NOTE: Report generation and formatting requires latex installed.
|
|
253
|
-
```
|
|
254
|
-
- ## `/brainblast`: searching through past messages (soon to incorporate options for knowledge graph)
|
|
255
|
-
```bash
|
|
256
|
-
# npcsh
|
|
257
|
-
/brainblast 'subtle summer winds' --top_k 10
|
|
258
|
-
```
|
|
259
|
-
```bash
|
|
260
|
-
# bash
|
|
261
|
-
npc brainblast 'executing a mirror in the wonderous moon'
|
|
262
|
-
```
|
|
263
|
-
- ## `/breathe`: Condense conversation context (shell only):
|
|
264
|
-
```bash
|
|
265
|
-
# npcsh
|
|
266
|
-
/breathe
|
|
267
|
-
/breathe -p ollama -m qwen3:latest
|
|
268
|
-
```
|
|
269
|
-
- ## `/compile`: render npcs for use without re-loading npcsh
|
|
270
|
-
```bash
|
|
271
|
-
# npcsh
|
|
272
|
-
/compile ./npc_team/sibiji.npc
|
|
273
|
-
```
|
|
274
|
-
- ## `/flush`: flush context (shell only):
|
|
275
|
-
If you're in the NPC shell and have been in a conversation thats going nowhere and you want to start over... just flush theh contexf.
|
|
276
|
-
```bash
|
|
277
|
-
/flush
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
- ## `/guac`
|
|
282
|
-
|
|
283
|
-
<p align="center"><a href ="https://github.com/npc-worldwide/npcsh/blob/main/docs/guac.md">
|
|
284
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npc_team/guac.png" alt="npcsh logo of a solarpunk sign", width=250></a>
|
|
285
|
-
</p>
|
|
286
|
-
|
|
287
|
-
- a replacement shell for interpreters like python/r/node/julia with an avocado input marker 🥑 that brings a pomodoro-like approach to interactive coding.
|
|
288
|
-
- available as a standalone program runnable via the `guac` command after `npcsh` has been installed via pip.
|
|
289
|
-
|
|
290
|
-
- Simulation:
|
|
291
|
-
`🥑 Make a markov chain simulation of a random walk in 2D space with 1000 steps and visualize`
|
|
292
|
-
```
|
|
293
|
-
# Generated python code:
|
|
294
|
-
import numpy as np
|
|
295
|
-
import matplotlib.pyplot as plt
|
|
296
|
-
|
|
297
|
-
# Number of steps
|
|
298
|
-
n_steps = 1000
|
|
299
|
-
|
|
300
|
-
# Possible moves: up, down, left, right
|
|
301
|
-
moves = np.array([[0, 1], [0, -1], [1, 0], [-1, 0]])
|
|
302
|
-
|
|
303
|
-
# Initialize position array
|
|
304
|
-
positions = np.zeros((n_steps+1, 2), dtype=int)
|
|
305
|
-
|
|
306
|
-
# Generate random moves
|
|
307
|
-
for i in range(1, n_steps+1):
|
|
308
|
-
step = moves[np.random.choice(4)]
|
|
309
|
-
positions[i] = positions[i-1] + step
|
|
310
|
-
|
|
311
|
-
# Plot the random walk
|
|
312
|
-
plt.figure(figsize=(8, 8))
|
|
313
|
-
plt.plot(positions[:, 0], positions[:, 1], lw=1)
|
|
314
|
-
plt.scatter([positions[0, 0]], [positions[0, 1]], color='green', label='Start')
|
|
315
|
-
plt.scatter([positions[-1, 0]], [positions[-1, 1]], color='red', label='End')
|
|
316
|
-
plt.title('2D Random Walk - 1000 Steps (Markov Chain)')
|
|
317
|
-
plt.xlabel('X Position')
|
|
318
|
-
plt.ylabel('Y Position')
|
|
319
|
-
plt.legend()
|
|
320
|
-
plt.grid(True)
|
|
321
|
-
plt.axis('equal')
|
|
322
|
-
plt.show()
|
|
323
|
-
# Generated code executed successfully
|
|
324
|
-
|
|
325
|
-
```
|
|
326
|
-
<p align="center">
|
|
327
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/test_data/markov_chain.png" alt="markov_chain_figure", width=250>
|
|
328
|
-
</p>
|
|
329
|
-
|
|
330
|
-
Access the variables created in the code:
|
|
331
|
-
`🥑 print(positions)`
|
|
332
|
-
```
|
|
333
|
-
[[ 0 0]
|
|
334
|
-
[ 0 -1]
|
|
335
|
-
[ -1 -1]
|
|
336
|
-
...
|
|
337
|
-
[ 29 -23]
|
|
338
|
-
[ 28 -23]
|
|
339
|
-
[ 27 -23]]
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
- Run a python script:
|
|
343
|
-
`🥑 run file.py`
|
|
344
|
-
- Refresh:
|
|
345
|
-
`🥑 /refresh`
|
|
346
|
-
- Show current variables:
|
|
347
|
-
`🥑 /show`
|
|
348
|
-
|
|
349
|
-
A guac session progresses through a series of stages, each of equal length. Each stage adjusts the emoji input prompt. Once the stages have passed, it is time to refresh. Stage 1: `🥑`, Stage 2: `🥑🔪` Stage 3: `🥑🥣` Stage:4 `🥑🥣🧂`, `Stage 5: 🥘 TIME TO REFRESH`. At stage 5, the user is reminded to refresh with the /refresh macro. This will evaluate the session so farand suggest and implement new functions or automations that will aid in future sessions, with the ultimate approval of the user.
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
- ## `/help`: Show help for commands, NPCs, or Jinxs.
|
|
353
|
-
```bash
|
|
354
|
-
/help
|
|
355
|
-
```
|
|
356
|
-
```
|
|
357
|
-
npc help
|
|
358
|
-
```
|
|
359
|
-
- ## `/init` - Initialize NPC project
|
|
360
|
-
-set up bare bones infra for an npc team
|
|
361
|
-
```bash
|
|
362
|
-
# npcsh
|
|
363
|
-
/init
|
|
364
|
-
```
|
|
365
|
-
```bash
|
|
366
|
-
# bash
|
|
367
|
-
npc init
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
- ## `/jinxs` : show available jinxs for team
|
|
372
|
-
Jinxs are Jinja execution templates that let users develop small programs that can build on each other and reference each other through jinja templating. Jinx methods allow us to give smaller LLMs the scaffolding to perform `tool calling`, so to speak, reliably
|
|
373
|
-
```bash
|
|
374
|
-
# npcsh
|
|
375
|
-
/jinxs
|
|
376
|
-
# bash
|
|
377
|
-
npc jinxs
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
```python
|
|
381
|
-
Available Jinxs:
|
|
382
|
-
--- Jinxs for NPC: sibiji ---
|
|
383
|
-
|
|
384
|
-
• /bash_executor: Execute bash queries.
|
|
385
|
-
|
|
386
|
-
• /calc: A jinx to simplify and evaluate mathematical expressions (/calc 1+5, /calc 47233*234234)
|
|
387
|
-
|
|
388
|
-
• /data_pull: Execute queries on the ~/npcsh_history.db to pull data. The database contains only information about conversations and other user-provided data. It does not store any information about individual files (/data_pull 'select * from conversation_history limit 10')
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
• /file_editor: Examines a file, determines what changes are needed, and applies those changes. (/file_editor filename.py 'instructions for carrying out the editing')
|
|
392
|
-
|
|
393
|
-
• /image_generation_jinx: Generates images based on a text prompt. (/image_generation_jinx 'prompt for llm' output_name )
|
|
394
|
-
|
|
395
|
-
• /internet_search: Searches the web for information based on a query in order to verify timiely details (e.g. current events) or to corroborate information in uncertain situations. Should be mainly only used when users
|
|
396
|
-
specifically request a search, otherwise an LLMs basic knowledge should be sufficient. ( /internet_search 'cost of cubs tickets' )
|
|
397
|
-
• /local_search: Searches files in current and downstream directories to find items related to the users query using fuzzy matching. (/local_search 'class NPC')
|
|
398
|
-
Returns only relevant snippets (10 lines around matches) to avoid including too much irrelevant content. Intended for fuzzy searches, not for understanding file sizes.
|
|
399
|
-
|
|
400
|
-
• /python_executor: Execute scripts with python. Set the ultimate result as the "output" variable. It must be a string. Do not add unnecessary print statements. (/python_executor 'import numpy as np; print(np.arange(1000))')
|
|
401
|
-
• /screen_capture_analysis_jinx: Captures the whole screen and sends the image for analysis (mostly redundant with /ots.)
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
- ## `/ots`: Over-the-shoulder screen shot analysis
|
|
407
|
-
- Screenshot analysis:
|
|
408
|
-
```bash
|
|
409
|
-
#npcsh
|
|
410
|
-
/ots
|
|
411
|
-
/ots output_filename =...
|
|
412
|
-
```
|
|
413
|
-
```bash
|
|
414
|
-
#bash
|
|
415
|
-
npc ots ...
|
|
416
|
-
```
|
|
417
|
-
- ## `/plan`: set up cron jobs:
|
|
418
|
-
```bash
|
|
419
|
-
# npcsh
|
|
420
|
-
/plan 'set up a cron job that reminds me to stretch every thirty minutes' -m gemma3:27b -p ollama
|
|
421
|
-
```
|
|
422
|
-
```bash
|
|
423
|
-
# bash
|
|
424
|
-
npc plan 'record my cpu usage percentage every 45 minutes'
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
- ## `/plonk`: Computer use:
|
|
428
|
-
```bash
|
|
429
|
-
# npcsh
|
|
430
|
-
/plonk -n 'npc_name' -sp 'task for plonk to carry out '
|
|
431
|
-
|
|
432
|
-
#bash
|
|
433
|
-
npc plonk
|
|
434
|
-
```
|
|
435
|
-
- ## `/pti`: a reasoning REPL loop with interruptions
|
|
436
|
-
|
|
437
|
-
```npcsh
|
|
438
|
-
/pti -n frederic -m qwen3:latest -p ollama
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
Or from the bash cmd line:
|
|
442
|
-
```bash
|
|
443
|
-
pti
|
|
444
|
-
```
|
|
445
|
-
<p align="center"><a href ="https://github.com/npc-worldwide/npcsh/blob/main/docs/pti.md">
|
|
446
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npc_team/frederic4.png" alt="npcsh logo of frederic the bear and the pti logo", width=250></a>
|
|
447
|
-
</p>
|
|
448
|
-
|
|
449
|
-
- ## `/rag`: embedding search through chroma db, optional file input
|
|
450
|
-
- ## `/roll`: your video generation assistant
|
|
451
|
-
-
|
|
452
|
-
```npcsh
|
|
453
|
-
/roll --provider ollama --model llama3
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
- ## `/sample`: one-shot sampling from LLMs with specific parameters
|
|
457
|
-
```bash
|
|
458
|
-
# npcsh
|
|
459
|
-
/sample 'prompt'
|
|
460
|
-
/sample -m gemini-1.5-flash "Summarize the plot of 'The Matrix' in three sentences."
|
|
461
|
-
|
|
462
|
-
/sample --model claude-3-5-haiku-latest "Translate 'good morning' to Japanese."
|
|
463
|
-
|
|
464
|
-
/sample model=qwen3:latest "tell me about the last time you went shopping."
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
```
|
|
468
|
-
```bash
|
|
469
|
-
# bash
|
|
470
|
-
npc sample -p ollama -m gemma3:12b --temp 1.8 --top_k 50 "Write a haiku about the command line."
|
|
471
|
-
|
|
472
|
-
npc sample model=gpt-4o-mini "What are the primary colors?" --provider openai
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
- ## `/search`: use an internet search provider
|
|
476
|
-
```npcsh
|
|
477
|
-
/search -sp perplexity 'cal bears football schedule'
|
|
478
|
-
/search --sprovider duckduckgo 'beef tongue'
|
|
479
|
-
# Other search providers could be added, but we have only integrated duckduckgo and perplexity for the moment.
|
|
480
|
-
```
|
|
481
|
-
|
|
482
|
-
```bash
|
|
483
|
-
npc search 'when is the moon gonna go away from the earth'
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
- ## `/serve`: serve an npc team
|
|
488
|
-
```bash
|
|
489
|
-
/serve
|
|
490
|
-
/serve ....
|
|
491
|
-
# Other search providers could be added, but we have only integrated duckduckgo and perplexity for the moment.
|
|
492
|
-
```
|
|
493
|
-
|
|
494
|
-
```bash
|
|
495
|
-
npc serve
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
- ## `/set`: change current model, env params
|
|
499
|
-
```bash
|
|
500
|
-
/set model ...
|
|
501
|
-
/set provider ...
|
|
502
|
-
/set NPCSH_API_URL https://localhost:1937
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
```bash
|
|
506
|
-
npc set ...
|
|
507
|
-
```
|
|
508
|
-
- ## `/sleep`: prune and evolve the current knowledge graph
|
|
509
|
-
```bash
|
|
510
|
-
/sleep
|
|
511
|
-
/sleep --dream
|
|
512
|
-
/sleep --ops link_facts,deepen
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
```bash
|
|
516
|
-
npc sleep
|
|
517
|
-
```
|
|
518
|
-
- ## `/spool`
|
|
519
|
-
<p align="center"><a href ="https://github.com/npc-worldwide/npcsh/blob/main/docs/spool.md">
|
|
520
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npc_team/spool.png" alt="logo for spool", width=250></a>
|
|
521
|
-
</p>
|
|
522
|
-
|
|
523
|
-
- Enter chat loop with isolated context, attachments, specified models/providers:
|
|
524
|
-
```npcsh
|
|
525
|
-
/spool -n <npc_name>
|
|
526
|
-
/spool --attachments ./test_data/port5337.png,./test_data/yuan2004.pdf,./test_data/books.csv
|
|
527
|
-
/spool --provider ollama --model llama3
|
|
528
|
-
/spool -p deepseek -m deepseek-reasoner
|
|
529
|
-
/spool -n alicanto
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
- ## Trigger: schedule listeners, daemons
|
|
535
|
-
```bash
|
|
536
|
-
/trigger 'a description of a trigger to implement with system daemons/file system listeners.' -m gemma3:27b -p ollama
|
|
537
|
-
```
|
|
538
|
-
```bash
|
|
539
|
-
npc trigger
|
|
540
|
-
```
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
- ## `/vixynt`: Image generation and editing:
|
|
548
|
-
```bash
|
|
549
|
-
npcsh
|
|
550
|
-
/vixynt 'an image of a dog eating a hat'
|
|
551
|
-
/vixynt --output_file ~/Desktop/dragon.png "A terrifying dragon"
|
|
552
|
-
/vixynt "A photorealistic portrait of a cat wearing a wizard hat in the dungeon of the master and margarita" -w 1024. height=1024
|
|
553
|
-
/vixynt -igp ollama --igmodel Qwen/QwenImage --output_file /tmp/sub.png width=1024 height=512 "A detailed steampunk submarine exploring a vibrant coral reef, wide aspect ratio"
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
```bash
|
|
557
|
-
# bash
|
|
558
|
-
npc vixynt --attachments ./test_data/rabbit.PNG "Turn this rabbit into a fierce warrior in a snowy winter scene" -igp openai -igm gpt-image
|
|
559
|
-
npc vixynt --igmodel CompVis/stable-diffusion-v1-4 --igprovider diffusers "sticker of a red tree"
|
|
560
|
-
```
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
- ## `/wander`: daydreaming for LLMs
|
|
246
|
+
## Read the Docs
|
|
247
|
+
To see more about how to use the macros and modes in the NPC Shell, read the docs at [npc-shell.readthedocs.io](https://npc-shell.readthedocs.io/en/latest/)
|
|
567
248
|
|
|
568
|
-
<p align="center"><a href ="https://github.com/npc-worldwide/npcsh/blob/main/docs/wander.md">
|
|
569
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npc_team/kadiefa.png" alt="logo for wander", width=250></a>
|
|
570
|
-
</p>
|
|
571
|
-
A system for thinking outside of the box. From our testing, it appears gpt-4o-mini and gpt-series models in general appear to wander the most through various languages and ideas with high temperatures. Gemini models and many llama ones appear more stable despite high temps. Thinking models in general appear to be worse at this task.
|
|
572
|
-
|
|
573
|
-
- Wander with an auto-generated environment
|
|
574
|
-
```
|
|
575
|
-
npc --model "gemini-2.0-flash" --provider "gemini" wander "how does the bar of a galaxy influence the the surrounding IGM?" \
|
|
576
|
-
n-high-temp-streams=10 \
|
|
577
|
-
high-temp=1.95 \
|
|
578
|
-
low-temp=0.4 \
|
|
579
|
-
sample-rate=0.5 \
|
|
580
|
-
interruption-likelihood=1
|
|
581
|
-
```
|
|
582
|
-
- Specify a custom environment
|
|
583
|
-
```
|
|
584
|
-
npc --model "gpt-4o-mini" --provider "openai" wander "how does the goos-hanchen effect impact neutron scattering?" \
|
|
585
|
-
environment='a ships library in the south.' \
|
|
586
|
-
num-events=3 \
|
|
587
|
-
n-high-temp-streams=10 \
|
|
588
|
-
high-temp=1.95 \
|
|
589
|
-
low-temp=0.4 \
|
|
590
|
-
sample-rate=0.5 \
|
|
591
|
-
interruption-likelihood=1
|
|
592
|
-
```
|
|
593
|
-
- Control event generation
|
|
594
|
-
```
|
|
595
|
-
npc wander "what is the goos hanchen effect and does it affect water refraction?" \
|
|
596
|
-
--provider "ollama" \
|
|
597
|
-
--model "deepseek-r1:32b" \
|
|
598
|
-
environment="a vast, dark ocean ." \
|
|
599
|
-
interruption-likelihood=.1
|
|
600
|
-
```
|
|
601
|
-
|
|
602
|
-
- ## `/yap`: an agentic voice control loop
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
<p align="center"><a href ="https://github.com/npc-worldwide/npcsh/blob/main/docs/yap.md">
|
|
606
|
-
<img src="https://raw.githubusercontent.com/npc-worldwide/npcsh/main/npcsh/npc_team/yap.png" alt="logo for yap ", width=250></a>
|
|
607
|
-
</p>
|
|
608
|
-
|
|
609
|
-
- an agentic voice control loop with a specified agent. When launching `yap`, the user enters the typical `npcsh` agentic loop except that the system is waiting for either text or audio input.
|
|
610
|
-
- voice chat:
|
|
611
|
-
```bash
|
|
612
|
-
# npcsh
|
|
613
|
-
/yap
|
|
614
|
-
```
|
|
615
|
-
```bash
|
|
616
|
-
# bash
|
|
617
|
-
yap
|
|
618
|
-
npc yap
|
|
619
|
-
```
|
|
620
249
|
|
|
621
250
|
## Inference Capabilities
|
|
622
251
|
- `npcsh` works with local and enterprise LLM providers through its LiteLLM integration, allowing users to run inference from Ollama, LMStudio, vLLM, MLX, OpenAI, Anthropic, Gemini, and Deepseek, making it a versatile tool for both simple commands and sophisticated AI-driven tasks.
|
|
623
252
|
|
|
624
|
-
## Read the Docs
|
|
625
|
-
|
|
626
|
-
Read the docs at [npcsh.readthedocs.io](https://npcsh.readthedocs.io/en/latest/)
|
|
627
|
-
|
|
628
|
-
|
|
629
253
|
## NPC Studio
|
|
630
254
|
There is a graphical user interface that makes use of the NPC Toolkit through the NPC Studio. See the open source code for NPC Studio [here](https://github.com/npc-worldwide/npc-studio). Download the executables at [our website](https://enpisi.com/npc-studio).
|
|
631
255
|
|
|
632
|
-
|
|
633
256
|
## Mailing List
|
|
634
257
|
Interested to stay in the loop and to hear the latest and greatest about `npcpy`, `npcsh`, and NPC Studio? Be sure to sign up for the [newsletter](https://forms.gle/n1NzQmwjsV4xv1B2A)!
|
|
635
258
|
|
|
636
|
-
|
|
637
259
|
## Support
|
|
638
260
|
If you appreciate the work here, [consider supporting NPC Worldwide with a monthly donation](https://buymeacoffee.com/npcworldwide), [buying NPC-WW themed merch](https://enpisi.com/shop), or hiring us to help you explore how to use the NPC Toolkit and AI tools to help your business or research team, please reach out to info@npcworldwi.de .
|
|
639
261
|
|
|
@@ -750,7 +372,7 @@ python-tkinter (pyautogui)
|
|
|
750
372
|
</details>
|
|
751
373
|
|
|
752
374
|
## Startup Configuration and Project Structure
|
|
753
|
-
After `npcsh` has been pip installed, `npcsh`, `guac`, `pti`, `spool`, `yap` and the `npc` CLI can be used as command line tools. To initialize these correctly, first start by starting the NPC shell:
|
|
375
|
+
After `npcsh` has been pip installed, `npcsh`, `corca`, `guac`, `pti`, `spool`, `yap` and the `npc` CLI can be used as command line tools. To initialize these correctly, first start by starting the NPC shell:
|
|
754
376
|
```bash
|
|
755
377
|
npcsh
|
|
756
378
|
```
|
|
@@ -806,8 +428,8 @@ For cases where you wish to set up a project specific set of NPCs, jinxs, and as
|
|
|
806
428
|
./npc_team/ # Project-specific NPCs
|
|
807
429
|
├── jinxs/ # Project jinxs #example jinx next
|
|
808
430
|
│ └── example.jinx
|
|
809
|
-
└── assembly_lines/ #
|
|
810
|
-
└── example.
|
|
431
|
+
└── assembly_lines/ # Agentic Workflows
|
|
432
|
+
└── example.line
|
|
811
433
|
└── models/ # Project workflows
|
|
812
434
|
└── example.model
|
|
813
435
|
└── example1.npc # Example NPC
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
npcsh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
npcsh/_state.py,sha256=gWkFSlKWq-cX8UKVt3aiyHj4ZzZQBRUkOsIjAxl3j7w,89864
|
|
3
|
+
npcsh/alicanto.py,sha256=-muGqd0O2m8xcFBctEavSEizWbQmzuPSdcT-3YqYBhY,45043
|
|
4
|
+
npcsh/corca.py,sha256=2KoYoG1hwbUmMI2YlQ1RrrfkW5bXAYz2EIPRNMMTt1g,31569
|
|
5
|
+
npcsh/guac.py,sha256=7DoRzEY4HrHGDzxehLJUBfM7C6rbNLP71Mnn28D6Ylo,65141
|
|
6
|
+
npcsh/mcp_helpers.py,sha256=Ktd2yXuBnLL2P7OMalgGLj84PXJSzaucjqmJVvWx6HA,12723
|
|
7
|
+
npcsh/mcp_server.py,sha256=htQBSN6y3g3zVCy2ADsdBuQT9PhqaOCSQG_RS9IinWI,5853
|
|
8
|
+
npcsh/npc.py,sha256=elJ494nl_pv8iDrDvBFAlmFvBdci0_CZBjZwbOjVj0c,9113
|
|
9
|
+
npcsh/npcsh.py,sha256=rGcl3h6BMGPwv0fJhA_ekCcJSA1B5s7tGyHKV73fJ5s,8253
|
|
10
|
+
npcsh/plonk.py,sha256=7w7J2bht5QXOyV2UK045nAPDmrSrTGLX-sh56KQ3-k0,14653
|
|
11
|
+
npcsh/pti.py,sha256=UciiiH2Kz4ERQFy0-FX6BQEU2VxYQEUril-_Cvj76Y0,7853
|
|
12
|
+
npcsh/routes.py,sha256=kgpWtCV71sm0JjfJ5kNa3AqIijIknJJYxJV9Do6HY7M,46574
|
|
13
|
+
npcsh/spool.py,sha256=r0-oXkrNDbxQ5ZNHr1vSJcdmVj3jdWbz7qYcEDoSrj8,10354
|
|
14
|
+
npcsh/wander.py,sha256=BiN6eYyFnEsFzo8MFLRkdZ8xS9sTKkQpjiCcy9chMcc,23225
|
|
15
|
+
npcsh/yap.py,sha256=ipkY3uMDw8gNrPSZ9qJFWVQ_fXtLmQ2oz_6_WZt2hew,21097
|
|
16
|
+
npcsh-1.0.17.dist-info/licenses/LICENSE,sha256=IKBvAECHP-aCiJtE4cHGCE5Yl0tozYz02PomGeWS3y4,1070
|
|
17
|
+
npcsh-1.0.17.dist-info/METADATA,sha256=VOtULcSi1iYScaQRdKEH97IyFKPtrW_ffYurbJm6HQo,20011
|
|
18
|
+
npcsh-1.0.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
19
|
+
npcsh-1.0.17.dist-info/entry_points.txt,sha256=S5yIuGm8ZXQ4siHYgN5gs0J7bxgobSEULXf8L5HaW5o,206
|
|
20
|
+
npcsh-1.0.17.dist-info/top_level.txt,sha256=kHSNgKMCkfjV95-DH0YSp1LLBi0HXdF3w57j7MQON3E,6
|
|
21
|
+
npcsh-1.0.17.dist-info/RECORD,,
|