sinores
v0.1.4
Published
Sinores CLI — local AI agent runner
Readme
What is Sinores?
Sinores is a platform where a Director (AI orchestrator in the cloud) assigns tasks to specialized agents that run on your local machine. Agents read and write your files, run commands, and report results — all in real time through a beautiful terminal UI.
Think of it as having a team of AI developers working directly in your codebase, coordinated by a central brain.
Installation
npm install -g sinoresRequires Node.js 20 or later.
Quick Start
$ sinoresThree things happen:
- Browser opens for login
- You pick a project from the list
- The daemon starts with a live TUI dashboard
That's it. Agents are now running.
Commands
| Command | Description |
|---|---|
| sinores | Interactive flow — login, pick project, start daemon |
| sinores run <project_id> | Start daemon for a specific project |
| sinores projects | List all your projects with status |
| sinores tasks <project_id> | View tasks for a project (status, agent type, priority) |
| sinores status | Check if the daemon is running |
| sinores doctor | Run diagnostics — connectivity, auth, backend health |
| sinores login | Authenticate via browser |
| sinores logout | Remove local credentials |
run Options
| Flag | Default | Description |
|---|---|---|
| --workdir <path> | . | Working directory where agents operate |
| --max-workers <n> | 3 | Maximum parallel agent workers |
| --agent-types <types> | all | Filter by agent type, comma-separated (e.g. backend,frontend) |
Examples
# Start with a custom working directory and 5 parallel workers
sinores run proj_abc123 --workdir /path/to/project --max-workers 5
# Only run backend agents
sinores run proj_abc123 --agent-types backend
# Check what's happening with your tasks
sinores tasks proj_abc123
# Diagnose connection issues
sinores doctorTUI Dashboard
The daemon replaces your terminal with a live dashboard:
┌──────────────────────────────────────────────────────────┐
│ ███ LOGO ███ [email protected] │
│ │
│ my-project · /path/to/project · 3 workers v0.1 │
├──────────────────────────────────────────────────────────┤
│ │
│ ⟳ 1 Add user authentication 45s │
│ ↳ read_file src/auth/index.ts │
│ ↳ write_file src/auth/middleware.ts │
│ ↳ run_command npm test │
│ │
│ ⟳ 2 Fix database migrations 12s │
│ ↳ edit_file src/db/migrate.ts │
│ │
│ · idle │
├──────────────────────────────────────────────────────────┤
│ · Create API endpoints backend p1 3m 12s │
│ · Update user profile frontend p2 1m 45s │
├──────────────────────────────────────────────────────────┤
│ ✓ connected waiting for tasks 2/3 workers · 2 done │
│ ctrl+c to stop │
└──────────────────────────────────────────────────────────┘- Agent slots — live view of each worker with tool call streams
- Task history — completed tasks with duration, agent type, and priority
- Connection status — real-time WebSocket state with auto-reconnect and backoff
How It Works
┌────────────────────┐ ┌─────────────────────┐
│ │ WebSocket (tasks) │ │
│ Sinores Director │ ────────────────────────> │ Sinores CLI │
│ (Cloud) │ <──────────────────────── │ (Local daemon) │
│ │ Results & status │ │
└────────────────────┘ └──────────┬──────────┘
│
┌────────┴────────┐
│ AI Agent Loop │
│ │
│ LLM (DeepSeek) │
│ ↓ │
│ Tools: │
│ · read_file │
│ · write_file │
│ · edit_file │
│ · delete_file │
│ · list_dir │
│ · run_command │
└─────────────────┘- Director assigns a task to your project in the cloud
- CLI receives the notification via WebSocket
- A worker claims the task atomically, loads the agent prompt + project context + memory
- The LLM loop runs (up to 50 rounds), using tools to read/write files and run commands
- Results are sent back to the Director and displayed in the TUI
Configuration
Credentials
Stored in ~/.sinores/config.json with file mode 600. Includes access and refresh tokens from browser login.
Custom Backend
export SINORES_URL=https://your-backend.example.com/api/v1Local Development
# 1. Start the local backend
cd ../sinores && docker compose up
# 2. Run CLI against local backend
sinores --local
# or
SINORES_LOCAL=1 sinores run <project_id>
# 3. Diagnose
sinores doctor --localThe local backend runs on http://localhost:8000.
Security
The sandbox protects your system with multiple layers:
| Protection | Details |
|---|---|
| Path validation | All file paths resolved through realpath — symlinks cannot escape the workdir |
| Command filter | Blocks rm -rf, curl, wget, sudo, eval, command substitution ($(), backticks), process substitution, background processes |
| No absolute paths | Agents cannot cd / or reference /tmp, /home, /usr, etc. |
| Scoped tools | File tools only operate within the configured working directory |
Troubleshooting
| Problem | Solution |
|---|---|
| "Cannot reach the server" | For local mode: run docker compose up and check all services are healthy |
| "Session expired" | Run sinores login to re-authenticate |
| Agents not picking up tasks | Check sinores status and sinores doctor for connection issues |
| Tasks stuck | Run sinores tasks <project_id> --reset-stuck |
Links
- Website: sinores.net
- npm: npmjs.com/package/sinores
