Rhylthyme

com.rhylthyme由 rhylthyme.com 發布官方發布者v1.3.0更新於 Oct 26, 2026

Real-time multi-track schedules for cooking, lab protocols, events and workouts. Validate and share.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶媒體與設計

概覽

AI 產生的概覽

為烹飪、實驗流程、活動與訓練建立、驗證並發布多軌時間表,輸出可分享的即時時間軸。

可以做什麼
  • 驗證與分析程式:結構檢查並提供修正提示,計算起訖時間、關鍵路徑、資源衝突與各軌餘裕
  • 將程式發布為即時時間軸,回傳分享連結、ASCII 甘特圖、行程表與 PNG 預覽
  • 從網址、外部服務或貼上的文字匯入食譜、實驗流程與流程單,並對照來源複核結果
  • 搜尋並開啟公開目錄中的食譜、實驗方案、活動範本與訓練計畫
  • 管理個人資料庫:儲存、列出與載入程式,檢視已記錄的執行與時長校準
  • 回傳開源時間軸渲染器的 JavaScript,供無法載入外部腳本的 HTML 頁面使用
適用情境
適合讓助理規劃由人逐步執行的流程,例如多道菜同時上桌、實驗培養時間重疊、活動流程單或計時訓練,並希望取得可分享的時間軸而非原始 JSON。
執行需求
遠端 Streamable HTTP 端點,無需安裝;公開目錄與純計算工具不需帳號。帳號類工具(儲存、匯入、執行紀錄、複核、校準)需要 Rhylthyme 帳號,透過 OAuth 2.1 或 login 工具提供的短效權杖。自架需 Node.js 20 或更新版本。
安裝前請注意
帳號類工具會操作用戶已儲存的程式與執行紀錄,save_program 會寫入帳號。visualize_schedule 與 preview_timeline 會建立公開分享紀錄,程式內容可透過連結存取。login 工具將貼上的存取權杖當作工具參數傳遞,不在 MCP 的 OAuth 流程內。匯入文字在伺服器端處理,且每日有次數上限。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.rhylthyme%2Frhylthyme/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

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

{
  "mcpServers": {
    "rhylthyme": {
      "type": "http",
      "url": "https://mcp.rhylthyme.com/mcp"
    }
  }
}

README

Rhylthyme MCP server

[Claude Connectors Directory] [Listed on mcpservers.org]

A Model Context Protocol server for schedules that a person executes: cooking several dishes so they finish together, running a bench protocol with overlapping incubations, calling an event, running a workout. An agent describes the process, the server validates and analyzes the resulting program, and publishes it as a live timeline on rhylthyme.com that the person follows on their phone.

This repository is the source of the server that runs at mcp.rhylthyme.com. It is the same code as mcp-api/ in the rhylthyme-server application, copied here with the static assets it needs so it can be read, tested and self-hosted.

Try it: ask for a workout

Connect the server (in claude.ai, Claude Desktop or mobile, add Rhylthyme from the Claude Connectors Directory; in Claude Code, /plugin marketplace add rhylthyme/rhylthyme-mcp then /plugin install rhylthyme@rhylthyme; anywhere else, add https://mcp.rhylthyme.com/gym/mcp as a connector), then say what you want in plain words:

Two of us in a garage gym: one kettlebell, one pull-up bar, one jump rope. Thirty minutes, two rounds, and nobody stands around waiting for equipment. Make it a Rhylthyme timeline.

You write no JSON. The assistant does, and the server keeps it honest. With that prompt Claude made three tool calls:

CallWhat came back
validate_program✅ Program is valid — 2 tracks, 20 steps, 30m makespan.
analyze_scheduleResource conflicts: none. Each station has capacity 1, so this is the proof that Alex and Sam never want the kettlebell at the same moment
visualize_schedulea link, gym.rhylthyme.com?share=4995ef1b88744e80, with rest timers and interval beeps, and a text chart for the chat:
                0                       15m                    30mAlex           │░Warm-…░▒S…▒░Pu…░▒Ju…▒░░░▒Sw…▒░Pu…░▒Ju…▒░░░▒St…▒│Sam            │░Warm-…░▒P…▒░Ju…░▒Sw…▒░░░▒Pu…▒░Ju…░▒Sw…▒░░░▒St…▒│

Ask "show me a picture" and preview_timeline returns an image in the chat. For one coloured by station, which makes the rotation obvious, save the program the assistant wrote (ours is examples/recipe/garage-circuit.json) and run:

bash
npx -y github:rhylthyme/rhylthyme-timeline garage-circuit.json -o garage-circuit.png \  --style web --palette tableau --color-by task

[Garage circuit for two, coloured by station: the kettlebell, the bar and the rope are never double-booked]

Then push on it: "add a third person", "we only have 20 minutes", "swap the rope for burpees". The assistant edits the program and the server checks it again.

This repository and rhylthyme

Two repositories do related things and are easy to confuse. This one is the server an AI assistant talks to. rhylthyme (formerly rhylthyme-cli-runner) is the command a person types.

rhylthyme-mcprhylthyme
What it isThe MCP server: the tools an AI assistant callsA command-line program: the rhylthyme command
Who uses itClaude, ChatGPT, Cursor or any MCP client, on a person's behalfA person at a terminal, a script, or CI
Where it runsHosted at mcp.rhylthyme.com; nothing to installOn your machine: pip install rhylthyme
LanguageJavaScript (Node 20+)Python 3.12+
InputA program the assistant builds in conversationA program file on disk (JSON or YAML)
Validate a programvalidate_programrhylthyme validate (works offline)
Timing, conflicts, deadlinesanalyze_schedulerhylthyme analyze (asks the server)
Publish a live timelinevisualize_schedulerhylthyme publish (asks the server)
Run a schedule with timersno: it hands back a link to the web timelinerhylthyme run, an interactive terminal runner
Recorded runs, calibrationreads runs saved to an accountrecords runs locally; rhylthyme runs, rhylthyme calibrate
Catalog search, imports, account libraryyesno
Also in the repositorythe rhylthyme-mcp PyPI package (a stdio bridge to the hosted server), the Claude plugin marketplacethe Claude skill's source, the prompt-evaluation harness and its results, rhylthyme mcp-test

How they fit together: the command-line tool is one of this server's clients. rhylthyme analyze, publish, generate and mcp-test are MCP calls to mcp.rhylthyme.com; rhylthyme validate, run, runs and calibrate never touch the network. Each has its own validator for the same program schema (JavaScript here, Python there), so a program is checked again when it is published.

Use this repository to connect an assistant, to read or self-host the server, or to change a tool. Use rhylthyme if you have a program file and a terminal, want timers in the terminal, or keep run records.

Two names to keep apart: rhylthyme-mcp on PyPI is this server's stdio bridge (command rhylthyme-mcp, source in python/); rhylthyme on PyPI is the command-line tool (command rhylthyme; it was published as rhylthyme-cli-runner before 0.5.0). The program format itself is defined in rhylthyme-spec, with examples in rhylthyme-examples.

Endpoints

URLServer nameAdds
https://mcp.rhylthyme.com/mcprhylthyme-mcpgeneric scheduler
https://mcp.rhylthyme.com/kitchen/mcprhylthyme-kitchen-mcpcook_recipe, whats_for_dinner
https://mcp.rhylthyme.com/lab/mcprhylthyme-lab-mcprun_protocol, random_protocol, Benchling import
https://mcp.rhylthyme.com/events/mcprhylthyme-events-mcpplan_event, random_event_template
https://mcp.rhylthyme.com/gym/mcprhylthyme-gym-mcpstart_workout, surprise_workout

Transport: Streamable HTTP, stateless. No sign-in is needed for the public catalog or the pure tools; account tools use the person's Rhylthyme account through OAuth 2.1, or a pasted token from the login tool in clients without OAuth. Server instructions describing the workflow are sent at initialize.

Quickstart: timelines from the command line

The rhylthyme CLI can drive this server directly: describe what you need in plain language and get back a live timeline URL, a program file, or both.

bash
pip install rhylthyme                        # Python 3.12+rhylthyme login                              # opens rhylthyme.com in your browserrhylthyme generate "roast chicken, potatoes and green beans for 6" \    -e kitchen --by 19:00 --with "one oven, four burners, one cook"

login signs you in through the browser and hands the session back to a one-shot listener on 127.0.0.1. It is stored in ~/.config/rhylthyme/credentials.json (mode 0600) and renews itself, so you only log in once. generate then calls two tools on this server:

  1. import_text on the endpoint for -e (/kitchen/mcp, /lab/mcp, …) turns the request into a validated multi-track program. It runs four model turns server-side, which is why it needs a sign-in; it takes 20–60 seconds and is capped per day.
  2. visualize_schedule publishes that program and returns the live-timeline URL on the matching subdomain.

It prints the ASCII Gantt, the itinerary and the URL. More examples:

bash
# A lab protocol from a file; save the program and run it in the terminalrhylthyme generate -e lab -f western_blot.txt -o blot.json --run
# Pipe a run sheet in; print only the URLpbpaste | rhylthyme generate -e events --by "doors at 18:30" -q
# Program JSON only, no published timeline; machine-readable outputrhylthyme generate -e gym "45 minute upper-body circuit, two people, one bench" --no-publish --json
FlagMeaning
-e, --envgeneric (default), kitchen, lab, events or gym. Picks the endpoint and the timeline site.
--byWhen everything must be finished: 19:00, dinner at 7pm.
--withEquipment and people limits in your own words.
-f, --fileRead the request or source text from a file, or - for stdin.
-o, --outputSave the program JSON.
--runRun the program in the terminal runner afterwards.
--openOpen the live timeline in a browser.
--no-publish, --json, -qSkip publishing; print JSON; print only the URL.

To check a server (this one, or your own deployment) end to end:

bash
rhylthyme mcp-test                                   # all five hosted endpoints, read-onlyrhylthyme mcp-test --url http://localhost:3000/mcp -e generic --publish

rhylthyme whoami shows the stored sign-in; rhylthyme logout forgets it. On a machine without a browser, set RHYLTHYME_TOKEN to an access token from https://www.rhylthyme.com/mcp/auth (it lasts about an hour), or run rhylthyme login --token <token>. RHYLTHYME_MCP_URL points the CLI at a self-hosted server.

Connect

Claude Code

bash
claude mcp add --transport http rhylthyme https://mcp.rhylthyme.com/mcpclaude mcp add --transport http rhylthyme-kitchen https://mcp.rhylthyme.com/kitchen/mcp

Claude Desktop / claude.ai: Customize → Connectors, search for Rhylthyme and click Connect. For one of the other URLs above: Customize → Connectors → Add → Add custom connector → paste the URL → Continue. Public tools work immediately; run login only to save to your own account.

Claude Code plugin (the hosted server plus a skill that teaches Claude to author, validate and analyze schedules):

These are two commands. Send the first on its own:

/plugin marketplace add rhylthyme/rhylthyme-mcp

then, once it says the marketplace was added, the second:

/plugin install rhylthyme@rhylthyme

ChatGPT: Settings → Apps & Connectors → Advanced settings → turn on Developer mode, then Create a connector with one of the URLs above as the MCP server URL. Without a connector ChatGPT cannot call these tools and falls back to browsing the website.

Cursor (.cursor/mcp.json):

json
{ "mcpServers": { "rhylthyme": { "url": "https://mcp.rhylthyme.com/kitchen/mcp" } } }

Claude API (MCP connector, one request):

python
import anthropicclient = anthropic.Anthropic()resp = client.beta.messages.create(    model="claude-opus-5", max_tokens=16000,    betas=["mcp-client-2025-11-20"],    mcp_servers=[{"type": "url", "url": "https://mcp.rhylthyme.com/kitchen/mcp", "name": "rhylthyme"}],    tools=[{"type": "mcp_toolset", "mcp_server_name": "rhylthyme"}],    messages=[{"role": "user", "content": "Plan Thanksgiving for 8 with one oven, dinner at 6pm."}],)

Reviewing an import. review_program (an account tool) has a model read an imported program against its source and return findings: wrong durations, dropped steps, bad ordering, a total that disagrees with the source. Call it after import_from_source or import_text, apply what it says, and validate again.

Clients that can only launch a command: pip install rhylthyme-mcp gives a rhylthyme-mcp command, a stdio bridge that passes every request through to the hosted server (source in python/):

json
{ "mcpServers": { "rhylthyme": { "command": "rhylthyme-mcp", "args": ["kitchen"] } } }

No MCP client at all (an agent with a shell, a script): the server is stateless, so one POST works with no handshake and no account.

bash
curl -s https://mcp.rhylthyme.com/mcp \  -H 'Content-Type: application/json' -H 'Accept: application/json' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",       "params":{"name":"validate_program","arguments":{"program":{"programId":"x","name":"x","tracks":[]}}}}'

visualize_schedule called the same way returns the live-timeline URL in result.structuredContent.url. Or use the CLI in the quickstart above.

Tools

ToolAnnotationsWhat it does
validate_programread-only, pureStructural and scheduling checks (duplicate/missing ids, dangling references, cycles, within-track overlaps, tasks without a resource constraint, unparseable durations, choice references). Every finding carries a code, message and fix hint. Structured output.
analyze_scheduleread-only, pureResolved start/end per step, makespan, the dependency chain that determines it, resource-conflict windows, per-track slack, peak concurrency vs. declared actors. Pass finishAt or startAt (ISO 8601) for wall-clock start times. Structured output.
visualize_schedulepublishesValidates (refuses invalid programs unless allowInvalid), creates a share record, returns a markdown preview (cover image, equipment, ingredients, ASCII Gantt, itinerary, schedule check), an inline PNG of the timeline and the live URL. Structured output.
preview_timelinepublishes a share recordPNG of the timeline only, no prose.
search_public_recipesread-onlyKeyword search over the public catalog; environment selects kitchen (default), laboratory, event or gym. Structured output.
load_public_reciperead-onlyFull summary and live URL for one catalog entry.
cook_recipe / run_protocol / plan_event / start_workoutread-onlyOne-shot on each vertical: top catalog match → live URL.
whats_for_dinner / random_protocol / random_event_template / surprise_workoutread-onlyRandom catalog pick on each vertical.
import_from_sourceread-onlySpoonacular, TheMealDB, protocols.io, Cooklang, Opentrons Protocol API scripts, Benchling → validated program JSON. search needs no token; import and random need the user's token.
create_environmentpureEquipment limits and actor types → environment JSON.
login—Returns the sign-in URL, then verifies a pasted token.
list_my_programs, load_program, save_programaccountThe user's own library; save_program validates first.
get_renderer_sourceread-onlySource of the Apache-2.0 timeline renderer, for HTML artifacts whose sandbox blocks external scripts.

Annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) are set on every tool; four tools also declare an outputSchema and return structuredContent. Failures set isError and say what to do next.

Resources and prompt

  • rhylthyme://schema/program: the program JSON Schema (0.3.0-alpha)
  • rhylthyme://guide/authoring: one-page authoring rules, trigger vocabulary, how to make tracks finish together, repeated work (replicates, per-instance instances: "each" chains, "all" barriers and maxInFlight), choice branching
  • rhylthyme://guide/tools: the long form of every tool description. The tool list itself is kept to about 3,600 tokens so it is cheap to keep connected
  • rhylthyme://examples/{breakfast_schedule, lab_experiment, stir_fry_with_choice, hiit_cardio_workout, corporate_presentation, cookies_three_trays}: complete valid programs (cookies_three_trays is the 0.3.0-alpha per-instance / in-flight worked example)
  • prompt plan_schedule(goal, finishAt?, constraints?): walks the model through search → build → validate → analyze → visualize, and names replicates / instances / maxInFlight in its constraints step

What a program looks like

json
{  "schemaVersion": "0.1.0",  "programId": "eggs-and-toast",  "name": "Eggs and toast",  "tracks": [    { "trackId": "eggs", "name": "Eggs", "steps": [      { "stepId": "whisk", "name": "Whisk", "task": "prep",        "duration": { "type": "fixed", "seconds": 60 },        "startTrigger": { "type": "programStart" } },      { "stepId": "cook", "name": "Cook", "task": "stove",        "duration": { "type": "variable", "minSeconds": 120, "maxSeconds": 240, "defaultSeconds": 180 },        "startTrigger": { "type": "afterStep", "stepId": "whisk" } } ] },    { "trackId": "toast", "name": "Toast", "steps": [      { "stepId": "toast", "name": "Toast", "task": "toaster",        "duration": { "type": "fixed", "seconds": 180 },        "startTrigger": { "type": "afterStep", "stepId": "cook", "event": "start", "offsetSeconds": 60 } } ] }  ],  "resourceConstraints": [    { "task": "prep", "maxConcurrent": 1 },    { "task": "stove", "maxConcurrent": 2 },    { "task": "toaster", "maxConcurrent": 1 }  ]}

Steps in one track run sequentially; parallel work goes in separate tracks; every task needs a resource constraint; durations and offsets take seconds or strings like "5m". Triggers: programStart, programStartOffset, afterStep (end or event: "start", signed offset), afterStepWithBuffer, manual, onAbort, or {logic: all|any, triggers}. Durations: fixed, variable (ended early by the executor), indefinite (ended by the executor).

Self-hosting

bash
git clone https://github.com/rhylthyme/rhylthyme-mcpcd rhylthyme-mcpnpm install            # Node 20 or newernpm test                 # SDK in-memory + HTTP entry-point tests, no networkPORT=3000 npm start      # http://localhost:3000/mcp and the four vertical pathsnpm run stdio            # the same server over stdio (add kitchen, lab, events or gym)

Stdio clients run it as a local process, for example in Claude Desktop: {"command": "node", "args": ["/path/to/rhylthyme-mcp/src/stdio.js"]}.

Docker: docker build -t rhylthyme-mcp . && docker run -p 3000:3000 rhylthyme-mcp. Vercel: vercel in the repository root; vercel.json rewrites the endpoint paths to the function.

What self-hosting does and does not give you: validation, timing analysis, the renderer, resources and prompts run in your process. Catalog search, sharing (visualize_schedule), imports and account tools call the public API at https://www.rhylthyme.com (API_BASE in mcp-api/index.js), so those still depend on the hosted service. The PNG preview route /api/og/timeline.png additionally needs SUPABASE_URL and SUPABASE_ANON_KEY for read access to shared programs; nothing else does.

Layout

  • mcp-api/index.js: tool, resource and prompt registration; vertical detection; OG-image route; Vercel handler
  • mcp-api/schedule.js: validator and analyzer (pure)
  • static/js/timeline-render.js: timing engine and SVG Gantt (also published as @rhylthyme/timeline)
  • static/schema/, static/examples/: the resources
  • src/index.js: standalone HTTP runner
  • src/stdio.js: standalone stdio runner (same tools, resources and prompts)
  • mcp-api/server.json: MCP registry manifest
  • .claude-plugin/marketplace.json, plugins/rhylthyme/: the Claude plugin marketplace and plugin (claude plugin validate .); the skill in it is a checked copy of skills/rhylthyme in rhylthyme
  • python/: the rhylthyme-mcp PyPI package, a stdio bridge to the hosted server (cd python && PYTHONPATH=src pytest tests)

Known limitations

  • login hands the user a URL and expects a pasted, short-lived access token that then travels as a tool argument; it is outside MCP's OAuth 2.1 flow. Hosts that require OAuth for authenticated servers can still use every public tool.
  • search_public_recipes searches one environment at a time; the generic endpoint defaults to kitchen.
  • Tool annotations are self-declared hints; hosts may ignore them.

License

Apache-2.0, like the rest of Rhylthyme. (This repository was MIT until September 2026.)

來源:README.md,提交 f862acf

工具

19

validate_program

Validate a program

Check a program before publishing or saving it: ids, dangling or cyclic triggers, steps overlapping in a track, tasks with no resourceConstraint, durations, replicates/instances misuse. Every finding has a code, a message and a suggested fix. Pure computation.

輸入參數program必填

analyze_schedule

Analyze schedule timing

Put a program on the clock: each step's start and end, total length, the critical path and what gates it, resource conflicts, slack per track. Pass finishAt to answer 'when do I start X so everything is ready at 6pm?'. Pure computation. With `history` (run records) or `program_id` it also predicts durations from recorded runs.

輸入參數tokenhistoryprogram必填startAtfinishAtprogram_iduseDurationspredictionContext

visualize_schedule

Publish a live timeline

Publish a program as a live, shareable timeline (a public share link) and return its URL, with an ASCII Gantt and an itinerary. For a schedule the user wants to follow or share ('plan this so it all finishes at 6', 'when do I start each thing'). Validates first and refuses an invalid program with fix hints.

輸入參數program必填allowInvalid

import_from_source

Import from an external source

Import a recipe or protocol from a URL or service into a program. source: spoonacular, themealdb (recipes); protocolsio, opentrons, benchling (lab); cooklang (.cook URL). action: search (no account needed), import (query = URL or id), random. import, random and benchling need the user's Rhylthyme account. `enrich: true` splits an import into parallel tracks. Returns the program.

輸入參數textquerytokenaction必填enrichsource必填

import_text

Import pasted text

Turn pasted text (a recipe, protocol, run sheet or training plan) into a validated multi-track program on the server, in four model turns, with a table of the source span each step came from. Capped per day. Needs the user's Rhylthyme account.

輸入參數text必填hintstokendeadlineenvironmentType必填

create_environment

Define equipment limits

Describe a workspace's equipment limits (one oven, two centrifuges, one stage) as resourceConstraints to copy into a program, so steps that share equipment are scheduled around each other.

輸入參數name必填type必填actorsdescriptionresourceConstraints必填

login

Connect Rhylthyme account

For apps that cannot connect the Rhylthyme account directly: returns a sign-in URL, then accepts the pasted token. Only the user's own saved programs, runs and imports need it; everything public works without. Tokens last about an hour.

輸入參數token

list_my_programs

List my saved programs

List the user's saved programs. Needs the user's Rhylthyme account.

輸入參數token

load_program

Open a saved program

Open one of the user's saved programs by id: summary plus live-timeline URL. Needs the user's Rhylthyme account.

輸入參數tokenprogram_id必填

list_runs

List recorded runs

List recorded runs of a saved program: when, how it ended, actual against planned length. For 'how long did this take last time?'. Needs the user's Rhylthyme account.

輸入參數tokenprogram_id必填

review_program

Review an imported program

A model reads an imported program against its source and reports what looks wrong: a default duration on "simmer for an hour", a step the importer dropped, steps chained that could overlap, a total that disagrees with the source. Changes nothing; returns findings to show the user. Needs the user's Rhylthyme account.

輸入參數tokenprogram必填source_urlsource_text

load_run

Open a recorded run

Open one recorded run: planned against actual timing per step, what ended each step, pauses. Shows where a plan drifts. Needs the user's Rhylthyme account.

輸入參數tokenrun_id必填

calibrate_program

Propose durations from recorded runs

Propose durations for a saved program from its recorded runs: median as the default, P10 to P90 as the range, at least as wide as the author's, with the evidence per step and the effect on total length. Saves nothing; with `accept` it returns the calibrated program. Needs the user's Rhylthyme account.

輸入參數ksincetokenaccepthistoryprogramprogram_id

list_public_runs

List contributed runs

List anonymous runs other people contributed for one exact program version: actual against planned length, and their conditions. For 'how long does this really take?'. No account needed. Takes `program` or `program_hash`.

輸入參數limitprogramprogram_hash

search_public_recipes

Search the public catalog

Search the public catalog of recipes, lab protocols, event templates and workouts by name or keyword. Returns ids, names, descriptions and URLs; no account needed.

輸入參數limitqueryenvironment

load_public_recipe

Open a public program

Open a public catalog entry by id: summary plus live-timeline URL.

輸入參數program_id必填

save_program

Save to my account

Save a program to the user's account ('save this for later'); the same programId updates it. Needs the user's Rhylthyme account.

輸入參數tokenprogram必填

preview_timeline

Preview timeline image

Return a static Gantt image of a program with a caption, for 'show me a preview' or 'a picture of the timeline'. The image is served from a public share link. Planned versus actual: with `run` (a run record) it draws the actual bars over the plan.

輸入參數runprogram必填

get_renderer_source

Get timeline renderer source

Return the open-source timeline renderer's JavaScript (Apache-2.0, about 90 KB, no dependencies) for an HTML page or artifact that cannot load external scripts; it defines Rhylthyme.renderTimeline(container, program).

無需輸入參數。

版本歷史

1
  1. v1.3.0最新Sep 17, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分