From 9b3cf35630a8d09b8bad1fcf2ba7dfe0980ea486 Mon Sep 17 00:00:00 2001 From: can1357 Date: Mon, 19 Jan 2026 00:15:22 +0100 Subject: [PATCH] docs(readme): added docs for Python tool, Todo tool, CLI subcommands, and Bedrock provider - Added documentation for Python tool with IPython kernel integration. - Added documentation for Todo tool with task tracking capabilities. - Added documentation for new CLI subcommands (config, setup) and xhigh thinking level. - Updated AI package description to include Bedrock provider. --- README.md | 34 +++++++++++++++++++++++- assets/python.webp | Bin 0 -> 75058 bytes packages/coding-agent/src/migrations.ts | 34 +----------------------- 3 files changed, 34 insertions(+), 34 deletions(-) create mode 100644 assets/python.webp diff --git a/README.md b/README.md index 34233d2bb..cdaa71e21 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,23 @@ Download binaries directly from [GitHub Releases](https://github.com/can1357/oh- --- +## + Python Tool (IPython Kernel) + +

+ python +

+ +Execute Python code with a persistent IPython kernel and 30+ shell-like helpers: + +- **Streaming output**: Real-time stdout/stderr with image and JSON rendering +- **Prelude helpers**: `cat()`, `sed()`, `rsed()`, `find()`, `grep()`, `batch()`, `sh()`, `run()` and more +- **Git utilities**: `git_status()`, `git_diff()`, `git_log()`, `git_show()` for repository operations +- **Line operations**: `extract_lines()`, `delete_lines()`, `insert_lines()`, `lines_matching()` for text manipulation +- **Shared gateway**: Resource-efficient kernel reuse across sessions (`python.sharedGateway` setting) +- **Custom modules**: Load extensions from `.omp/modules/` and `.pi/modules/` directories +- **Rich output**: Supports `display()` for HTML, Markdown, images, and interactive JSON trees +- Install dependencies via `omp setup python` + ## + LSP Integration (Language Server Protocol)

@@ -151,6 +168,16 @@ Configure different models for different purposes with automatic discovery: - CLI args (`--smol`, `--slow`) and env vars (`OMP_SMOL_MODEL`, `OMP_SLOW_MODEL`) - Configure via `/model` selector with keybindings (Enter=default, S=smol, L=slow) +## + Todo Tool (Task Tracking) + +Structured task management with persistent visual tracking: + +- **`todo_write` tool**: Create and manage task lists during coding sessions +- **Persistent panel**: Todo list displays above the editor with real-time progress +- **Task states**: `pending`, `in_progress`, `completed` with automatic status updates +- **Completion reminders**: Agent warned when stopping with incomplete todos (`todoCompletion` setting) +- **Toggle visibility**: `Ctrl+T` expands/collapses the todo panel + ## + Ask Tool (Interactive Questioning)

@@ -161,6 +188,7 @@ Structured user interaction with typed options: - **Multiple choice questions**: Present options with descriptions for user selection - **Multi-select support**: Allow multiple answers when choices aren't mutually exclusive +- **Multi-part questions**: Ask multiple related questions in sequence via `questions` array parameter ## + Custom TypeScript Slash Commands @@ -284,6 +312,7 @@ Modern terminal interface with smart session management: - **LSP status**: Shows which language servers are active and ready - **Hotkeys**: `?` displays shortcuts when editor empty - **Persistent prompt history**: SQLite-backed with `Ctrl+R` search across sessions +- **Grouped tool display**: Consecutive Read calls shown in compact tree view - **Emergency terminal restore**: Crash handlers prevent terminal corruption ## + Edit Fuzzy Matching @@ -296,6 +325,9 @@ Handles whitespace and indentation variance automatically: ## ... and many more +- **`omp config` subcommand**: Manage settings from CLI (`list`, `get`, `set`, `reset`, `path`) +- **`omp setup` subcommand**: Install optional dependencies (e.g., `omp setup python` for Jupyter kernel) +- **`xhigh` thinking level**: Extended reasoning for Anthropic models with increased token budgets - **Background mode**: `/background` detaches UI and continues agent execution - **Completion notifications**: Configurable bell/OSC99/OSC9 when agent finishes - **Structured git tool**: Safety guards, caching, GitHub operations with typed output @@ -314,7 +346,7 @@ Handles whitespace and indentation variance automatically: | Package | Description | | ------------------------------------------------------ | ----------------------------------------------------------------------------- | -| **[@oh-my-pi/pi-ai](packages/ai)** | Multi-provider LLM client (Anthropic, OpenAI, Gemini, Cursor, Codex, Copilot) | +| **[@oh-my-pi/pi-ai](packages/ai)** | Multi-provider LLM client (Anthropic, OpenAI, Gemini, Bedrock, Cursor, Codex, Copilot) | | **[@oh-my-pi/pi-agent-core](packages/agent)** | Agent runtime with tool calling and state management | | **[@oh-my-pi/pi-coding-agent](packages/coding-agent)** | Interactive coding agent CLI | | **[@oh-my-pi/pi-git-tool](packages/git-tool)** | Structured Git tool with safety guards and typed output | diff --git a/assets/python.webp b/assets/python.webp new file mode 100644 index 0000000000000000000000000000000000000000..38cc50584d4ec325686c8e3b7c3c730f1654c94a GIT binary patch literal 75058 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 z OMP_FOO - if (process.env[ompKey] === undefined) { - process.env[ompKey] = value; - migrated.push(key); - } - } - } - return migrated; -} /** * Migrate legacy oauth.json and settings.json apiKeys to agent.db. @@ -199,24 +179,12 @@ export async function runMigrations(_cwd: string): Promise<{ migratedAuthProviders: string[]; deprecationWarnings: string[]; }> { - // First: migrate env vars (before anything else reads them) - const migratedEnvVars = migrateEnvVars(); - // Then: run data migrations const migratedAuthProviders = migrateAuthToAgentDb(); migrateSessionsFromAgentRoot(); migrateToolsToBin(); - // Collect deprecation warnings - const deprecationWarnings: string[] = []; - if (migratedEnvVars.length > 0) { - for (const envVar of migratedEnvVars) { - const ompVar = `OMP_${envVar.slice(3)}`; - deprecationWarnings.push(`${envVar} is deprecated. Use ${ompVar} instead.`); - } - } - - return { migratedAuthProviders, deprecationWarnings }; + return { migratedAuthProviders, deprecationWarnings: [] }; } /**