Skip to content

Releases: erickcxc/dograh-ctl

v0.3.1: per-node prompts, end-call fix

Choose a tag to compare

@erickcxc erickcxc released this 22 Aug 03:16

Patch: per-node prompts and the end-call fix found on a live campaign call.

Added

  • agents set-prompt --node agentNode|startCall|globalNode|endCall (repeatable; default agentNode) and node_type on the agents_set_prompt MCP tool, so persona (globalNode), greeting (startCall), and goodbye (endCall) prompts can be set without graph surgery.

Fixed

  • Goodbye loop at the end of calls: the skill now carries the prompt contract (agentNode says one goodbye then calls end_call; endCall is one line), verified live (end_call transition executed, call completed in 3 s).

PyPI: https://pypi.org/project/dograh-ctl/0.3.1/

v0.3.0: agent-first

Choose a tag to compare

@erickcxc erickcxc released this 22 Aug 03:06

Agent-first release: Claude Code (or any MCP client) can now create, publish, number, test, and call a voice agent end to end through dograh-ctl.

Added

  • serve: full lifecycle tools (agents_create, agents_set_prompt, agents_set_model, agents_validate, agents_publish, agents_chat, numbers_add, campaigns_list/create/start/pause, telephony_configs, tools_list, keys_list) with next hints and a recipe in the server instructions. keys_create/revoke and numbers_remove stay CLI-only.
  • Claude Code plugin in the repo: .claude-plugin/plugin.json + marketplace.json, plugin-root .mcp.json (registers dograh-ops via uvx dograh-ctl serve), the dograh-ctl skill (lifecycle recipe), and the /dograh-ctl-setup command.
  • dograh-ctl mcp-config: prints the claude mcp add line and JSON for other MCP clients.
  • AGENTS.md for agents using or working on the repo.
  • campaigns watch <id>: live dashboard (progress bar + calls table, numbers masked to the last 4 digits).

Install for Claude Code: claude plugin marketplace add erickcxc/dograh-ctl then claude plugin install dograh-ctl. CLI: uv tool install dograh-ctl. PyPI: https://pypi.org/project/dograh-ctl/0.3.0/

v0.2.1: first PyPI release

Choose a tag to compare

@erickcxc erickcxc released this 22 Aug 02:55

First PyPI release: pip install dograh-ctl / uv tool install dograh-ctl.

Added

  • PyPI publishing via GitHub Actions Trusted Publishing (.github/workflows/release.yml, runs on version tags).
  • CHANGELOG.

Changed

  • README presents the finished command surface (32 commands, 9 groups) instead of a roadmap.
  • pyproject.toml: mcp>=2.0 (the server uses the 2.0 MCPServer API), project URLs, authors, keywords, classifiers.
  • Test fixtures use a placeholder phone number.
  • LICENSE names the copyright holder in full.
  • Version test asserts __version__ matches pyproject.toml (works on Python 3.10+).

Install: uv tool install dograh-ctl or pip install dograh-ctl. PyPI: https://pypi.org/project/dograh-ctl/0.2.1/

v0.2.0: the full command map

Choose a tag to compare

@erickcxc erickcxc released this 22 Aug 02:39

dograh-ctl v0.2.0

dograh-ctl v0.2.0: the full command map

The missing command line for self-hosted Dograh voice agents is complete: 32 commands across agents, runs, numbers, models, campaigns, telephony, tools, keys, and an MCP operations server.

New

  • agents: get, set-model, publish, validate
  • runs: trigger (place a call, resolves the run id), transcript, recording, chat (text session, no telephony)
  • numbers: add (register an owned number), remove
  • models: show, set (read-modify-write, server re-merges masked secrets)
  • campaigns: list, create (CSV upload), start, pause, status
  • telephony: configs, providers
  • tools: list
  • keys: list, create (prefix only unless --reveal), revoke
  • serve: MCP server over stdio exposing the operations verbs (Dograh's own MCP handles authoring)

Production hardening

  • Every command supports --json; every failure is one line with an exit code (2 config, 1 remote); no tracebacks
  • --yes confirmation on verbs that place calls or cost money
  • Mocked-HTTP test per command; fixtures pinned to the Dograh source at dograh-hq/dograh@b32187d8
  • CI on Python 3.10 and 3.12; uv tool install git+https://github.com/erickcxc/dograh-ctl

Notes

  • Requires Python 3.10+ (the mcp dependency)
  • numbers buy / numbers release from the v1 roadmap became numbers add / numbers remove: Dograh registers numbers, it does not buy or release them at the carrier
  • Verification status per command is in the README (live-verified vs source-verified)