New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@sns-myagent/cli

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sns-myagent/cli

SNS-MyAgent — BYOK coding agent CLI. Multi-agent + Telegram + self-learning memory. ~120MB binary, zero forced cost.

latest
Source
npmnpm
Version
0.3.10
Version published
Weekly downloads
15
-50%
Maintainers
1
Weekly downloads
 
Created
Source

  ╔══════════════════════════════════════════════════════════════╗
  ║                                                              ║
  ║    ███████╗███╗   ██╗███████╗    ██╗   ██╗██╗   ██╗          ║
  ║    ██╔════╝████╗  ██║██╔════╝    ██║   ██║╚██╗ ██╔╝          ║
  ║    ███████╗██╔██╗ ██║███████╗    ██║   ██║ ╚████╔╝           ║
  ║    ╚════██║██║╚██╗██║╚════██║    ╚██╗ ██╔╝  ╚██╔╝           ║
  ║    ███████║██║ ╚████║███████║     ╚████╔╝    ██║             ║
  ║    ╚══════╝╚═╝  ╚═══╝╚══════╝      ╚═══╝     ╚═╝             ║
  ║                                                              ║
  ║          S N S A G E N T                                     ║
  ║                                                              ║
  ║    Configure snsagent by talking to it.                      ║
  ║                                                              ║
  ╚══════════════════════════════════════════════════════════════╝
  

BYOK coding agent CLI — bring your own key, configure it by talking to it. Multi-provider LLM, memory, MCP, subagents, Telegram.

License: MIT Version 0.3.9 Bun >= 1.3.14

snsagent is a personal, single-user AI coding agent for the terminal. Bring your own API key (BYOK), talk to the agent, and it configures itself — MCP servers, memory backends, model switching — through conversation. No forced subscription; the ~120 MB binary is yours to run anywhere.

Table of Contents

  • Features
  • Quick Start
  • Installation
  • Termux (Android)
  • Configuration
  • Telegram
  • Architecture
  • Documentation
  • Development
  • Security
  • License

Features

Status legend: VERIFIED = a real integration path was demonstrated (not just a green unit test). PARTIAL = implemented and partly tested, but not deep-audited end-to-end. UNTESTED = implemented, no committed test. BROKEN = dead/unreachable code.

FeatureStatusEvidence
30 built-in toolsVERIFIEDsrc/tools/builtin-names.ts (all real implementations)
62 slash commands (+ 4 aliases)VERIFIEDsrc/slash-commands/builtin-registry.ts
Multi-provider LLM (OpenAI, Anthropic, Ollama, custom)VERIFIEDsrc/modes/setup-wizard/ + provider registry
BYOK setup wizardVERIFIEDsrc/modes/setup-wizard/ + tests + screenshots
Memory — mnemopi (default recommended)VERIFIEDsrc/memory-backend/__tests__/memory-integration.test.ts (30 tests: retain → persist → recall → inject)
Memory — hindsight (remote service)PARTIALsrc/hindsight/; needs hindsight.apiUrl service — docs/memory.md
Memory — mem0 / lcm / localPARTIALmanual save/search; no auto-recall/injectiondocs/memory.md
Memory — mnemosyneBROKENmigrated to mnemopi at config load; dead enum value — docs/memory.md
TBM (token budget manager)VERIFIED (integrated)src/tbm/session-hooks.ts wired into the turn lifecycle; default OFF. No savings claim without the measured benchmark — docs/tbm.md
Telegram botPARTIALsrc/adapters/telegram/; auth via opt-in SNS_TELEGRAM_ALLOWED_USERSdocs/telegram.md
MCP integrationPARTIALsrc/mcp/ (22 files); /mcp surface verified — docs/mcp.md
Plan modePARTIALsrc/plan-mode/docs/plan-mode.md
Goal modePARTIALsrc/goals/ (token budget + lifecycle) — docs/goals.md
Subagents / multi-agentPARTIALsrc/task/, src/agents/ (consensus/critic/best-of-N) — docs/subagents.md
Advisor (second-model review)VERIFIEDsrc/advisor/ + advisor.test.tsdocs/advisor.md
Cron schedulerPARTIALsrc/cron/ + parser tests — docs/cron.md
Browser automation (Puppeteer)PARTIALsrc/tools/browser/docs/browser.md
SSH remote executionPARTIALsrc/tools/ssh.ts
Eval backends (Python/JS/Ruby/Julia)VERIFIEDsrc/eval/ + eval tests
Context compactionPARTIALsrc/session/ (multiple strategies) — docs/compaction.md
Plugins / skillsUNTESTEDsrc/extensibility/ (implemented, no committed test) — docs/extensibility.md
Collaborative sessionsUNTESTEDsrc/collab/ (implemented, no committed test) — docs/collab.md
LSP integrationPARTIALsrc/lsp/
Text-to-speech / STTPARTIALsrc/tts/, src/stt/
Todo systemPARTIALsrc/ todo helpers

Full findings: AUDIT-REPORT.md, AUDIT-BASELINE.md, docs/security-model.md.

Tools and commands. 30 built-in tools, 62 slash commands:

Tools inspector - all built-in tools

Settings and model picker. Configure everything through /settings or conversation:

Settings panel Model picker

Memory. mnemopi backend (local SQLite + vector + graph):

Memory stats Memory diagnose

TBM. Token Budget Manager dashboard (integrated, default OFF):

TBM dashboard

MCP. Model Context Protocol integration surface:

MCP integration

Goal mode, cron, subagents, browser, compaction:

Goal mode - active objective Cron - scheduled jobs Task - async subagent jobs Browser mode toggle Compaction

Stats and error handling:

Stats dashboard Error state - no model configured

Collab sessions:

Collab comm-mode indicator

Compiled binary note. ./bin/snsagent-linux-x64 (and the npm-installed binary) runs in "JS-only mode" - the native pty/grep/shell addon is not embedded, so the interactive TUI does not render there. The source-run path (bun run src/cli/entry.ts) is the supported path for the interactive UI. See docs/troubleshooting.md.

Quick Start

1. Run

snsagent

First launch opens the setup wizard - choose a provider (or custom Base URL), enter an API key, pick a model, and start chatting.

Setup wizard - BYOK provider selection Setup wizard glyphs

Once configured, you land in the main TUI:

Main TUI - interactive chat interface

Type /help anytime to see all slash commands:

Help - slash command list

2. Use it

> what files are in the current directory?
> search the web for "bun runtime benchmarks"
> create a TypeScript module that parses CSV files
> refactor src/utils/edit-mode.ts to use async/await

3. Configure through conversation

> add MCP filesystem for /home/user/projects
> switch to anthropic with claude-sonnet
> load coding skill

Or set the key directly via environment — the agent picks it up on launch:

export OPENAI_API_KEY="your-key-here"   # or ANTHROPIC_API_KEY, etc.
snsagent

Installation

npm install -g @sns-myagent/cli
snsagent

The package downloads the platform binary during install. Requires Node.js 18+; works on Linux, macOS, Windows, and WSL.

One-liner installer

curl -fsSL https://raw.githubusercontent.com/Reihantt6/sns-myagent/main/install.sh | bash
  • Linux, macOS, WSL: curl … install.sh | bash
  • Windows PowerShell: irm https://raw.githubusercontent.com/Reihantt6/sns-myagent/main/install.ps1 | iex
  • Android/Termux: see Termux (Android)

From source

git clone https://github.com/Reihantt6/sns-myagent.git
cd sns-myagent
bun install
bun run src/cli/entry.ts

Requires Bun >= 1.3.14. To build the standalone Linux x64 binary:

bun run build
./bin/snsagent-linux-x64

Verify

snsagent --version   # -> snsagent 0.3.9
snsagent --help

Termux (Android)

Full guide: docs/termux.md. The npm/prebuilt binaries are glibc and will not run on Android — use the source build.

# 1. Install Termux from F-Droid (NOT Play Store)
pkg update && pkg upgrade -y
pkg install -y git nodejs-lts
# 2. Install Bun
curl -fsSL https://bun.sh/install | bash
source ~/.bashrc
# 3. Clone + run from source
git clone https://github.com/Reihantt6/sns-myagent.git
cd sns-myagent
bun install
bun run src/cli/entry.ts

Configuration

Interactive settings live at ~/.omp/agent/config.yml (providers at ~/.omp/agent/models.yml). Edit them through /settings or through conversation; the schema defaults are safe (memory backend defaults to off, TBM defaults to off).

Key settings

{
  // Model selection
  "model.*": "…",

  // Feature toggles
  "advisor.enabled": true,
  "bash.enabled": true,
  "browser.enabled": true,
  "checkpoint.enabled": true,
  "compaction.enabled": true,
  "goal.enabled": true,
  "todo.enabled": true,

  // Memory (default "off"; "mnemopi" is the fully-integrated local backend)
  "memory.backend": "off",   // off | mnemopi | hindsight | mem0 | lcm | local | mnemosyne

  // TBM (default OFF — no behavior change until opted in)
  "tbm.enabled": false,

  // Eval backends
  "eval.py": true, "eval.js": true, "eval.rb": true, "eval.jl": true
}

Full schema: docs/configuration.md and src/config/settings-schema.ts.

Where things are stored

WhatLocation
Interactive config~/.omp/agent/config.yml
Provider models~/.omp/agent/models.yml
Memory & sessions~/.omp/agent/ (mnemopi data, sessions, state)
Daemon secrets (systemd)/etc/snsagent/secrets.env (chmod 600)

Telegram

Run the agent as a Telegram bot. Built on grammY.

export SNS_TELEGRAM_BOT_TOKEN="your-bot-token-here"
snsagent          # bot auto-starts polling

Or explicitly: snsagent telegram. Disable auto-start with SNS_TELEGRAM_AUTOSTART=0.

Authorization is opt-in and important. Without it the bot executes agent actions for anyone who can message it. Restrict to your own numeric user id:

export SNS_TELEGRAM_ALLOWED_USERS="123456789"

See docs/security-model.md for the full authorization boundary (including the autoApprove: true caveat).

Telegram status - sanitized, no token

Architecture

sns-myagent/
├── src/
│   ├── cli/                  # CLI entry point + commands
│   ├── config/               # Settings schema, loader, defaults
│   ├── tools/                # 30 built-in tools
│   ├── modes/                # Interactive mode, TUI, controllers
│   ├── session/              # Session management + agent loop
│   ├── mcp/                  # MCP integration
│   ├── memory-backend/       # Memory backend resolver
│   ├── mnemopi/              # mnemopi backend (SQLite + vector + graph)
│   ├── hindsight/            # hindsight backend (remote memory)
│   ├── tbm/                  # Token Budget Manager (integrated, default OFF)
│   ├── task/ agents/         # Subagent delegation / multi-agent
│   ├── plan-mode/ goals/     # Plan mode / goal mode
│   ├── advisor/              # Second-model review
│   ├── cron/                 # Cron scheduler
│   ├── eval/                 # Eval runtimes (Python/JS/Ruby/Julia)
│   ├── extensibility/        # Skills, plugins, marketplace
│   ├── collab/               # Collaborative sessions
│   ├── adapters/telegram/    # Telegram bot adapter
│   ├── tts/ stt/             # Speech-to-text / text-to-speech
│   ├── lsp/ dap/             # LSP + Debug Adapter Protocol
│   └── utils/                # Utilities
├── docs/                     # Documentation (+ screenshots/)
├── bin/                      # Prebuilt binaries (gitignored)
├── scripts/                  # Build + dev scripts
├── install.sh / install.ps1  # Installers
└── package.json

Documentation

GuideCovers
ArchitectureAgent-loop integration points (memory/TBM/advisor/tools)
InstallationInstall options per platform
ConfigurationConfig files, providers, models
MemoryMemory backends and how to switch
MCPModel Context Protocol servers
Termux (Android)Running on Android/Termux
Terminal UIThe interactive TUI
TBMToken budget manager (integrated, default OFF)
TelegramTelegram bot + authorization boundary
GoalsAutonomous objective mode
Plan modePlan-before-execute workflow
SubagentsTask delegation + async background jobs
BrowserPuppeteer browser automation
CronScheduled jobs (prompt/shell/skill)
CompactionContext-window compaction strategies
ExtensibilityPlugins, skills, custom tools
CollabLive shared sessions
AdvisorSecond-model turn review
Security modelAuthorization + attack surface
Upstream comparisonLineage vs oh-my-pi
Syarat & KetentuanTerms of use (Indonesian)
DevelopmentCustom node_modules + install mechanism
TroubleshootingCommon issues and fixes
FAQFrequently asked questions

Development

bun install              # Install dependencies (runs custom postinstall — see docs/development.md)
bun run build            # Build binary to bin/
bun run src/cli/entry.ts # Run from source
bun test                 # Run tests
bunx biome lint src test # Lint
bunx tsc -p tsconfig.json --noEmit  # Typecheck

See docs/development.md for the custom node_modules install mechanism (binary download + pi-natives JS-only patch) and dependency drift.

Security

snsagent executes code (bash, eval, SSH, browser, MCP tools) on your behalf. Review the authorization boundary and tool-approval behavior in docs/security-model.md. See SECURITY.md for vulnerability reporting.

License

MIT license. snsagent is a rebranded fork of Pi Agent with implementation lineage from the @oh-my-pi/* packages (see docs/upstream.md).

Keywords

coding-agent

FAQs

Package last updated on 19 Aug 2026

Related posts