{"_id":"@agent-orch/cli","name":"@agent-orch/cli","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@agent-orch/cli","version":"0.0.1","type":"module","bin":{"agent-orch":"dist/index.js"},"scripts":{"build":"rslib build","dev":"rslib build --watch","start":"node dist/index.js","typecheck":"tsc --noEmit","clean":"rm -rf dist","lint":"eslint src/"},"dependencies":{"@agent-orch/appkit":"^0.0.1","@agent-orch/core":"^0.0.1-beta.3","@agent-orch/llm":"^0.0.1","@agent-orch/orch":"^0.0.1","@agent-orch/react-agent":"^0.0.1","@agent-orch/tool":"^0.0.1","@inkjs/ui":"^2.0.0","chalk":"^5.6.2","dotenv":"^17.3.1","ink":"^5.2.0","marked":"15","marked-terminal":"7","react":"^18.3.0","zod":"^3.24.0"},"devDependencies":{"@rslib/core":"^0.6.0","@types/react":"^18.3.0","typescript":"^5.8.0"},"gitHead":"89c385cc357c523f7ea354d50636c3097378ce2b","_id":"@agent-orch/cli@0.0.1","description":"A terminal-based chat interface for Agent Orch, built with [Ink](https://github.com/vadimdemedes/ink) (React for CLI).","_nodeVersion":"24.11.0","_npmVersion":"11.6.1","dist":{"integrity":"sha512-QBGpcTfVPhTuU74ExhDysZMA9tSKrJcFb8w5ta77IAt95cVWUQNXuW1u3v/zKEI8HBFwAD5T1AGM0QFqWETEVQ==","shasum":"772e25aed193f104fdb72cc1a520a09a0594b51b","tarball":"https://registry.npmjs.org/@agent-orch/cli/-/cli-0.0.1.tgz","fileCount":3,"unpackedSize":54198,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFRLBZMuQE5QAIGQq32LD1h5QN9KSmzjeh9qg7AVsvjzAiBaTloX7/vPj1RjFwBRxQUjgv8hWdX32kiQHy4CsmjWqw=="}]},"_npmUser":{"name":"yuliang.fe","email":"yulight4512@gmail.com"},"directories":{},"maintainers":[{"name":"yuliang.fe","email":"yulight4512@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.0.1_1775311919551_0.7166947367636862"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T14:11:59.091Z","0.0.1":"2026-04-04T14:11:59.691Z","modified":"2026-04-04T14:11:59.913Z"},"maintainers":[{"name":"yuliang.fe","email":"yulight4512@gmail.com"}],"description":"A terminal-based chat interface for Agent Orch, built with [Ink](https://github.com/vadimdemedes/ink) (React for CLI).","readme":"# @agent-orch/cli\n\nA terminal-based chat interface for Agent Orch, built with [Ink](https://github.com/vadimdemedes/ink) (React for CLI).\n\n## Features\n\n- **Interactive Chat** — Stream responses from AI agents in real-time\n- **Multiple Orchestration Modes** — Switch between SingleAgent, PlannerExecutor, and Reflextion patterns\n- **Dynamic Orch Loading** — Load custom orchestration configurations from JS/TS files at runtime\n- **Session Management** — Persist and resume conversations\n- **Tool Execution** — Built-in shell tool with confirmation support\n- **Debug Panel** — Toggle debug logs to inspect agent execution\n\n## Installation\n\n```bash\npnpm install\npnpm build\n```\n\n## Usage\n\nStart the CLI:\n\n```bash\npnpm start\n# or\npnpm dev  # watch mode\n```\n\n### Environment Variables\n\nCreate a `.env` file:\n\n```env\n# Required: API key (provider-specific env vars also work)\nBOT_API_KEY=your_api_key_here\n# Or use: OPENAI_API_KEY=your_key\n# Or use: ANTHROPIC_API_KEY=your_key\n\n# Optional: Model configuration\nBOT_MODEL=openai/gpt-4o\n# Or use Anthropic: BOT_MODEL=anthropic/claude-3-5-sonnet-20241022\nBOT_BASE_URL=https://api.openai.com/v1\n```\n\nSee [LLM Providers](../../docs/concepts/llm-providers.md) for all supported providers and model IDs.\n\n## Slash Commands\n\nOnce inside the CLI, use these commands:\n\n| Command | Description |\n|---------|-------------|\n| `/orch` | Switch orchestration mode |\n| `/orch-load <path>` | Load custom orch from JS/TS file |\n| `/session-new` | Create new session |\n| `/session` | Load saved session |\n| `/session-delete` | Delete a session |\n| `/debug` | Toggle debug panel |\n| `/help` | Show available commands |\n| `/exit` | Exit the application |\n\n## Dynamic Orch Loading\n\nLoad custom orchestration configurations without restarting:\n\n```\n/orch-load ./examples/custom-orch.ts\n```\n\nSupported export formats in your config file:\n\n```typescript\n// Option 1: Default export function\nexport default function createOrch(): OrchEntry {\n  return {\n    id: \"custom\",\n    name: \"Custom Agent\",\n    config: { /* ... */ },\n  };\n}\n\n// Option 2: Named export 'orch'\nexport const orch: OrchEntry = {\n  id: \"custom\",\n  name: \"Custom Agent\",\n  config: { /* ... */ },\n};\n\n// Option 3: Named export 'createOrch'\nexport function createOrch(): OrchEntry {\n  return { /* ... */ };\n}\n```\n\nAfter loading, switch to your custom mode with `/orch`.\n\n## Examples\n\nSee the `examples/` directory for sample configurations:\n\n- `custom-orch.ts` — Single agent configuration\n- `custom-planner-executor.ts` — Multi-agent planner-executor pattern\n\n## Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `Escape` | Close modal/menu |\n| `Ctrl+C` | Exit application |\n| `Tab` | Accept autocomplete |\n| `↑/↓` | Navigate history |\n\n## Project Structure\n\n```\nsrc/\n├── builtin-orchs/      # Built-in orchestration configurations\n│   ├── index.ts\n│   ├── single-agent-demo.ts\n│   └── planner-executor-demo.ts\n├── components/         # React components for Ink UI\n│   ├── App.tsx\n│   ├── Composer.tsx\n│   ├── OrchSelector.tsx\n│   └── ...\n├── hooks/              # React hooks\n│   ├── useCommands.ts\n│   └── useStreamHandler.ts\n├── tools/              # Built-in tools\n│   └── shell.ts\n├── utils/              # Utilities\n│   ├── historyConverter.ts\n│   └── loadUserOrch.ts\n├── examples/           # Example custom configurations\n│   ├── custom-orch.ts\n│   └── custom-planner-executor.ts\n├── index.tsx           # Entry point\n└── types.ts            # Type definitions\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-1c9b5155b5a3e7073759ec85ef79a5cd"}