✅ Vikunja Fast Skill
Use Vikunja as the source of truth for tasks and completions, and interact with it from Clawdbot.
Setup
You can provide credentials either via environment variables or via Clawdbot’s skills config.
Option A: Environment variables
Set these environment variables in the same environment where the gateway runs:
CODEBLOCK0
Option B: Clawdbot skills config (recommended for the agent)
Edit ~/.clawdbot/clawdbot.json:
CODEBLOCK1
Notes:
- -
VIKUNJA_URL can be the base URL; the helper normalizes to /api/v1. - Vikunja auth expects a JWT bearer token for most API calls (
Authorization: Bearer <jwt>). - If you only have a non-JWT token (often starts with
tk_...), use /login to obtain a JWT.
Quick checks
Login (get a JWT)
CODEBLOCK2
Who am I? (requires JWT)
CODEBLOCK3
List projects
CODEBLOCK4
Commands
This skill ships with a tiny helper CLI:
Examples:
CODEBLOCK5
Notes:
- Each task should be formated as:
<EMOJI> <DUE_DATE> - #<ID> <TASK>
- Emoji comes from the project title when it starts with one; otherwise uses
🔨
- Due dates are rendered as
Mon/D (time + year removed)
- - This skill uses
GET /tasks/all to fetch tasks across all projects
Mark task done
CODEBLOCK6
✅ Vikunja 快速技能
使用 Vikunja 作为任务和完成情况的真实数据源,并通过 Clawdbot 与之交互。
设置
你可以通过环境变量 或 Clawdbot 的技能配置提供凭据。
选项 A:环境变量
在网关运行的同一环境中设置以下环境变量:
bash
export VIKUNJA_URL=https://vikunja.xyz
推荐:使用 JWT(以 eyJ 开头)
export VIKUNJA_TOKEN=
备选:使用用户名/密码登录(辅助 CLI 将请求 JWT)
export VIKUNJA_USERNAME=<用户名>
export VIKUNJA_PASSWORD=<密码>
选项 B:Clawdbot 技能配置(推荐用于代理)
编辑 ~/.clawdbot/clawdbot.json:
json5
{
skills: {
entries: {
vikunja-fast: {
enabled: true,
env: {
VIKUNJA_URL: https://vikunja.xyz,
VIKUNJA_TOKEN:
}
}
}
}
}
注意:
- - VIKUNJAURL 可以是基础 URL;辅助工具会自动规范化为 /api/v1。
- Vikunja 认证期望大多数 API 调用使用 JWT Bearer 令牌(Authorization: Bearer )。
- 如果你只有非 JWT 令牌(通常以 tk... 开头),请使用 /login 获取 JWT。
快速检查
登录(获取 JWT)
bash
curl -fsS -X POST $VIKUNJA_URL/login \
-H Content-Type: application/json \
-d {username:你的用户名,password:你的密码,long_token:true} | jq
我是谁?(需要 JWT)
bash
curl -fsS $VIKUNJA_URL/user \
-H Authorization: Bearer $VIKUNJA_TOKEN | jq
列出项目
bash
curl -fsS $VIKUNJA_URL/projects \
-H Authorization: Bearer $VIKUNJA_TOKEN | jq .[] | {id, title}
命令
此技能附带一个小型辅助 CLI:
示例:
bash
所有项目中已过期的任务
{baseDir}/vikunja.sh overdue
今天到期的任务
{baseDir}/vikunja.sh due-today
任意筛选(Vikunja 筛选语法)
{baseDir}/vikunja.sh list --filter done = false && due_date < now
显示 / 完成任务
{baseDir}/vikunja.sh show 123
{baseDir}/vikunja.sh done 123
注意:
- 每个任务应格式化为:<表情符号> <截止日期> - # <任务>
- 表情符号来自项目标题(当标题以表情符号开头时);否则使用 🔨
- 截止日期显示为 Mon/D(去除时间和年份)
- - 此技能使用 GET /tasks/all 获取所有项目中的任务
标记任务完成
bash
TASK_ID=123
curl -fsS -X POST $VIKUNJAURL/tasks/$TASKID \
-H Authorization: Bearer $VIKUNJA_TOKEN \
-H Content-Type: application/json \
-d {done: true} | jq