brandon@Air ~ % which pieces
/opt/homebrew/bin/pieces
brandon@Air ~ % pieces --help
It looks like this is your first time using the Pieces CLI.
Would you like to start onboarding [y/n/skip]: y
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Welcome to the Pieces CLI ┃
┃ Remember Anything and Interact with Everything ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Whenever you want to exit the onboarding flow type `exit`.
✅ PiecesOS is running
Step 1: Sign into Pieces
You must be signed in to use Pieces. Type pieces login to sign into an account.
brandon@Air.local brandon$ pieces login
Signed in as Brandon Zylstra
email: brandon.zylstra@gmail.com
Press any key to proceed
Step 2: Save a Material
Let's get started by saving a material to Pieces. Copy the following python material:
import requests
response = requests.get("https://pieces.app")
print(response.text)
Press any key to proceed
You can save the material by typing pieces create
brandon@Air.local brandon$ pieces create
############################
Content to save:
############################
import requests
response = requests.get("https://pieces.app")
print(response.text)
Do you want to save this content? [y/n]: y
Saving...
Material successfully saved. Use pieces list to view.
Step 3: Open your Saved materials
Now, let's view all of your saved materials by typing pieces list.
brandon@Air.local brandon$ pieces list
Code content:
import requests
def connect_to_pieces_os(port):
endpoint = f"http://localhost:{port}/connect"
seeded_application = {
'application': {
"'name': 'OPEN_SOURCE',
'version': '0.0.1"',
‘platform’: 'MACOS',
response requests. (endpoint, json=seeded_ application)
if not response.
raise Exception(f"HTTP error! status: {response.
context = response. ()
return context
except Exception as error:
print('Error:', error)
ralse error
Step 4: Start a Session
Starting a session allows you to run multiple commands without having to start the Pieces CLI every time.Start
a session with pieces run. To exit your session, use exit.
brandon@Air.local brandon$ pieces run
############################
Pieces CLI Started
############################
Operating System: macOS-15.5-arm64-arm-64bit-Mach-O
Python Version: 3.13.5
PiecesOS Version: 12.1.0
Pieces CLI Version: 1.15.2
Application: PIECES_FOR_DEVELOPERS_CLI
Enter command:
'help' to see all commands
'-h' after a command to see detailed help
'exit' to quit
Ready...
############################
User: brandon
Invalid command: 'brandon'
Did you mean run?
User: exit
Exiting...
Step 5: Chat with the Copilot
Start a chat with the Copilot by using pieces ask 'How to print I love Pieces CLI in Python and Java'.
brandon@Air.local brandon$ pieces ask 'Why is the pieces CLI UX so painful?'
❌ Wrong command. Please use: pieces ask 'How to print I love Pieces CLI in Python and Java'
brandon@Air.local brandon$ pieces ask 'How to print I love Pieces CLI in Python and Java'
Command failed: ask
1 validation error for Model
foundation
value is not a valid enumeration member; permitted: 'UNKNOWN', 'GPT_3.5', 'GPT_4', 'T5', 'LLAMA_2_7B',
'LLAMA_2_13B', 'LLAMA_2_70B', 'LLAMA_3_2B', 'LLAMA_3_13B', 'LLAMA_3_70B', 'CODE_LLAMA_2_7B',
'CODE_LLAMA_2_13B', 'CODE_LLAMA_2_70B', 'BARD', 'ALPACA_7B', 'ALPACA_13B', 'ALPACA_33B', 'ALPACA_65B',
'VICUNA_7B', 'VICUNA_13B', 'VICUNA_33B', 'VICUNA_65B', 'GUANACO_7B', 'GUANACO_13B', 'GUANACO_33B',
'GUANACO_65B', 'OPENLLAMA_7B', 'OPENLLAMA_13B', 'GORILLA_7B', 'GORILLA_13B', 'GORILLA_33B', 'GORILLA_65B',
'WIZARDLM_7B', 'WIZARDLM_13B', 'WIZARDLM_30B', 'YULANCHAT_13B', 'YULANCHAT_65B', 'REDPAJAMA_3B',
'REDPAJAMA_7B', 'REDPAJAMA_13B', 'REDPAJAMA_33B', 'REDPAJAMA_65B', 'DOLLY_70M', 'DOLLY_160M', 'DOLLY_410M',
'DOLLY_1B', 'DOLLY_1.4B', 'DOLLY_2.8B', 'DOLLY_6.9B', 'DOLLY_12B', 'PYTHIA_70M', 'PYTHIA_160M', 'PYTHIA_410M',
'PYTHIA_1B', 'PYTHIA_1.4B', 'PYTHIA_2.8B', 'PYTHIA_6.9B', 'PYTHIA_12B', 'MOSS_7B', 'MOSS_13B', 'RMKV_LM_100M',
'RMKV_LM_400M', 'RMKV_LM_1.5B', 'RMKV_LM_3B', 'RMKV_LM_7B', 'RMKV_LM_14B', 'STARCODER_15.5B',
'WIZARDCODER_15B', 'SANTACODER_1.1B', 'TEXT_BISON', 'TEXTEMBEDDING_GECKO', 'CHAT_BISON', 'CODE_BISON',
'CODECHAT_BISON', 'CODE_GECKO', 'DISTILROBERTA', 'MISTRAL_7B', 'GEMINI', 'GEMINI_1.5', 'GEMINI_2', 'FAST_TEXT',
'UNIXCODER', 'PHI_1.5', 'PHI_2', 'MIXTRAL_8_x_7B', 'MIXTRAL_8_x_22B', 'GEMMA_7B', 'GEMMA_2B', 'CODE_GEMMA_7B',
'CODE_GEMMA_2B', 'RECURRENT_GEMMA_2B', 'GROK_1', 'GROK_1.5', 'CLAUDE_2', 'CLAUDE_3', 'STARLING_7B', 'DBRX',
'COMMAND_R+', 'GEMMA_1.1_2B', 'GEMMA_1.1_7B', 'GEMMA_2_9B', 'PHI_3_MINI', 'PHI_3_SMALL', 'GRANITE_3B',
'GRANITE_8B', 'LLAMA_3_8B', 'CLAUDE_3.5', 'CLAUDE_LATEST', 'GRANITE_LATEST', 'LLAMA_LATEST', 'PHI_LATEST',
'GEMMA_LATEST', 'GEMINI_LATEST', 'GPT_LATEST', 'AZURE_LATEST', 'AZURE_FAST', 'AZURE_BEST', 'AZURE_DEFAULT',
'AZURE_CUSTOM', 'PERPLEXITY_LATEST', 'PERPLEXITY_FAST', 'PERPLEXITY_BEST', 'PERPLEXITY_DEFAULT',
'PERPLEXITY_CUSTOM', 'CODESTRAL_LATEST', 'DEEPSEEK_LATEST', 'LLAVA_LATEST', 'MIXTRAL_LATEST', 'MISTRAL_LATEST',
'ORCA_LATEST', 'QWEN_CODER_LATEST', 'QWEN_LATEST', 'QWQ_LATEST', 'STARCODER_LATEST', 'TINYLLAMA_LATEST',
'VICUNA_LATEST', 'WIZARD_LATEST', 'ZEPHYR_LATEST', 'POTION' (type=type_error.enum;
enum_values=[<ModelFoundationEnum.UNKNOWN: 'UNKNOWN'>, <ModelFoundationEnum.GPT_3_DOT_5: 'GPT_3.5'>,
<ModelFoundationEnum.GPT_4: 'GPT_4'>, <ModelFoundationEnum.T5: 'T5'>, <ModelFoundationEnum.LLAMA_2_7_B:
'LLAMA_2_7B'>, <ModelFoundationEnum.LLAMA_2_13_B: 'LLAMA_2_13B'>, <ModelFoundationEnum.LLAMA_2_70_B:
'LLAMA_2_70B'>, <ModelFoundationEnum.LLAMA_3_2_B: 'LLAMA_3_2B'>, <ModelFoundationEnum.LLAMA_3_13_B:
'LLAMA_3_13B'>, <ModelFoundationEnum.LLAMA_3_70_B: 'LLAMA_3_70B'>, <ModelFoundationEnum.CODE_LLAMA_2_7_B:
'CODE_LLAMA_2_7B'>, <ModelFoundationEnum.CODE_LLAMA_2_13_B: 'CODE_LLAMA_2_13B'>,
<ModelFoundationEnum.CODE_LLAMA_2_70_B: 'CODE_LLAMA_2_70B'>, <ModelFoundationEnum.BARD: 'BARD'>,
<ModelFoundationEnum.ALPACA_7_B: 'ALPACA_7B'>, <ModelFoundationEnum.ALPACA_13_B: 'ALPACA_13B'>,
<ModelFoundationEnum.ALPACA_33_B: 'ALPACA_33B'>, <ModelFoundationEnum.ALPACA_65_B: 'ALPACA_65B'>,
<ModelFoundationEnum.VICUNA_7_B: 'VICUNA_7B'>, <ModelFoundationEnum.VICUNA_13_B: 'VICUNA_13B'>,
<ModelFoundationEnum.VICUNA_33_B: 'VICUNA_33B'>, <ModelFoundationEnum.VICUNA_65_B: 'VICUNA_65B'>,
<ModelFoundationEnum.GUANACO_7_B: 'GUANACO_7B'>, <ModelFoundationEnum.GUANACO_13_B: 'GUANACO_13B'>,
<ModelFoundationEnum.GUANACO_33_B: 'GUANACO_33B'>, <ModelFoundationEnum.GUANACO_65_B: 'GUANACO_65B'>,
<ModelFoundationEnum.OPENLLAMA_7_B: 'OPENLLAMA_7B'>, <ModelFoundationEnum.OPENLLAMA_13_B: 'OPENLLAMA_13B'>,
<ModelFoundationEnum.GORILLA_7_B: 'GORILLA_7B'>, <ModelFoundationEnum.GORILLA_13_B: 'GORILLA_13B'>,
<ModelFoundationEnum.GORILLA_33_B: 'GORILLA_33B'>, <ModelFoundationEnum.GORILLA_65_B: 'GORILLA_65B'>,
<ModelFoundationEnum.WIZARDLM_7_B: 'WIZARDLM_7B'>, <ModelFoundationEnum.WIZARDLM_13_B: 'WIZARDLM_13B'>,
<ModelFoundationEnum.WIZARDLM_30_B: 'WIZARDLM_30B'>, <ModelFoundationEnum.YULANCHAT_13_B: 'YULANCHAT_13B'>,
<ModelFoundationEnum.YULANCHAT_65_B: 'YULANCHAT_65B'>, <ModelFoundationEnum.REDPAJAMA_3_B: 'REDPAJAMA_3B'>,
<ModelFoundationEnum.REDPAJAMA_7_B: 'REDPAJAMA_7B'>, <ModelFoundationEnum.REDPAJAMA_13_B: 'REDPAJAMA_13B'>,
<ModelFoundationEnum.REDPAJAMA_33_B: 'REDPAJAMA_33B'>, <ModelFoundationEnum.REDPAJAMA_65_B: 'REDPAJAMA_65B'>,
<ModelFoundationEnum.DOLLY_70_M: 'DOLLY_70M'>, <ModelFoundationEnum.DOLLY_160_M: 'DOLLY_160M'>,
<ModelFoundationEnum.DOLLY_410_M: 'DOLLY_410M'>, <ModelFoundationEnum.DOLLY_1_B: 'DOLLY_1B'>,
<ModelFoundationEnum.DOLLY_1_DOT_4_B: 'DOLLY_1.4B'>, <ModelFoundationEnum.DOLLY_2_DOT_8_B: 'DOLLY_2.8B'>,
<ModelFoundationEnum.DOLLY_6_DOT_9_B: 'DOLLY_6.9B'>, <ModelFoundationEnum.DOLLY_12_B: 'DOLLY_12B'>,
<ModelFoundationEnum.PYTHIA_70_M: 'PYTHIA_70M'>, <ModelFoundationEnum.PYTHIA_160_M: 'PYTHIA_160M'>,
<ModelFoundationEnum.PYTHIA_410_M: 'PYTHIA_410M'>, <ModelFoundationEnum.PYTHIA_1_B: 'PYTHIA_1B'>,
<ModelFoundationEnum.PYTHIA_1_DOT_4_B: 'PYTHIA_1.4B'>, <ModelFoundationEnum.PYTHIA_2_DOT_8_B: 'PYTHIA_2.8B'>,
<ModelFoundationEnum.PYTHIA_6_DOT_9_B: 'PYTHIA_6.9B'>, <ModelFoundationEnum.PYTHIA_12_B: 'PYTHIA_12B'>,
<ModelFoundationEnum.MOSS_7_B: 'MOSS_7B'>, <ModelFoundationEnum.MOSS_13_B: 'MOSS_13B'>,
<ModelFoundationEnum.RMKV_LM_100_M: 'RMKV_LM_100M'>, <ModelFoundationEnum.RMKV_LM_400_M: 'RMKV_LM_400M'>,
<ModelFoundationEnum.RMKV_LM_1_DOT_5_B: 'RMKV_LM_1.5B'>, <ModelFoundationEnum.RMKV_LM_3_B: 'RMKV_LM_3B'>,
<ModelFoundationEnum.RMKV_LM_7_B: 'RMKV_LM_7B'>, <ModelFoundationEnum.RMKV_LM_14_B: 'RMKV_LM_14B'>,
<ModelFoundationEnum.STARCODER_15_DOT_5_B: 'STARCODER_15.5B'>, <ModelFoundationEnum.WIZARDCODER_15_B:
'WIZARDCODER_15B'>, <ModelFoundationEnum.SANTACODER_1_DOT_1_B: 'SANTACODER_1.1B'>,
<ModelFoundationEnum.TEXT_BISON: 'TEXT_BISON'>, <ModelFoundationEnum.TEXTEMBEDDING_GECKO:
'TEXTEMBEDDING_GECKO'>, <ModelFoundationEnum.CHAT_BISON: 'CHAT_BISON'>, <ModelFoundationEnum.CODE_BISON:
'CODE_BISON'>, <ModelFoundationEnum.CODECHAT_BISON: 'CODECHAT_BISON'>, <ModelFoundationEnum.CODE_GECKO:
'CODE_GECKO'>, <ModelFoundationEnum.DISTILROBERTA: 'DISTILROBERTA'>, <ModelFoundationEnum.MISTRAL_7_B:
'MISTRAL_7B'>, <ModelFoundationEnum.GEMINI: 'GEMINI'>, <ModelFoundationEnum.GEMINI_1_DOT_5: 'GEMINI_1.5'>,
<ModelFoundationEnum.GEMINI_2: 'GEMINI_2'>, <ModelFoundationEnum.FAST_TEXT: 'FAST_TEXT'>,
<ModelFoundationEnum.UNIXCODER: 'UNIXCODER'>, <ModelFoundationEnum.PHI_1_DOT_5: 'PHI_1.5'>,
<ModelFoundationEnum.PHI_2: 'PHI_2'>, <ModelFoundationEnum.MIXTRAL_8_X_7_B: 'MIXTRAL_8_x_7B'>,
<ModelFoundationEnum.MIXTRAL_8_X_22_B: 'MIXTRAL_8_x_22B'>, <ModelFoundationEnum.GEMMA_7_B: 'GEMMA_7B'>,
<ModelFoundationEnum.GEMMA_2_B: 'GEMMA_2B'>, <ModelFoundationEnum.CODE_GEMMA_7_B: 'CODE_GEMMA_7B'>,
<ModelFoundationEnum.CODE_GEMMA_2_B: 'CODE_GEMMA_2B'>, <ModelFoundationEnum.RECURRENT_GEMMA_2_B:
'RECURRENT_GEMMA_2B'>, <ModelFoundationEnum.GROK_1: 'GROK_1'>, <ModelFoundationEnum.GROK_1_DOT_5: 'GROK_1.5'>,
<ModelFoundationEnum.CLAUDE_2: 'CLAUDE_2'>, <ModelFoundationEnum.CLAUDE_3: 'CLAUDE_3'>,
<ModelFoundationEnum.STARLING_7_B: 'STARLING_7B'>, <ModelFoundationEnum.DBRX: 'DBRX'>,
<ModelFoundationEnum.COMMAND_R_PLUS: 'COMMAND_R+'>, <ModelFoundationEnum.GEMMA_1_DOT_1_2_B: 'GEMMA_1.1_2B'>,
<ModelFoundationEnum.GEMMA_1_DOT_1_7_B: 'GEMMA_1.1_7B'>, <ModelFoundationEnum.GEMMA_2_9_B: 'GEMMA_2_9B'>,
<ModelFoundationEnum.PHI_3_MINI: 'PHI_3_MINI'>, <ModelFoundationEnum.PHI_3_SMALL: 'PHI_3_SMALL'>,
<ModelFoundationEnum.GRANITE_3_B: 'GRANITE_3B'>, <ModelFoundationEnum.GRANITE_8_B: 'GRANITE_8B'>,
<ModelFoundationEnum.LLAMA_3_8_B: 'LLAMA_3_8B'>, <ModelFoundationEnum.CLAUDE_3_DOT_5: 'CLAUDE_3.5'>,
<ModelFoundationEnum.CLAUDE_LATEST: 'CLAUDE_LATEST'>, <ModelFoundationEnum.GRANITE_LATEST: 'GRANITE_LATEST'>,
<ModelFoundationEnum.LLAMA_LATEST: 'LLAMA_LATEST'>, <ModelFoundationEnum.PHI_LATEST: 'PHI_LATEST'>,
<ModelFoundationEnum.GEMMA_LATEST: 'GEMMA_LATEST'>, <ModelFoundationEnum.GEMINI_LATEST: 'GEMINI_LATEST'>,
<ModelFoundationEnum.GPT_LATEST: 'GPT_LATEST'>, <ModelFoundationEnum.AZURE_LATEST: 'AZURE_LATEST'>,
<ModelFoundationEnum.AZURE_FAST: 'AZURE_FAST'>, <ModelFoundationEnum.AZURE_BEST: 'AZURE_BEST'>,
<ModelFoundationEnum.AZURE_DEFAULT: 'AZURE_DEFAULT'>, <ModelFoundationEnum.AZURE_CUSTOM: 'AZURE_CUSTOM'>,
<ModelFoundationEnum.PERPLEXITY_LATEST: 'PERPLEXITY_LATEST'>, <ModelFoundationEnum.PERPLEXITY_FAST:
'PERPLEXITY_FAST'>, <ModelFoundationEnum.PERPLEXITY_BEST: 'PERPLEXITY_BEST'>,
<ModelFoundationEnum.PERPLEXITY_DEFAULT: 'PERPLEXITY_DEFAULT'>, <ModelFoundationEnum.PERPLEXITY_CUSTOM:
'PERPLEXITY_CUSTOM'>, <ModelFoundationEnum.CODESTRAL_LATEST: 'CODESTRAL_LATEST'>,
<ModelFoundationEnum.DEEPSEEK_LATEST: 'DEEPSEEK_LATEST'>, <ModelFoundationEnum.LLAVA_LATEST: 'LLAVA_LATEST'>,
<ModelFoundationEnum.MIXTRAL_LATEST: 'MIXTRAL_LATEST'>, <ModelFoundationEnum.MISTRAL_LATEST: 'MISTRAL_LATEST'>,
<ModelFoundationEnum.ORCA_LATEST: 'ORCA_LATEST'>, <ModelFoundationEnum.QWEN_CODER_LATEST: 'QWEN_CODER_LATEST'>,
<ModelFoundationEnum.QWEN_LATEST: 'QWEN_LATEST'>, <ModelFoundationEnum.QWQ_LATEST: 'QWQ_LATEST'>,
<ModelFoundationEnum.STARCODER_LATEST: 'STARCODER_LATEST'>, <ModelFoundationEnum.TINYLLAMA_LATEST:
'TINYLLAMA_LATEST'>, <ModelFoundationEnum.VICUNA_LATEST: 'VICUNA_LATEST'>, <ModelFoundationEnum.WIZARD_LATEST:
'WIZARD_LATEST'>, <ModelFoundationEnum.ZEPHYR_LATEST: 'ZEPHYR_LATEST'>, <ModelFoundationEnum.POTION:
'POTION'>])
brandon@Air ~ %
At first I thought something had redefined my prompt, but later when other things didn't work properly (keystrokes which would work at a shell prompt) I realized I was not at the shell prompt.
There are more problems but I can't remember exactly how everything went before it all blew up in my face. It was certainly confusing, though.
Take a look at this session:
I issued the command
pieces --help, but this was completely ignored, and instead I was launched into an onboarding process. That doesn't set a positive tone.If I were to skip it, would I lose my chance?
The prompt
brandon@Air.local brandon$was close enough to my normal prompt that I didn't notice at first that I was not actually using the shell. This sort of deception is the sort of thing one would expect from malware writers.At first I thought something had redefined my prompt, but later when other things didn't work properly (keystrokes which would work at a shell prompt) I realized I was not at the shell prompt.
What is "a material"? Do you mean a snippet?
There are more problems but I can't remember exactly how everything went before it all blew up in my face. It was certainly confusing, though.