Wasiban
使用Next.js、Ant Design和Prisma构建的看板应用程序。
特性
- 具有拖放重新排序功能的板、列和卡
- 卡片标签、截止日期、优先级和降价描述
- 每张卡的状态更新和线程注释
- 搜索和优先级过滤
- 暗模式支持
- 用于AI代理集成的MCP服务器
______________________________________________________________________
本地运行(npm+SQLite)
先决条件
- Node.js v20.19+、v22.12+、v24.0+(prisma要求)
- npm
设置
- 安装依赖项
npm install- 配置环境
创建一个 .env 项目根目录中的文件:
DATABASE_URL="file:./dev.db"- 运行迁移
npx prisma migrate dev这将应用迁移并自动生成Prisma客户端。
- 为数据库添加种子 _(可选--创建示例板)_
npm run db:seed- 启动开发服务器
npm run dev该应用程序将在 http://localhost:3003.
有用的脚本
| 命令 | 描述 |
|---|---|
npm run dev | 使用热重新加载(端口3003)启动开发服务器 |
npm run build | 为生产而建 |
npm run start | 启动生产服务器 |
npm run prisma:migrate | 创建并应用新的迁移 |
npm run prisma:studio | 打开Prisma Studio(数据库GUI) |
npm run db:reset | 重置并重新运行所有迁移 |
npm run db:seed | 为数据库添加样本数据种子 |
______________________________________________________________________
使用Docker(或Podman)运行
注: 如果您位于公司代理/防火墙之后,则可能需要处理TLS证书验证。有两个选项可供选择: 选项A——禁用TLS验证(仅限开发,不适用于生产) 添加--tls-verify=false旗帜(波德曼)或--insecure标志(Docker)绕过注册表TLS。您还必须设置NODE_TLS_REJECT_UNAUTHORIZED=0在buildDocker的一个阶段,这样Node.js(Prisma、npm)在构建过程中进行网络调用时就可以跳过TLS验证: ``dockerfile # In the build stage, before the prisma commands: ENV NODE_TLS_REJECT_UNAUTHORIZED=0 RUN npx prisma generate RUN npx prisma migrate deploy RUN npm run build`**选项B——信任您的企业CA证书(推荐)** 一种更安全的方法是将您的公司CA证书文件复制到容器中,并在任何网络调用之前的构建阶段信任它:`dockerfile # In the build stage, before the prisma commands: COPY corporate-ca.pem /usr/local/share/ca-certificates/corporate-ca.crt RUN update-ca-certificates RUN npx prisma generate RUN npx prisma migrate deploy RUN npm run build``
Podman用户: Podman与Docker CLI兼容。更换每个docker命令如下(和 医生.md)与podman其他一切——标志、卷语法、图像名称——都保持不变。命名卷通过以下方式进行管理podman volume而不是docker volume.
看 医生.md 了解完整的Docker说明。快速启动:
- 塑造形象
docker build -t wasiban .- 运行容器
docker run -p 3003:3003 -v wasiban-data:/app/data wasiban该应用程序将在 http://localhost:3003.
容器在首次启动时自动运行迁移并为数据库添加种子。这 -v wasiban-data:/app/data 标志会在重新启动时保留SQLite数据库。
代码更改后的重建
docker build -t wasiban . && docker run -p 3003:3003 -v wasiban-data:/app/data wasiban______________________________________________________________________
MCP服务器
Wasiban揭露了一个 模型上下文协议 服务器,这样AI代理就可以以编程方式读取和管理电路板。看 MCP.md 获取完整文档。
手动运行服务器
npm run mcp通过Claude CLI连接
有两种连接方式-- 本地 (直接读取源文件,使用本地 dev.db)或 码头工人 (使用构建的映像及其持久卷)。
选项1——当地(建议开发)
claude mcp add --transport stdio --scope user wasiban-local \
-- /path/to/wasiban/scripts/mcp.sh替换 /path/to/wasiban 带有克隆仓库的绝对路径。
选项2——Docker(或Podman)
claude mcp add --transport stdio --scope user wasiban-docker \
-- docker run -i -v wasiban-data:/app/data wasiban node ./node_modules/.bin/tsx src/mcp/server.tsPodman用户更换 docker 随着 podman:
claude mcp add --transport stdio --scope user wasiban-docker \
-- podman run -i -v wasiban-data:/app/data wasiban node ./node_modules/.bin/tsx src/mcp/server.ts如果自上次构建以来进行了代码更改,请运行docker build -t wasiban .(或podman build -t wasiban .)首先。
可用工具
| 工具 | 说明 |
|---|---|
list_boards | 列出所有板 |
get_board | 找一块有所有列和卡片的板 |
create_board | 创建新板 |
update_board | 更新电路板的名称、描述或颜色 |
delete_board | 删除板 |
create_column | 向板中添加列 |
create_card | 在列中创建卡片 |
update_card | 更新卡片的标题、描述、状态更新、到期日期或优先级 |
move_card | 将卡片移动到其他列或位置 |
filter_cards_by_priority | 查找与优先级匹配的卡片,可选范围为板或列 |
get_board_labels | 为电路板定义所有标签 |
create_label | 在板上创建标签 |
delete_label | 删除标签 |
add_label_to_card | 在卡片上贴标签 |
remove_label_from_card | 从卡片上移除标签 |
get_comments | 获取卡片的所有评论 |
create_comment | 在卡片上添加评论(支持Markdown) |
delete_comment | 删除评论 |
可用资源
| 资源URI | 描述 |
|---|---|
boards://list | 所有电路板的JSON列表 |
board://{id} | 全板数据,包括列、卡和标签 |
______________________________________________________________________
优先级
卡片支持四个优先级,并在看板上显示自定义图标:
| 优先级 | 图标 | 颜色 |
|---|---|---|
| 低 | --(破折号) | 灰色 |
| 中号 | ›(单V形) | 绿色 |
| 高 | ›\\8250\](双V形) | 橙色 |
| 最高 | › |
优先级可以在卡片细节抽屉中设置,并从板工具栏或通过API/MCP服务器进行过滤。
您还可以直接调用REST端点:
GET /api/cards?priority=high&boardId=
GET /api/cards?priority=highest&columnId=______________________________________________________________________
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
DATABASE_URL | SQLite文件路径或libsql URL | file:./dev.db |
______________________________________________________________________
技术栈
- 框架 — Next.js
- 用户界面 — Ant Design
- 数据库 --SQLite通过 libsql
- 对象关系映射 — 棱镜
- 拖放 — dnd套件
- 主控程序 — @模型上下文协议/sdk
