Task library with a calendar on top - 2026任务库 + 日历 · 自托管 · 2026

CobuildCobuild

A task library with a calendar view. The calendar is not the data - it is one way of looking at the tasks, and the one people actually use.任务库,加一层日历。日历不是数据,日历是看任务的一种方式——也是人真正会用的那一种。

Status状态
In development开发中
Year年份
20262026
Role角色
Solo: positioning, design system, build独立完成:定位、设计系统、开发
Form形态
Tauri 2 desktop appTauri 2 桌面应用
Stack技术
Rust, Tauri 2, TypeScript, SQLiteRust · Tauri 2 · TypeScript · SQLite
A task library with a calendar view. The calendar is not the data - it is one way of looking at the tasks, and the one people actually use.
Cover封面Cobuild - Task library with a calendar on topCobuild - 任务库 + 日历 · 自托管
  • Opens on the calendar, not on a project list打开就是日历,不是项目列表
  • The agent sits in the same sidebar as people, with its own colour and a source labelagent 和人排在同一份名单里,有自己的颜色和来源标记
  • Workspace data stays in a folder on your disk; the service listens on 127.0.0.1工作区数据在你自己硬盘的目录里,服务只监听 127.0.0.1
  • 2-3 people plus agents share one workspace; assigning a task is how work is handed out2–3 个人加 agent 共用一个工作区;把任务指派出去就是布置工作

Cobuild started from a specific annoyance: the work I do with an agent and the work I do with people never live in the same place. The agent finishes something at eight in the morning, and the only record of it is a chat log that scrolls away.Cobuild 起于一个具体的别扭:我和 agent 做的事、我和人做的事,从来不在同一个地方。agent 早上八点做完一件事,唯一的记录是一段会滚走的聊天记录。

Calendar first, not task first日历优先,不是任务优先

Opening on a project list means maintaining a list nobody reads. Opening on the week means the question is already the right one: what is happening this week, and who is carrying it.打开是项目列表,等于维护一份没人看的清单。打开是一周,问题本身就已经问对了:这周在发生什么,谁在扛。

Three things a SaaS cannot copy三件 SaaS 抄不走的事

  • The data is on your disk - no account, no sync server, works with the network off数据在自己硬盘上——没有账号、没有同步服务,断网也能用
  • Every task can say which agent wrote it; Notion and Feishu have no such idea每条任务能标明是哪个 agent 写的;Notion 和飞书没有这个概念
  • The workspace can open and edit files in a local folder, instead of download-edit-upload工作区能直接打开并编辑本地目录里的文件,而不是下载—改—上传

An agent is a coworker, not a chatbotagent 是同事,不是聊天框

In the sidebar the agent appears next to people: same list, same ability to be assigned work, a different colour. A task can record that the agent produced it, and the agent can be handed work like anybody else. That is the smallest honest version of working with an agent - it is in the roster, not in a separate tab.侧边栏里 agent 和人排在一起:同一份名单、同样能被派活,只是颜色不同。一条任务可以记录它由 agent 产出,agent 也能像别人一样接到活。这是「和 agent 共事」最小的诚实版本——它在名单里,不在另一个标签页里。

The week, with tasks, meetings and who owns what
Fig. 01The week, with tasks, meetings and who owns what一周视图:任务、会议、谁在负责

Where it actually is它现在到底到哪一步

Running, not shipped. The week view, task panel, cobuilder roster, online-meeting field and settings all work. The next blocker is not a feature: it is the first run. An empty workspace has to be useful before anyone has typed anything into it.能跑,但没发布。周视图、任务面板、cobuilder 名单、线上会议字段和设置都能用。下一个卡点不是功能,是第一次打开:一个空工作区,在任何人录入之前就得有用。

  • Week view with an all-day lane; tasks and meetings in one grid周视图带全天栏,任务和会议在同一张网格里
  • Settings: weekend and week numbers, notifications, online meeting, menu bar设置项:周末与周数、通知、线上会议、菜单栏
  • Local service on 127.0.0.1; data stays in the workspace folder本地服务只监听 127.0.0.1,数据留在工作区目录
  • Still missing: the empty state, and a first-run path that does not assume you already know the model还缺:空状态,以及一条不假设你已经懂模型的首次使用路径
Sharing only works if the data belongs to you first.共享的前提,是数据先属于你自己。Why self-hosted为什么自托管