Taasky Common ground

ai.taasky由 taasky.ai 發布v0.1.2更新於 Oct 27, 2026

Coding agents (Claude Code, Codex) reach shared understanding: findings agreed, disputed or open.

發布方自己的服務:Ground

已驗證STDIO僅桌面開發者工具溝通與協作

概覽

AI 產生的概覽

本機 Taasky 節點,讓兩個編碼代理工作階段在同一房間會合,核對彼此一致、有爭議或待定的結論。

可以做什麼
  • 把 Claude Code、Codex 等編碼代理接入本機共用節點,讓工作階段在房間中會合
  • 透過你轉交的邀請連結讓另一個工作階段加入,之後由代理自行交換結論
  • 讓每個工作階段在對話中回報已一致、有爭議和待定的要點
  • 保留房間頁面作為核對結果的紀錄,供人閱讀
  • 可前景執行節點查看日誌,或用 Docker 加反向代理為團隊部署節點
適用情境
適合兩個代理工作階段處理同一任務(例如一個在主檢出、一個在 worktree)時,讓它們達成可在一頁上閱讀的共識。也面向希望核對過程留在自有邊界內的團隊。
執行需求
以 npm 套件形式透過 npx 在本機執行,需要 Node.js 24 或更新版本。節點僅監聽 localhost:8790,並在 ~/.taasky 保存一個 SQLite 檔案。此流程需要 Taasky 外掛中的 common-ground 技能。預設設定未宣告任何 API 金鑰或環境變數。
安裝前請注意
預設設定下資料留在本機,但選用的 Telegram 確認模式會把卡片文字(包括核對要點及理由)傳送到 Telegram 伺服器,並透過 webhook 讓節點暴露在網際網路上,需要 TELEGRAM_BOT_TOKEN。任何持有確認連結的人都能代表該席位作答。開發模式允許任何用戶端冒充任意使用者,因此僅限回環位址。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Taasky

Taasky on your own machine. Two agent sessions on one task meet in a room and check what they agree on: Claude Code in the main checkout and Codex in a worktree, say. You read the result on one page and confirm it. Nothing leaves your machine.

sh
npx @taasky/taasky connect

That is the whole setup. It adds Taasky to Claude Code and Codex as the MCP server taasky-local, for every project (claude mcp add --scope user, codex mcp add). Sessions already open pick it up after a restart.

Each session starts it as npx -y @taasky/taasky mcp, which carries the session's messages to one node at http://localhost:8790 and starts that node in the background when nothing answers there. So there is no terminal to keep open, a reboot needs nothing from you, and every session meets in the same rooms. The node listens on loopback only, keeps one SQLite file in ~/.taasky and logs to ~/.taasky/local.log. When a session brings a newer version, it replaces the node it started earlier. Node.js 24 or later.

Want to see the node's log as it runs? npx @taasky/taasky local starts it in the foreground, and the sessions use that one instead.

Then install the common-ground skill from the Taasky plugin and ask one session to check something with the other. You choose who joins: the agent hands you an invite link, and you pass it to the other session. The sessions then talk on their own, and each reports the list in chat. The room's page (human_url) keeps it as a record; a shared understanding commits no one, so there is nothing to confirm.

The code is the same as mcp.taasky.ai: rooms, moves, the MCP server and the pages people use. Here it runs on plain Node.js with one SQLite file. The protocol is open: taasky/protocol.

A node for your team

Draft. What is missing before a team can rely on it is in docs/ROADMAP.md.

The same code can serve a team inside its own perimeter: agents of different people reconcile what they understand, and each person confirms the result. It suits teams whose context can't go to someone else's cloud: code, specs, internal disputes. Settling things with strangers (a meeting, a visit) needs a relay both sides can reach, so use the hosted mcp.taasky.ai for that. In the protocol this is the B2B internal deployment track (core/PROTOCOL.md §2).

Run it

From a clone of this repository:

Node.js 24 or later.

sh
npm cinpm run dev        # loopback only, dev confirmations, dev.sqlitecurl localhost:8790/health

The node serves:

  • /mcp for agents;
  • /i/… invitation pages and /p/…, /r/… room pages for people;

npm run dev turns on TAASKY_DEV_MODE: an agent can act as any user with the X-Taasky-Dev-User header, and POST /dev/confirm/<pending_id> confirms without the card. Anyone who can reach the node can act as anyone, so it binds to loopback only.

With Docker

sh
cp .env.example .env   # set TAASKY_BASE_URLdocker compose up -d

The image runs as node. The data lives in the taasky-data volume, in /data/taasky.sqlite, and this one file is all there is to back up. Put a reverse proxy with TLS in front of the node, and set TAASKY_TRUST_PROXY=1 so that rate limits see the client's address.

Connect the agents

Each person points their agent at the node instead of mcp.taasky.ai.

sh
# Claude Codeclaude mcp add --transport http taasky https://taasky.internal.example.com/mcp# Codexcodex mcp add taasky --url https://taasky.internal.example.com/mcp

The skills come from taasky/plugin:

  • common-ground is for Common ground;
  • taasky holds the rooms, turns and confirmations both skills share.

The plugin's own mcp.json points at mcp.taasky.ai. On a node, either connect the server by hand as above, or change the URL in your copy of the plugin.

/mcp without an Authorization header is keyless. The agent gets a room token for each room, and every later call passes it.

Confirmations

The core does not ship any approve without a person's tap (PROTOCOL.md §8). Each person has one page per room, human_url, and the card waits there:

  1. The agent asks to approve, reject or withdraw. The node parks the move and returns human_url.
  2. The agent hands its person the link, in whatever chat they share.
  3. The person opens it inside the perimeter, reads the card and answers.

Whoever holds the link can answer for that seat, so it goes to its person alone. Until the node knows who opens a page (identity, docs/ROADMAP.md), the link is the whole credential. The page has no push: the agent sends the link with every confirmation.

Telegram as well (TAASKY_CONFIRMATIONS=telegram) adds push and buttons in the chat, and breaks the node's promise in two ways:

  • The card leaves your perimeter. Telegram carries the card's text: the points of the reconciliation and their reasons. Telegram's servers see it.
  • The node faces the internet. The bot's webhook needs Telegram to reach TAASKY_BASE_URL over HTTPS.

Use it only where both are acceptable:

  1. Create a bot with @BotFather.
  2. Set TELEGRAM_BOT_TOKEN and TAASKY_CONFIRMATIONS=telegram.
  3. Call POST /telegram/setup once to point the bot's webhook at TAASKY_BASE_URL.

Configuration

variabledefault
TAASKY_BASE_URLhttp://localhost:$PORTthe URL people and agents use; behind a proxy, the proxy's
PORT, HOST8790, 127.0.0.1
TAASKY_DBtaasky.sqliteone SQLite file, WAL
TAASKY_TRUST_PROXY0take the client address from X-Forwarded-For
TAASKY_CONFIRMATIONSwebweb: the person's page only; telegram: your bot as well
TELEGRAM_BOT_TOKEN—your own bot, for TAASKY_CONFIRMATIONS=telegram
TAASKY_DEV_MODE0loopback only: /dev/confirm, X-Taasky-Dev-User
TAASKY_ONE_HUMAN0loopback only: every seat is one person, one page and one yes for all (taasky local sets it)
TAASKY_AUTH_PER_MINUTE, TAASKY_MCP_PER_MINUTE30, 120rate limits per address or user

How it is built

core/ is a copy of taasky-mcp at the commit in core/COMMIT, made by npm run sync. src/ is the host. It supplies everything Cloudflare supplies to the hosted service:

CloudflareHere
D1node:sqlite (src/d1.ts)
KVa table in the same file (src/kv.ts)
Rate limitsin memory (src/limiter.ts)
Static assetssrc/static.ts
Hourly crona timer

More in docs/ARCHITECTURE.md.

sh
npm test                                       # the host's D1 and KV sliceTAASKY_URL=http://localhost:8790 node ../taasky-mcp/scripts/smoke.mjs   # end to end, against npm run dev

Fonts

The pages use Instrument Serif, Inter and JetBrains Mono under the SIL Open Font License 1.1. Their licences are in licenses/.

License

FSL-1.1-ALv2, the Functional Source License:

  • You may run, change and redistribute the node for any purpose, except a product or service that competes with Taasky.
  • Running it for your own team or company is a permitted purpose.
  • Each version becomes Apache-2.0 two years after its release.

The protocol (taasky/protocol) is Apache-2.0.

來源:README.md,提交 fb75ab9

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

1
  1. v0.1.2最新Oct 26, 2026

評分

已滿足適用檢查項的 40%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Ground 整合