Toddyi

io.github.toddyi-appv0.2.7更新於 Oct 11, 2026

Tasks, calendar and study materials in Toddyi: search, read and plan with your tasks.

已驗證Streamable HTTP可網頁執行Files & StorageProductivity & WorkflowKnowledge & Memory

概覽

AI 產生的概覽

讓助理讀取和修改已登入帳號在 Toddyi 中的任務、資料夾、學習素材、卡片牌組和知識圖譜。

功能
把 Toddyi 的任務、資料夾和學習素材操作暴露為 MCP 工具,包括 list_tasks、get_task、create_task、update_task、complete_task、reopen_task、archive_task、delete_task、list_folders 和 create_folder。學習類工具可列出、搜尋、讀取、更新、加標籤和刪除學習資產、註解、牌組、知識圖譜節點與關聯、集合、分享連結、片段和發佈內容。遠端端點提供日常工具,本機 CLI 伺服器則提供包含學習編輯在內的完整工具集。
適用情境
適合任務、截止日期、資料夾和學習素材已經放在 Toddyi 中,並希望助理在對話裡規劃、搜尋、彙整或更新它們的情境,例如詢問哪些已逾期,或把筆記整理成任務。
執行需求
可以使用 toddyi.love/mcp 的遠端端點並透過 OAuth 登入,也可以在本機執行 toddyi 二進位檔並以 toddyi mcp 透過 stdio 提供。本機方式需要 Toddyi 帳號,以及 toddyi login 產生的權杖,或設定 TODDYI_TOKEN 環境變數(連接其他伺服器時還需 TODDYI_URL)。
安裝前請注意
工具可以建立、更新、完成、封存和刪除任務與學習資產,其中 delete_task 被標記為破壞性操作。分享連結和發佈功能可能讓內容被公開存取。~/.config/toddyi/config.json 中的權杖可存取帳號,不應複製進封存檔或分享;可用 toddyi logout 或在權杖清單中撤銷。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Toddyi,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "toddyi": {
      "type": "http",
      "url": "https://toddyi.love/mcp"
    }
  }
}

README

toddyi — Toddyi from the terminal

A single binary for people, shell scripts, CI jobs and AI agents: read and change your Toddyi tasks without opening the app.

console
$ toddyi loginYour code: UCT4-4D8DApprove it at https://toddyi.love/cli/authorize?code=UCT4-4D8DLogged in as [email protected].
$ toddyi create task "Write the quarterly report" --due tomorrow --folder Work --tag q4 --priority highCreated #1038 Write the quarterly report
$ toddyi tasks --due today1040  [~]  2026-10-01  Call the bank1039  [~]  2026-10-01  Buy milk
$ toddyi tasks --due today --ids | toddyi doneDone 2 tasks.

Install

Download the binary for your platform from Releases — one static file, no dependencies — check it against SHA256SUMS, and put it on your PATH.

Or with Go 1.24+:

bash
go install github.com/toddyi-app/toddyi-cli/cmd/toddyi@latest

Building from source:

bash
go build -o ~/.local/bin/toddyi ./cmd/toddyi    # this machinebash build.sh v0.1.0                             # every platform, into dist/

Signing in

toddyi login shows a code and opens the approval page in your browser. You approve it there, signed in as you normally are — second factor included — and the CLI collects a token of its own. The CLI never sees your password.

  • The token is stored in ~/.config/toddyi/config.json (mode 0600).
  • toddyi logout revokes it on the server, not just locally.
  • Every signed-in terminal is listed at /cli/tokens, where any of them can be revoked.
  • For CI or an agent that should not write files, set TODDYI_TOKEN (and TODDYI_URL for a server other than toddyi.love) instead of logging in.

Commands

Both word orders work: toddyi create task … and toddyi task create …. Flags may come before or after the arguments. toddyi <command> -h lists a command's flags.

toddyi login / logout / whoamisign in, sign out (revokes the token), show the account
toddyi tasks [words]list tasks — --status pending|completed|archived|active|all, --due today|overdue|week|none, --folder NAME, --kind, --search, --limit, --ids
toddyi create task TITLE--due, --start, --end, --priority low|medium|high, --important, --urgent, --folder, --tag (repeatable), --notes, --kind todo|habit|study
toddyi show IDone task, with notes
toddyi update task ID…change only the flags given (--title, --due none clears a date)
toddyi done ID… / reopen / archivea repeating task is done for today
toddyi delete ID… --yesfor good; asks when run in a terminal, refuses without --yes otherwise
toddyi folders / create folder NAME
toddyi assetslist study files and their current versions; filter with --search, --kind, --visibility, --tag, --created-from, --created-to, --updated-from, and --updated-to
toddyi asset upload FILEcreate an asset (--title, --visibility private|public)
toddyi asset show IDshow asset metadata and version history
toddyi asset update IDchange --title or --visibility private|public
toddyi asset version ID FILEupload a new immutable version (--summary)
toddyi asset download IDdownload the current version (--version, --output)
toddyi asset restore ID VERSIONrestore an older version as the newest version
toddyi asset correct ID VERSION GENERATION --file TEXT_FILEappend a provenance-linked OCR/transcription correction while preserving the original result
toddyi asset link --source ID --target ID --kind citescreate a directed source relationship; --source-fragment and --target-fragment anchor either end
toddyi asset links --asset ID / toddyi asset unlink LINK_IDbrowse links from either asset and remove a relationship
toddyi asset fragments --asset ID / toddyi asset fragment --asset ID --kind page --locator '{"page":2}'browse and create source fragments; pass --parent ID to build document hierarchy
toddyi asset export ID [--output FILE.zip] / asset import FILE.zipportable bundle with versions, extraction history, annotations and crops, fragments, related knowledge graph, publication state, tags and collection membership; import remaps references to a new asset ID
toddyi collection list|create|show|update|deletemanage owner-only collections of stable asset IDs (--assets ID,ID)
toddyi asset share list|create|revoke ID [LINK_ID]create seven-day-by-default share links, list own links, and revoke them
toddyi asset publish show|create|update|delete IDmanage a public Markdown publication
toddyi assets clone DIRdownload a workspace and create its local manifest
toddyi assets pull|push|sync [DIR]pull server changes, push local edits, or do both
toddyi mcpserve Toddyi to an AI agent (below)

An asset keeps the same ID across all versions. A workspace stores those IDs, version numbers, file paths and SHA-256 checksums in .toddyi-assets.json. sync keeps a local edit if the remote version also changed and reports a conflict instead of overwriting either copy. New files in the workspace are uploaded as private assets; deleting a tracked file creates a recoverable remote deletion, and asset restore ID VERSION can bring it back.

Dates are read in your account's time zone: today, tomorrow, yesterday, +3d, +2w, 2026-10-01, 2026-10-01T09:30, or none. A day without a time is the end of that day for a deadline, so "due today" is not overdue at breakfast.

For scripts and automation

  • --json on any command prints JSON on stdout; errors go to stderr as {"error": {"code", "message", "status", "exit_code"}}.
  • Exit codes are stable: 0 ok, 1 error, 2 usage or a value the server could not read, 3 not logged in / token revoked, 4 not found, 5 the Free plan's task limit.
  • stdin: toddyi create task - makes one task per line; done, reopen, archive, show and delete read ids from stdin when none are given.
bash
# Anything that prints lines becomes tasksgrep -h "TODO" src/**/*.rb | sed 's/.*TODO:\s*//' | toddyi create task - --folder Code --tag todo
# Everything overdue, as JSONtoddyi --json tasks --due overdue | jq -r '.[] | "\(.id)\t\(.title)"'
# A nightly job: archive what was finishedtoddyi tasks --status completed --ids | toddyi archive

For AI agents: toddyi mcp

toddyi mcp is a Model Context Protocol server on stdio. It exposes the same operations as tools — list_tasks, get_task, create_task, update_task, complete_task, reopen_task, archive_task, delete_task, list_folders, create_folder, whoami — and Study tools: list_study_assets, search_study_assets (query plus optional kind, visibility, tag, and created/updated date bounds), get_study_asset, update_study_asset, delete_study_asset, tag_study_asset, restore_study_asset_version, reprocess_study_asset_extraction, analyze_study_asset, list_study_annotations, create_study_annotation, update_study_annotation, delete_study_annotation, and analyze_study_crop. Flashcard tools are list_study_decks, get_study_deck, push_study_deck, clone_study_deck, import_public_study_deck, restore_study_deck_version, and set_study_deck_public. list_study_knowledge_graph, create_study_knowledge_node, update_study_knowledge_node, delete_study_knowledge_node, link_study_knowledge_nodes, and delete_study_knowledge_relation. They use the logged-in account's token and the same owner-scoped server rules. Knowledge nodes can be marked as primary source facts or interpretations and can retain a source fragment ID. Collection and sharing tools include list_study_collections, create_study_collection, update_study_collection, delete_study_collection, create_study_share_link, and revoke_study_share_link. Asset relationships can be browsed with list_study_asset_links, created with create_study_asset_link, and removed with delete_study_asset_link. Fragments and their document hierarchy are available through list_study_fragments and create_study_fragment. MCP publication tools are get_study_publication, create_study_publication, update_study_publication, and delete_study_publication.

Study bundles keep content and provenance while assigning new asset, fragment, annotation, knowledge-node, relation, and publication IDs on import. Existing same-named collections gain the imported asset as a member. Revocable share links are omitted because the token itself grants access and should not be copied into an archive.

Claude Code:

bash
claude mcp add toddyi -- toddyi mcp

Claude Desktop (claude_desktop_config.json), or any MCP client:

json
{ "mcpServers": { "toddyi": { "command": "toddyi", "args": ["mcp"] } } }

Then ask for things in words: "plan my week from these notes and put it in Toddyi", "what is overdue?", "mark the bank call done". Read-only tools are annotated as such and delete_task as destructive, so a client can ask before using it.

ChatGPT, Claude and Gemini

AgentHow it connects
ChatGPTToddyi's remote MCP server, https://toddyi.love/mcp, signed in with OAuth. Settings ? Apps & Connectors ? Create, URL https://toddyi.love/mcp, authentication OAuth. The app submission bundle (toddyi-chatgpt-app-<version>.zip) is attached to every release; its sources are in integrations/chatgpt.
Claude CodeThe plugin in toddyi-app/claude-plugins: /plugin marketplace add toddyi-app/claude-plugins, then /plugin install toddyi@toddyi. It runs toddyi mcp.
Gemini CLIThe extension in toddyi-app/gemini-extension: gemini extensions install https://github.com/toddyi-app/gemini-extension. It runs toddyi mcp.

The remote server offers the everyday tools ? search, fetch, tasks, folders, study materials, decks and the knowledge graph ? and needs nothing installed. toddyi mcp here has the full set, Study editing included.

Releases

Pushing a tag v* runs .github/workflows/release.yml: it tests, builds the CLI for every platform and the ChatGPT bundle, and attaches them and SHA256SUMS to the release. A tag with a hyphen (v0.2.0-rc.1) is published as a pre-release.

Layout

main.goentry point; version is set with -ldflags -X main.version=…
internal/cmdparsing, dispatch, output, exit codes
internal/apithe /api/cli client, and an in-memory fake of it for tests
internal/configwhere the URL and token are kept
internal/mcpthe MCP server and its tools
bash
cd cli && go vet ./... && go test -race ./...

The server side is app/controllers/api/cli/ (the API), app/controllers/features/cli/ (the approval page and the token list) and app/models/features/accounts/cli_token.rb.

License

MIT. See LICENSE.

來源:README.md,提交 d342a43

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.2.7最新Oct 11, 2026