← 返回
未分类 中文

TODO Web App

Deploy a local TODO web app that reads and writes a Markdown TODO.md file. Serves a beautiful dark-themed, glassmorphism UI on the LAN (no HTTPS needed). Fea...
本地部署 TODO Web 应用,读取并写入 Markdown TODO.md,提供 LAN 上暗黑玻璃拟态 UI(无需 HTTPS)。功能...
jwhowa jwhowa 来源
未分类 clawhub v1.0.1 1 版本 99865 Key: 无需
★ 0
Stars
📥 740
下载
💾 1
安装
1
版本
#latest

概述

todo-webapp

A zero-dependency Node.js web app that turns your TODO.md into a live, interactive task board.

!Preview

What it does

  • Serves a dark glassmorphism UI at http://.local:3456 (LAN only)
  • Reads TODO.md directly — ## headings become section cards, ### become subheadings, - [ ]/- [x] become clickable items
  • Live updates via Server-Sent Events: any change to TODO.md (by the agent or anyone else) pushes instantly to all open browser tabs
  • Click to toggle: checking an item off saves immediately to TODO.md
  • Archive Done button: moves all [x] items to TODO-done.md with a date stamp and removes them from TODO.md
  • Auto-starts on boot and self-restarts on crash via macOS launchd

Setup

1. Copy the server script

Copy scripts/server.js to your desired app directory (e.g. ~/.openclaw/workspace/todo-app/server.js).

The server expects:

  • TODO.md at ../TODO.md relative to the script (i.e. one directory up)
  • TODO-done.md at ../TODO-done.md (created automatically if missing)
  • bg.jpg in the same directory as the script (optional background image)

2. Add a background image (optional)

Drop any bg.jpg into the same folder as server.js. It will be rendered at ~22% opacity behind the UI. Works best with abstract or dark imagery.

3. Install the launchd agent

Copy assets/com.todo.plist.template to ~/Library/LaunchAgents/com.todo.plist.

Edit the plist and update these two values:

  • The path to node (run which node to find it)
  • The path to server.js

Then load it:

launchctl load ~/Library/LaunchAgents/com.todo.plist

4. Open in browser

Navigate to http://.local:3456 from any device on your LAN.

Restart command

If you update server.js, restart with:

kill $(lsof -ti :3456) && sleep 1 && launchctl kickstart -k gui/$(id -u)/com.todo

TODO.md format

The app parses standard OpenClaw-style markdown:

## Section Name

### Subheading

- [ ] Open task
- [x] Completed task
- **Bold text** is rendered in item labels

Any section added to TODO.md appears automatically. No app restart needed.

Port

Default port is 3456. To change it, edit the PORT constant at the top of server.js.

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-05-01 10:53 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,652
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 195 📥 67,708
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 679 📥 327,859