名称: vikunja-fast
描述: 通过 Vikunja API 管理项目与任务(逾期/到期/今日任务),标记完成状态,并快速获取摘要。
主页: https://vikunja.io/
元数据: {"clawdbot":{"emoji":"📋","requires":{"bins":["curl","jq"],"env":["VIKUNJA_URL"],"optionalEnv":["VIKUNJA_TOKEN","VIKUNJA_USERNAME","VIKUNJA_PASSWORD"]},"primaryEnv":"VIKUNJA_TOKEN"}}
将 Vikunja 作为任务与完成状态的核心数据源,并通过 Clawdbot 与其交互。
可通过环境变量 或 Clawdbot 技能配置提供凭据。
在网关运行的同一环境中设置以下环境变量:
export VIKUNJA_URL="https://vikunja.xyz"
# 推荐:使用 JWT(以 "eyJ" 开头)
export VIKUNJA_TOKEN="<jwt>"
# 备选:使用用户名/密码登录(辅助 CLI 将请求 JWT)
export VIKUNJA_USERNAME="<用户名>"
export VIKUNJA_PASSWORD="<密码>"
编辑 ~/.clawdbot/clawdbot.json:
{
skills: {
entries: {
"vikunja-fast": {
enabled: true,
env: {
VIKUNJA_URL: "https://vikunja.xyz",
VIKUNJA_TOKEN: "<jwt>"
}
}
}
}
}
说明:
- VIKUNJA_URL 可以是基础 URL;辅助工具会自动规范化为 /api/v1。
- Vikunja 认证要求大多数 API 调用使用 JWT 承载令牌(Authorization: Bearer <jwt>)。
- 如果只有非 JWT 令牌(通常以 tk_... 开头),请使用 /login 端点获取 JWT。
curl -fsS -X POST "$VIKUNJA_URL/login" \
-H "Content-Type: application/json" \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD","long_token":true}' | jq
curl -fsS "$VIKUNJA_URL/user" \
-H "Authorization: Bearer $VIKUNJA_TOKEN" | jq
curl -fsS "$VIKUNJA_URL/projects" \
-H "Authorization: Bearer $VIKUNJA_TOKEN" | jq '.[] | {id, title}'
本技能附带一个简易辅助 CLI:
{baseDir}/vikunja.sh示例:
# 所有项目中的逾期任务
{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
说明:
- 输出格式:
- 每个任务格式为:<表情符号> <到期日期> - #<ID> <任务标题>
- 表情符号取自项目标题(若以表情符号开头),否则使用 🔨
- 到期日期显示为 Mon/D(去除时间与年份)
- 本技能使用 GET /tasks/all 获取所有项目中的任务
TASK_ID=123
curl -fsS -X POST "$VIKUNJA_URL/tasks/$TASK_ID" \
-H "Authorization: Bearer $VIKUNJA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"done": true}' | jq