
Weeeking
io.github.OniVev0.5.0更新於 Oct 10, 2026
MCP server for Weeek with full public API coverage: tasks, projects, CRM, time tracking.
概覽
讓助理讀取並在啟用寫入後修改 Weeek 工作區資料:任務、專案、看板、CRM 商機、聯絡人與工時記錄。
- 功能
- Weeeking 封裝 Weeek 公開 API,涵蓋官方 OpenAPI 規格中的 157 個操作。它提供 13 個帶 action 參數的管理工具群組(專案、看板、看板欄、自訂欄位、專案組合、標籤、任務、漏斗、漏斗狀態、商機、組織、聯絡人、貨幣),以及 12 個日常使用的精選工具,例如上下文、任務搜尋、任務取得、留言、附件下載,還有建立、更新、移動、完成任務、設定人員、新增留言與刪除留言。MCP 資源與提示提供現成情境,compact 與 fetchAll 等選項可控制大量回應。
- 適用情境
- 當助理需要在 Weeek 工作區內工作時使用:查詢與彙整任務、專案與 CRM 記錄、記錄工時,或在開啟寫入後建立與更新任務和留言。適合已把 Weeek 當作任務與 CRM 系統的團隊。
- 執行需求
- 以 stdio 在本機執行,通常透過 npx weeeking 或下載的執行檔啟動;README 也說明可用 Rust 1.88+ 從原始碼建置。需要 Weeek API 權杖(WEEEK_API_TOKEN 或 WEEEK_TOKEN,或用 store-token 指令存入系統鑰匙圈);沒有權杖就無法讀取。選用設定包括 WEEEK_BASE_URL、WEEEK_LANG、WEEEK_TIMEOUT_MS 與 WEEEK_MAX_RESPONSE_CHARS。僅支援桌面端。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Weeeking,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Weeeking 🛡️
Русский · English
Weeek and conquer. MCP-сервер для Weeek с полным покрытием публичного API: 157 операций из официальной OpenAPI-спецификации. Один бинарник на Rust, без Node и внешних зависимостей в рантайме. Релизы — для семи платформ: Windows x64/arm64, Linux x64 (glibc/musl), Linux arm64, macOS arm64/x64.
Возможности
- 13 админ-групп с
action—weeek_project,weeek_board,weeek_board_column,weeek_custom_fields,weeek_portfolio,weeek_tags,weeek_task(таймеры, записи времени, вложения, родитель…),weeek_funnels,weeek_funnel_statuses,weeek_deals,weeek_organizations,weeek_contacts,weeek_currencies. - 12 curated-тулов для повседневной работы:
weeek_context,weeek_search_tasks,weeek_get_task,weeek_list_comments,weeek_download_attachment+ записи (weeek_create_task,weeek_update_task,weeek_move_task,weeek_complete_task,weeek_set_task_people,weeek_add_comment,weeek_delete_comment). - READ_ONLY по умолчанию: изменяющие действия не регистрируются, пока не выставлено
READ_ONLY=false. - Ресурсы и промпты MCP:
weeek://meиweeek://projectsчитаются клиентом без tool-call; промпты «Мои задачи на сегодня» и «Итоги недели» — готовые сценарии для агента. - Эргономика LLM:
compact=trueубирает null и пустые значения (включая пустые элементы массивов) из тяжёлых ответов;fetchAll=true(+maxItems) собирает страницы задач и комментариев (страница по умолчанию 100, не более 50 страниц) с флагомtruncated. - Надёжность: ретраи 429 и 502/503/504 с
Retry-Afterи экспоненциальным бэкоффом (429 — для любого метода, 502/503/504 и сетевые сбои — только для GET/HEAD; таймауты не повторяются);WEEEK_LOG=debug— HTTP-логи в stderr (метод, путь, статус, длительность; без токена). - Кодогенератор спеки:
tools/update_spec.pyтянет OpenAPI с developers.weeek.net и генерируетsrc/spec_generated.rs— статические данные (&'static str), которые компилируются в бинарник; в рантайме нет ни JSON, ни парсинга, чанк спеки в репозитории не сохраняется.
Сборка
Требуется Rust 1.88+ (MSVC toolchain на Windows).
Релизы
Готовые бинарники — в GitHub Releases: архивы
weeeking-<версия>-<платформа> и сырые бинарники для npm-обёртки; рядом — файлы .sha256,
хэши также перечислены в описании релиза.
Каждый файл релиза подписан GitHub-аттестацией (Sigstore) — проверяемое происхождение сборки:
npm (npx)
Пакет weeeking — тонкая обёртка: берёт нативный бинарник нужной платформы (Windows x64/arm64,
Linux x64 gnu/musl, Linux arm64, macOS arm64/x64) из GitHub Releases этой же версии. Публикуется
через npm trusted publishing (OIDC, с provenance).
Сервер также опубликован в официальном MCP Registry — io.github.OniVe/weeeking; оттуда его
подхватывают каталог GitHub MCP и агрегаторы.
На macOS скачанный через браузер бинарник может ловить карантин Gatekeeper — снимите его
(xattr -d com.apple.quarantine <файл>) или ставьте через npx/curl.
Переменные окружения
Откуда берётся токен
WEEEK_API_TOKEN(илиWEEEK_TOKEN) из окружения — приоритет всегда за ним.- В системном хранилище — запись сервиса
weeek-mcpс именемWEEEK_KEYCHAIN_ACCOUNT(по умолчаниюapi-token): Windows Credential Manager (targetapi-token.weeek-mcp), macOS Keychain, Linux Secret Service (GNOME Keyring/KWallet через D-Bus); сохраняется командойweeeking store-token. Значение никогда не логируется. - Если пусто — сервер поднимается, но вызовы возвращают
isErrorс подсказкой.
Системное хранилище работает на всех платформах; на headless-Linux без D-Bus его нет — задайте
токен переменными окружения WEEEK_API_TOKEN или WEEEK_TOKEN.
Несколько аккаунтов Weeek
Личность действий (автор комментариев, задач) определяется токеном: API всегда действует от владельца токена. Для второго пользователя нужен его собственный токен (создаётся в Настройках workspace → API; доступ к разделу есть у супер-админов и админов).
Пример второго инстанса в конфиге OpenCode (нативная форма V2):
Агент сможет выбирать, от кого действовать: тулы weeek-anna_* пишут от Анны, weeek_* — от основного аккаунта.
Удалить запись из хранилища: Windows — cmdkey /delete:api-token-anna.weeek-mcp;
macOS — security delete-generic-password -s weeek-mcp -a api-token-anna;
Linux — средствами вашего хранилища (GNOME Keyring / KWallet).
На headless-Linux без D-Bus системного хранилища нет: мультиаккаунт — отдельный инстанс сервера
с собственным WEEEK_API_TOKEN в окружении.
CLI
Подключение (OpenCode)
Нативная форма OpenCode V2 — серверы живут в mcp.servers:
Добавить из CLI: opencode mcp add weeek -- npx -y weeeking (с --global — для всех проектов).
Отключить сервер, не удаляя из конфига: "disabled": true (нативная V2-форма; V1-форма
"mcp": { "weeek": { … } } с enabled тоже поддерживается).
Любой другой MCP-клиент: команда — путь к бинарнику (или npx -y weeeking), транспорт — stdio.
Обновление спецификации
Разработка
Приёмочный smoke против живого API (перед релизом; read-only по умолчанию):
Пересборка при работающем OpenCode (exe залочен запущенным MCP-сервером):
Ограничения API Weeek (важно агенту)
- Описание задачи задаётся только при создании — позже не изменить.
tagsвweeek_update_taskзаменяет весь список — сначала прочитайте задачу.- Комментарии можно создать и удалить, но не отредактировать.
Лицензия
MIT
來源:README.md,提交 8a2ee07
工具
0版本歷史
1- v0.5.0最新Oct 10, 2026


