obsycli User Manual¶
obsycli is a command-line client for connecting to the Beak service. It can log in to Beak, list agents and tasks, create or attach to tasks, and chat with agents in the terminal.
Installation¶
Install with Script¶
Linux/macOS:
curl -fsSL https://static.guance.com/obsycli/install-obsycli.sh | bash -s -- \
--release-base-url https://static.guance.com/obsycli \
--beak-server https://agent-api.guance.com \
--login <YOUR-USER-SK>
Linux/macOS use Unix paths by default:
| Type | Default Path |
|---|---|
| Install directory | ~/.local/bin |
| Executable | ~/.local/bin/obsycli |
| Data directory | ~/.obsycli |
| Login and update config | ~/.obsycli/login.toml |
| Log directory | ~/.obsycli/log |
| Current log file | ~/.obsycli/log/obsycli.log |
Make sure the install directory is in PATH:
Windows PowerShell:
iwr https://static.guance.com/obsycli/install-obsycli.ps1 -OutFile $env:TEMP\install-obsycli.ps1
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
& $env:TEMP\install-obsycli.ps1 `
-ReleaseBaseUrl https://static.guance.com/obsycli `
-BeakServer https://agent-api.guance.com `
-Login <YOUR-USER-SK>
Windows uses Windows paths by default:
| Type | Default Path |
|---|---|
| Install directory | %LOCALAPPDATA%\Programs\obsycli |
| Executable | %LOCALAPPDATA%\Programs\obsycli\obsycli.exe |
| Data directory | %USERPROFILE%\.obsycli |
| Login and update config | %USERPROFILE%\.obsycli\login.toml |
| Log directory | %USERPROFILE%\.obsycli\log |
| Current log file | %USERPROFILE%\.obsycli\log\obsycli.log |
After updating the user Path, already-open terminals may not refresh the environment automatically. Reopen PowerShell, then run:
If you started a child process from the current PowerShell window to run the installer, such as powershell -File ..., the parent window's PATH will not be refreshed by the child process. In that case, run the full path printed by the installer:
Windows Git Bash can run the Unix shell installer, but paths are interpreted according to Git Bash's $HOME. To install into the Windows user directory, prefer the PowerShell installer. WSL is a Linux environment and uses Linux paths and Linux packages.
The installer writes --release-base-url to the login config file for the current system:
obsycli reads this address on startup to check for new versions.
Uninstallation¶
Linux/macOS:
If you installed to a system directory with sudo:
Windows PowerShell:
Get-Command obsycli -All
Remove-Item "$env:LOCALAPPDATA\Programs\obsycli\obsycli.exe" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:LOCALAPPDATA\Programs\obsycli" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$env:USERPROFILE\.obsycli" -Recurse -Force -ErrorAction SilentlyContinue
If obsycli.exe was placed in another directory, delete the file shown by Get-Command obsycli -All.
Windows Git Bash:
WSL:
The local data directory contains login tokens, update config, and logs. After deleting it, you need to log in again.
Login¶
Copy the user sk from the Beak web page, then run:
If the test environment certificate is not trusted by your machine, add:
After a successful login, credentials are written to:
Run obsycli directly afterward to enter interactive chat.
Auto Update¶
When installed with the installer, obsycli checks the current download source for new versions during startup. When a new version is available, it prompts:
After you enter y or yes, obsycli downloads the package for the current system, verifies .sha256, and replaces the local executable. Linux/macOS restart obsycli automatically after the update. Windows completes replacement after the current process exits, and you need to run obsycli again.
To disable startup update checks in the current environment, set:
Common Commands¶
| Command | Purpose |
|---|---|
obsycli |
Enter the interactive client |
/agents |
List agents in the workspace |
/tasks |
List available tasks |
/newtask <number> |
Create a new task and attach to the agent with the specified number |
/attach <number> |
Attach to an existing task by number |
/close <number\|task_id> |
Close the current or specified task |
/clear |
Clear the screen |
/statusline |
Configure status line fields and write them to ~/.obsycli/config.toml |
/exit |
Exit |
Closed tasks cannot receive new messages. To continue a conversation, create a new task.
Plan mode can only be triggered with slash commands. The agent does not automatically enter plan mode from natural-language planning requests. Use:
| Command | Purpose |
|---|---|
/plan |
Enter plan mode without sending a planning request to the agent |
/plan <prompt> |
Enter plan mode and send prompt as a planning request |
/plan-approve |
Approve the latest pending final plan |
/plan-reject [reason] |
Reject the current final plan and return the agent to plan revision |
/plan-revise <feedback> |
Send revision feedback to continue iterating on the plan |
/plan-interrupt [reason] |
Interrupt the current active plan and return to normal mode |
Example:
If the prompt does not contain a plannable task, the agent will ask for clarification.
Sending Messages¶
After attaching to a task, type a natural-language message and press Enter.
If the task has only one agent, the message is sent to that agent by default. If the task has multiple agents, the message is broadcast.
Terminal Keyboard Shortcuts¶
obsycli interactive input and pop-up selections support the following keys:
Normal input:
| Key | Behavior |
|---|---|
Enter |
Send the current input; when selecting a slash command, accept the highlighted command |
Shift+Enter / Alt+Enter |
Insert a newline |
Esc |
Show confirmation for canceling the current input |
Double Esc |
Cancel the current input or current chat |
↑ / ↓ |
Browse input history; when selecting a slash command, move the highlight |
← / → |
Move the cursor left or right |
Home / End |
Move to the beginning or end of the line |
Backspace |
Delete the character before the cursor |
Delete |
Delete the character at the cursor |
Tab |
Complete the common prefix of a slash command |
Ctrl+A / Ctrl+E |
Move to the beginning or end of the line |
Ctrl+C |
Clear non-empty input; exit the current interaction when input is empty |
Ctrl+L |
Clear the screen and keep the current input |
Ctrl+R |
Search input history |
Ctrl+T |
Open full tool output |
Ctrl+W |
Delete the previous word |
| Direct text input | Insert text at the cursor |
Pop-up selection:
| Key | Behavior |
|---|---|
↑ / Ctrl+P |
Move the highlight up; from the first item, wrap to the last item |
↓ / Tab / Ctrl+N |
Move the highlight down; from the last item, wrap to the first item |
Space |
Select the current item; toggle the current item in multi-select pop-ups |
Enter |
Submit selected items |
Esc |
Cancel the current pop-up |
Ctrl+C |
Cancel the pop-up and exit the current interaction |
Backspace |
Delete the last character of the search text |
| Direct text input | Filter the list and reset the highlight to the first item |
If arrow keys or control keys do not work in a terminal, first check whether the terminal has bound the shortcut to an outer application. If the issue remains, open ~/.obsycli/log/obsycli.log and record the terminal name, version, and key behavior.
Local Files¶
obsycli uses the following local paths by default:
Linux/macOS:
Windows:
Logs rotate automatically. The default maximum size for one log file is 32 MiB.
Troubleshooting¶
When login fails, check:
--beak-serverpoints to the Beak service address.- If you log in through the installer,
--beak-serverpoints to the Beak service address. - The user sk is a valid credential copied from the current Beak web page.
- Whether the HTTPS test environment requires
--insecure-skip-tls-verify.
If there is no task after entering chat, run: