@dashiAIxz: 有幸收到飞书团队的邀请,分享了我们团队近期在做的 Vibe Coding 项目——dashi-taskboard 这是一套重塑现有 Codex 工作流的项目管理工具,通过任务看板的方式,把你从海量的 Codex 对话中拯救出来。 项目现已…

X AI KOLs Timeline 工具

摘要

介绍开源项目 dashi-taskboard,一套通过任务看板管理 Codex 工作流的本地优先工具,支持浏览器嵌入和 CLI,旨在提升 Vibe Coding 效率。

有幸收到飞书团队的邀请,分享了我们团队近期在做的 Vibe Coding 项目——dashi-taskboard 🚀 这是一套重塑现有 Codex 工作流的项目管理工具,通过任务看板的方式,把你从海量的 Codex 对话中拯救出来。 项目现已在 GitHub 完全开源,欢迎大家安装体验、提 Issue 和反馈建议! https://t.co/hirpXa0ynC https://t.co/3WRQwFHYBQ
查看原文
查看缓存全文

缓存时间: 2026/08/03 19:48

有幸收到飞书团队的邀请,分享了我们团队近期在做的 Vibe Coding 项目——dashi-taskboard 🚀

这是一套重塑现有 Codex 工作流的项目管理工具,通过任务看板的方式,把你从海量的 Codex 对话中拯救出来。

项目现已在 GitHub 完全开源,欢迎大家安装体验、提 Issue 和反馈建议! https://t.co/hirpXa0ynC https://t.co/3WRQwFHYBQ


chuspeeism/dashi-taskboard

Source: https://github.com/chuspeeism/dashi-taskboard

Codex Taskboard

A local-first issue board that runs in a browser and can be embedded in Codex through the standalone CDP launcher or its injection script. The same HTTP API powers the React UI and the taskctl CLI used by the bundled Codex Skill.

Requirements

  • Node.js 22.5 or newer

Run locally

npm install
npm run build
npm start

Open http://127.0.0.1:47823. The SQLite database is stored at .data/taskboard.sqlite.

For development with live frontend reload:

npm run dev

The Vite UI runs at http://127.0.0.1:5173 and proxies API requests to the local service.

Use the CLI

Run it from the project:

npm run taskctl -- project create \
  --id my-project \
  --name "My project" \
  --workspace-path /absolute/path/to/repository

npm run taskctl -- issue create \
  --project my-project \
  --title "Implement the next slice" \
  --status todo \
  --priority high \
  --labels product,mvp

Use npm link if you want taskctl on your shell path. Set CODEX_TASKBOARD_URL to point the CLI at another local or LAN service. Cloud deployments are configured through the loopback companion with taskctl cloud login.

Install the Codex Skill

Copy or symlink skills/manage-taskboard into the Codex skills directory, then start a new Codex task:

ln -s /absolute/path/to/codex-taskboard/skills/manage-taskboard \
  ~/.codex/skills/manage-taskboard

The Skill teaches Codex to inspect an issue, move it to in_progress, use optimistic versions, verify the work, and then move it to in_review; it moves the issue to done only after the user explicitly confirms acceptance or asks to mark it complete.

Embed in Codex

Recommended: keep your current window and open a separate Taskboard window

Keep the existing Codex window open. From the Taskboard repository, start a second Codex instance with a dedicated CDP port:

open -n -a /Applications/ChatGPT.app --args \
  --remote-debugging-port=9231 \
  --remote-allow-origins=http://127.0.0.1:9231

After the new Codex window appears, run the injector in another terminal:

CODEX_TASKBOARD_HOST=127.0.0.1 \
npm run codex:inject -- --port 9231 --open

Keep the injector terminal running while using the embedded panel. The original Codex window remains unchanged, and the new window receives the Taskboard sidebar entry. If port 9231 is occupied, use another port in both commands.

Alternative: restart Codex with the standalone launcher

Quit every running Codex window, then run:

CODEX_TASKBOARD_HOST=127.0.0.1 npm run codex

This starts the local Taskboard service when needed, launches the official macOS Codex app with a loopback-only CDP port, injects a native-looking Taskboard entry after Plugins, and keeps watching both the service and replacement renderers. Opening Taskboard asks this launcher to health-check the fixed local service, restart it when needed, and rebuild a failed iframe. Keep this command running while using the embedded panel. The launcher does not modify ChatGPT.app or its app.asar.

Codex 26.715.52143 ships a renderer CSP that blocks arbitrary HTTP iframes. The launcher therefore enables CDP CSP bypass, reloads that renderer once, installs the document-start script, and waits until the Taskboard OOPIF is actually loaded. CDP is unauthenticated to other processes on the same machine, so only run trusted local code while the launcher is active.

To inject into a Codex instance that was already launched with CDP by another method, run:

npm run codex:inject -- --port 9229 --open

This command also stays resident so the injected tab can restart Taskboard after a service exit. Stop it with Ctrl-C.

The script adds a Taskboard entry to the Codex sidebar and renders the iframe across Codex’s complete main workspace, including the contextual titlebar area so Taskboard’s own header does not leave an empty strip. That full rectangular header is placed above Electron’s draggable layer and marked no-drag; because the native contextual actions are suppressed while Taskboard is active, its own actions use their normal edge padding without an artificial right-side gap. The native sidebar stays mounted, while the previous page selection and contextual header are temporarily suppressed; choosing another Codex page restores them.

“在对话中打开” selects the corresponding native Codex project when one is available and opens an unsent native composer with $manage-taskboard ISSUE-ID. A conversation is attributed only after it actually processes the issue: taskctl reads Codex’s CODEX_THREAD_ID and records that ID on the issue or comment mutation. Recorded IDs are clickable through Codex’s native route bridge. Each issue can bind either one Git branch or one worktree; the options are scanned from the selected Codex project’s repository instead of being typed by hand. The integration uses Codex’s existing project, composer, and route markers; it does not patch React, replace fetch, load private chunks, or edit Codex data files.

To use a different UI origin, set window.__CODEX_TASKBOARD_URL__ before the user script runs.

Configuration

VariableDefaultPurpose
CODEX_TASKBOARD_HOST0.0.0.0HTTP bind address; use 127.0.0.1 to disable LAN access
CODEX_TASKBOARD_PORT47823Local HTTP port
CODEX_TASKBOARD_DATA_DIR.dataSQLite data directory
CODEX_TASKBOARD_URLhttp://127.0.0.1:47823CLI API origin

npm start prints both the local URL and the available LAN URLs. Teammates on the same trusted network can open one of those LAN URLs and use the same taskboard service. Task, comment, and attachment changes are broadcast to every open client through server-sent events; reconnecting clients perform a full refresh so changes made while disconnected are not missed. A teammate using taskctl can point it at the shared service with CODEX_TASKBOARD_URL=http://<host-ip>:47823.

LAN mode has no account authentication: anyone on the trusted local network who can reach the URL can read and write the taskboard. Public internet and cloud deployment require an authenticated deployment boundary.

Share through Cloudflare

For two trusted collaborators, the taskboard can run on Cloudflare with Worker Static Assets and API routes, D1 as the authoritative business database, and a private R2 bucket for attachments. The deployment uses HTTPS Basic Authentication with a shared password and refreshes open boards after a global revision changes.

Each device keeps its own project checkout mapping and continues to use a local companion for Codex, Git/worktree, Skill, and MCP capabilities. Cloud mode never falls back to or double-writes the local SQLite database.

See Cloud collaboration for owner deployment, existing GitHub installation setup, password rotation, local path mapping, and the one-time local-data migration flow.

Verify

npm run check

This runs TypeScript checking, a production frontend build, and the server/CLI/injection test suite.

相似文章

@xiaogaifun: https://x.com/xiaogaifun/status/2064268648601268540

X AI KOLs Timeline

详细总结了使用Codex工具的8个高频场景,包括配图、整理磁盘、转Slides、处理会议纪要、连接飞书和微信读书、部署网站以及处理公司日常事务,展示了AI助手在实际工作与生活中的多种应用。

@dotey: https://x.com/dotey/status/2057250417638035555

X AI KOLs Timeline

本文分享了来自Codex官方团队的使用技巧,包括持久对话流、语音输入、任务干预与排队、工具集成、自动化和目标设定等,帮助用户最大化利用Codex这一AI编码智能体。