René's URL Explorer Experiment


Title: feat(local-runner): run an agent block in the run-app demo by jamesbhobbs · Pull Request #421 · deepnote/deepnote · GitHub

Open Graph Title: feat(local-runner): run an agent block in the run-app demo by jamesbhobbs · Pull Request #421 · deepnote/deepnote

X Title: feat(local-runner): run an agent block in the run-app demo by jamesbhobbs · Pull Request #421 · deepnote/deepnote

Description: Chained on #419 — review that first; this diff is only the agent block on top of it. What and why The run-app executed Python live but contained zero agent blocks, so the only agent block a reader could actually see was the snapshot-viewer's precomputed one. You could read the agent support, but never watch it run. This adds a real agent block to local-runner-showcase.deepnote. It writes an executive readout from what the dashboard already computed, and both Run paths execute it for real. The one non-obvious design point The agent block runs last, and that ordering is load-bearing rather than cosmetic. The engine breaks at the first failing block (execution-engine.ts:425), so placed anywhere earlier a missing key would take the whole dashboard down with it. At the end, a keyless run still renders every dashboard block and reports the error on the agent block alone — the demo degrades to exactly one error card. deepnote_agent_model: auto is what lets one notebook serve both paths: locally it resolves to $OPENAI_MODEL (default gpt-5); in the cloud Deepnote picks the model. Verified end-to-end (not just typechecked) Path Credential Result Run (local kernel) OPENAI_API_KEY failedBlocks: 0; agent called add_code_block + add_markdown_block Run in cloud DEEPNOTE_TOKEN only run 4005cab5 success; no OpenAI key involved The cloud agent inserted a code block computing real month-over-month growth (North America +11.2%, Asia Pacific -2.2%) and a readout citing both the computed figures and the analyst_notes input — so notebook inputs reach the agent, not just the Python blocks. Also here serve.mjs now reads .env like deepnote run does (it previously did not — only the CLI loaded it), and prints which keys it found, so a missing key shows up at startup instead of mid-run: Run: OPENAI_API_KEY ✓ Run in cloud: DEEPNOTE_TOKEN ✓ READMEs updated: the showcase was documented as "deterministic and key-free", which is now true only of the dashboard, not the agent block. Two findings for reviewers (not fixed here) A unit test is environment-dependent. packages/cli/src/utils/run-in-cloud.test.ts > requires a token (missing) assumes the developer has no real token. run-in-cloud.ts:297 calls dotenv.config() on the cwd, so once you put a DEEPNOTE_TOKEN in .env — which this PR's README now tells you to do — the test fails and makes a live call to api.deepnote.com. Green in CI (no .env there); fails locally for anyone set up to use the cloud button. Worth a hermetic fix in its own PR. Local and cloud produce different artifacts for the same notebook. The agent block emits stream locally but display_data in the cloud, and the inserted block is markdown locally vs text-cell-p in the cloud. Both render fine in run-app, so nothing is broken — but anything that diffs a local snapshot against a cloud one would see it. 🤖 Generated with Claude Code Summary by CodeRabbit New Features Added an AI-generated executive readout to the showcase notebook, including regional growth rankings, key observations, and a recommendation based on computed dashboard values. Local app startup now loads environment settings from a working-directory .env file and reports credential availability. Documentation Clarified execution order and credential requirements for local and cloud runs. Documented that the dashboard renders without credentials, while the final AI readout requires appropriate configuration.

Open Graph Description: Chained on #419 — review that first; this diff is only the agent block on top of it. What and why The run-app executed Python live but contained zero agent blocks, so the only agent block a reader ...

X Description: Chained on #419 — review that first; this diff is only the agent block on top of it. What and why The run-app executed Python live but contained zero agent blocks, so the only agent block a reader ...

Opengraph URL: https://github.com/deepnote/deepnote/pull/421

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:2f6a909c-cd72-f5a6-5339-e39530ded457
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idC936:B3C94:114752B:169B7E1:6AED6644
html-safe-noncef01f3e80f35f75d33763af3fe63252e1d8deb63b23bcc8a607804e5dbfd284be
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDOTM2OkIzQzk0OjExNDc1MkI6MTY5QjdFMTo2QUVENjY0NCIsInZpc2l0b3JfaWQiOiIzOTkyNTE4MzkzNzU0MTE3NzAwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac1a62a2cd1b7179a11aedaea2cee7e10967b5417b1e9e3845a704695921803dd1
hovercard-subject-tagpull_request:4068027751
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/deepnote/deepnote/pull/421/files
twitter:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/15235276?s=400&v=4
og:image:altChained on #419 — review that first; this diff is only the agent block on top of it. What and why The run-app executed Python live but contained zero agent blocks, so the only agent block a reader ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None56fb42677ae87ed3e64410323d67980aa65d0485568a7858f874e7edfc6d1c11
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/deepnote/deepnote git https://github.com/deepnote/deepnote.git
octolytics-dimension-user_id45339858
octolytics-dimension-user_logindeepnote
octolytics-dimension-repository_id1066509034
octolytics-dimension-repository_nwodeepnote/deepnote
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1066509034
octolytics-dimension-repository_network_root_nwodeepnote/deepnote
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release9c9a37e2423ed382cf39f70b5aa4b4858b40a3b0
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/deepnote/deepnote/pull/421/files#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F421%2Ffiles
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdeepnote%2Fdeepnote%2Fpull%2F421%2Ffiles
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=deepnote%2Fdeepnote
Reloadhttps://github.com/deepnote/deepnote/pull/421/files
Reloadhttps://github.com/deepnote/deepnote/pull/421/files
Reloadhttps://github.com/deepnote/deepnote/pull/421/files
deepnotehttps://github.com/deepnote
deepnotehttps://github.com/deepnote/deepnote
Codehttps://github.com/deepnote/deepnote
Issues13 (13)https://github.com/deepnote/deepnote/issues
Pull requests22 (22)https://github.com/deepnote/deepnote/pulls
Discussionshttps://github.com/deepnote/deepnote/discussions
Actionshttps://github.com/deepnote/deepnote/actions
Security and qualityhttps://github.com/deepnote/deepnote/security
Insightshttps://github.com/deepnote/deepnote/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fdeepnote%2Fdeepnote%2Fissues%2Fnew%2Fchoose
jamesbhobbshttps://github.com/jamesbhobbs
feat/local-runnerhttps://github.com/deepnote/deepnote/tree/feat/local-runner
feat/local-runner-agent-blockhttps://github.com/deepnote/deepnote/tree/feat/local-runner-agent-block
Conversation 2 https://github.com/deepnote/deepnote/pull/421
Commits 1 https://github.com/deepnote/deepnote/pull/421/commits
Checks 20 https://github.com/deepnote/deepnote/pull/421/checks
Files changed https://github.com/deepnote/deepnote/pull/421/files
Please reload this pagehttps://github.com/deepnote/deepnote/pull/421/files
feat(local-runner): run an agent block in the run-app demo https://github.com/deepnote/deepnote/pull/421/files#top
Show all changes 1 commit https://github.com/deepnote/deepnote/pull/421/files
3c06686 feat(local-runner): run an agent block in the run-app demo jamesbhobbs Jul 16, 2026 https://github.com/deepnote/deepnote/pull/421/commits/3c0668603b6943b927fbbdec64ffa28d8bc31721
Clear filters https://github.com/deepnote/deepnote/pull/421/files
Please reload this pagehttps://github.com/deepnote/deepnote/pull/421/files
Please reload this pagehttps://github.com/deepnote/deepnote/pull/421/files
local-runner-showcase.deepnote https://github.com/deepnote/deepnote/pull/421/files#diff-2dd4fd70c278b8c3c5963fdcfc41494496f0ce5df3706fda7da597a0f9b976ef
README.md https://github.com/deepnote/deepnote/pull/421/files#diff-ef1683eceeb525e1245c33bbe23436def78642817d417767c062e4c11c9e7bb0
README.md https://github.com/deepnote/deepnote/pull/421/files#diff-b8c449e5455ae37f81255ffbad976541bcc6bd53f2143aaf9c9875b0e7b9a72a
serve.mjs https://github.com/deepnote/deepnote/pull/421/files#diff-4320c58a5165e7ea9725e71881c2739ad3572922309a1f4f8c0dbb9598675250
examples/local-runner-showcase.deepnotehttps://github.com/deepnote/deepnote/pull/421/files#diff-2dd4fd70c278b8c3c5963fdcfc41494496f0ce5df3706fda7da597a0f9b976ef
View file https://github.com/deepnote/deepnote/blob/3c0668603b6943b927fbbdec64ffa28d8bc31721/examples/local-runner-showcase.deepnote
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/421/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/421/files#diff-2dd4fd70c278b8c3c5963fdcfc41494496f0ce5df3706fda7da597a0f9b976ef
https://github.com/deepnote/deepnote/pull/421/files#diff-2dd4fd70c278b8c3c5963fdcfc41494496f0ce5df3706fda7da597a0f9b976ef
https://github.com/deepnote/deepnote/pull/421/files#diff-2dd4fd70c278b8c3c5963fdcfc41494496f0ce5df3706fda7da597a0f9b976ef
examples/local-runner/README.mdhttps://github.com/deepnote/deepnote/pull/421/files#diff-ef1683eceeb525e1245c33bbe23436def78642817d417767c062e4c11c9e7bb0
View file https://github.com/deepnote/deepnote/blob/3c0668603b6943b927fbbdec64ffa28d8bc31721/examples/local-runner/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/421/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/421/files#diff-ef1683eceeb525e1245c33bbe23436def78642817d417767c062e4c11c9e7bb0
examples/local-runner/run-app/README.mdhttps://github.com/deepnote/deepnote/pull/421/files#diff-b8c449e5455ae37f81255ffbad976541bcc6bd53f2143aaf9c9875b0e7b9a72a
View file https://github.com/deepnote/deepnote/blob/3c0668603b6943b927fbbdec64ffa28d8bc31721/examples/local-runner/run-app/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/421/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/421/files#diff-b8c449e5455ae37f81255ffbad976541bcc6bd53f2143aaf9c9875b0e7b9a72a
https://github.com/deepnote/deepnote/pull/421/files#diff-b8c449e5455ae37f81255ffbad976541bcc6bd53f2143aaf9c9875b0e7b9a72a
examples/local-runner/run-app/serve.mjshttps://github.com/deepnote/deepnote/pull/421/files#diff-4320c58a5165e7ea9725e71881c2739ad3572922309a1f4f8c0dbb9598675250
View file https://github.com/deepnote/deepnote/blob/3c0668603b6943b927fbbdec64ffa28d8bc31721/examples/local-runner/run-app/serve.mjs
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/deepnote/deepnote/pull/421/{{ revealButtonHref }}
https://github.com/deepnote/deepnote/pull/421/files#diff-4320c58a5165e7ea9725e71881c2739ad3572922309a1f4f8c0dbb9598675250
Please reload this pagehttps://github.com/deepnote/deepnote/pull/421/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.