Kimai Time Tracker EN
Jürgen Haas · Firefox
Track time with Kimai directly from any web page
<all_urls>),意味着它可以读取你在任意站点的页面内容,包括已登录的页面。这是许多扩展正常工作的必要条件,但也值得你确认来源可信。
截图
简介
Kimai Browser Plugin (kimai-bp)
Cross-browser extension for Kimai time-tracking. Injects widgets into web pages so you can start and stop timesheets without leaving your browser tab.
Features
- Start/stop timers from any web page via a floating widget or the extension popup
- Platform profiles — automatic detection of tasks and issues on supported platforms:
- GitLab (18.0+)
- GitHub (2024.1+)
- Jira (9.0+)
- Drupal.org (7.0–11.x)
- Inline track buttons injected next to detected issues/tasks on supported platforms
- Cascading task picker — Customer > Project > Activity dropdowns with data fetched from your Kimai instance
- Tag autocomplete — search and add tags from your Kimai instance
- URL pattern memory — remembers which customer/project/activity you used for a given URL scope and pre-fills settings on future visits
- Profile auto-updates — installed platform profiles are checked for updates every 6 hours
- Debug mode — YAML profile editor with live validation and color-coded DOM overlays for profile development
- Cross-browser — Chrome (Manifest V3) and Firefox (Manifest V3, 145.0+)
How It Works
The extension has two modes depending on the page you visit:
- Profile matched — When the current page matches an installed platform profile (e.g. a GitLab issue page), compact "Track" buttons are injected next to each detected issue. Clicking a button opens a dialog to select or confirm customer/project/activity settings and starts a Kimai timer with the issue ID and title as the description.
- No profile matched — A floating widget overlay appears in the corner of the page with a full timer interface: task picker, description field, tag input, and start/stop controls.
The extension popup provides the same timer controls accessible from the toolbar icon on any page.
All Kimai API communication is handled by the background service worker. Content scripts and the popup never call the API directly — they send typed messages to the background, which centralizes authentication and state management.
Installation
From Source
pnpm install
pnpm build:chrome # Production build for Chrome
pnpm build:firefox # Production build for Firefox
Chrome: Open chrome://extensions, enable Developer mode, click "Load unpacked", select .output/chrome-mv3.
Firefox: Open about:debugging#/runtime/this-firefox, click "Load Temporary Add-on", select .output/firefox-mv3/manifest.json.
Configuration
- Click the extension icon and go to Settings (or right-click the icon > Options)
- Enter your Kimai URL (e.g.
https://kimai.example.com) - Enter your API token (generated in Kimai under Settings > API)
- Click Save, then Test Connection to verify
Installing Platform Profiles
- Open the extension settings page
- Scroll to Platform Profiles
- Click Browse Available to see profiles from the registry
- Click Install next to the profiles for platforms you use
- Add custom domains if your instance uses a self-hosted URL (e.g.
gitlab.mycompany.com)
Development
pnpm install # Install dependencies
pnpm dev # Dev mode with HMR (Chrome)
pnpm dev:firefox # Dev mode (Firefox)
pnpm build # Production build (all browsers)
Testing
pnpm test # Run all tests
pnpm test:unit # Unit tests only (Vitest)
pnpm test:e2e # E2E tests (Playwright)
Linting & Type Checking
pnpm lint # ESLint check
pnpm lint:fix # ESLint auto-fix
pnpm format # Prettier format
pnpm format:check # Prettier check
pnpm typecheck # TypeScript type checking
Architecture
src/
├── entrypoints/
│ ├── background.ts # Service worker — API calls, timer state, profile management
│ ├── content.ts # Content script — profile detection, track buttons, floating widget
│ ├── popup/ # Extension popup — timer controls, task picker
│ └── options/ # Settings page — connection config, profile & pattern management
├── components/ # Vanilla web components (Shadow DOM)
│ ├── kimai-widget.ts # Floating overlay (timer + task picker + tags)
│ ├── kimai-popup.ts # Popup UI
│ ├── kimai-timer.ts # Live elapsed-time display with start/stop
│ ├── kimai-task-picker.ts # Customer > Project > Activity dropdowns
│ ├── kimai-tag-input.ts # Tag autocomplete input
│ ├── kimai-options.ts # Settings form
│ ├── kimai-profile-manager.ts # Profile browse/install/update UI
│ ├── kimai-pattern-manager.ts # URL pattern management UI
│ └── kimai-debug-profile-editor.ts # YAML profile editor with live val…
Kimai Time Tracker 是做什么的
Kimai Time Tracker 是一款面向 Firefox 的实用工具类扩展,主要用来解决浏览器里某类具体的小问题。官方对它的介绍是:Track time with Kimai directly from any web page在Firefox 附加组件商店(AMO)上,它当前版本 0.1.22,约 29 名用户。
适合什么人用
从功能定位看,Kimai Time Tracker 更适合想补上浏览器原生缺失功能的用户。如果你平时只是偶尔遇到相关需求,用浏览器自带功能也能凑合;但如果这件事每天都发生,装一个专门处理它的扩展通常比手动操作省事得多。需要注意的是它作用于所有网站,装上后建议先观察一两天,确认不影响常用站点的正常使用。
怎么安装 Kimai Time Tracker
- 打开Firefox 附加组件商店(AMO)上的官方页面;
- 点「添加到浏览器」并确认权限提示;
- 装好后在扩展列表里固定图标,方便随时开关。
本站只做索引与介绍,安装包来自官方商店。如果商店页面提示当前地区不可用,说明该扩展未在你所在区域上架。
常见问题
Kimai Time Tracker 是免费的吗?
Kimai Time Tracker 在Firefox 附加组件商店(AMO)免费提供下载。它是浏览器扩展,装上就能直接用,不需要注册账号。
Kimai Time Tracker 安全吗?
它只申请了 0 项权限,范围比较克制,没有申请「读取所有网站数据」这种大权限。
Kimai Time Tracker 支持哪些浏览器?
当前收录的版本来自Firefox 附加组件商店(AMO),适用于 Firefox。同一个扩展在其他商店可能有对应版本,但功能与版本号不一定相同。
怎么卸载 Kimai Time Tracker?
在扩展管理页找到 Kimai Time Tracker,点移除即可。它在本地保存的设置会一起清掉,不会残留数据。
权限清单 来自 manifest.json 原文
站点访问 1
<all_urls>
接口权限 3
activeTabalarmsstorage


