时间记录工具

一个通过自然语言与Claude交互,自动记录工作时间到Vairix Admin的工具。

  • by Barralex
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Barralex/vairix-admin-mcp

使用说明

和克劳德谈谈。你的工作时间会被记录下来。

一 MCP服务器 这让克劳德可以直接访问 Vairix管理员.
无需再点击表单,只需用通俗易懂的语言描述您的需求。



安装

一个命令。就这样

claude mcp add vairix-admin -s user -- npx @vairix/admin-mcp

-s user 使其在各地可用 全部 你的项目,而不仅仅是当前的项目。

Install from GitHub instead
claude mcp add vairix-admin -s user -- npx --yes github:Barralex/vairix-admin-mcp
Clone manually instead
git clone git@github.com:Barralex/vairix-admin-mcp.git
cd vairix-admin-mcp
npm install
claude mcp add vairix-admin -s user -- node $(pwd)/build/index.js
Uninstall
claude mcp remove vairix-admin -s user

运作原理

You: "Log 8 hours on Seekr for today: API refactor"
                          |
                    Claude Code (MCP)
                          |
               admin.vairix.com (HTTP)
                          |
                       Done.

第一次? Claude将打开您的浏览器(Chrome、Edge或Brave),以便您可以正常登录。您的会话Cookie存储在操作系统密钥链中——密码是 从不 保存的。之后,一切都通过直接的HTTP请求运行。次秒。无需浏览器。

会话已过期?直说吧 “验证” 再一次。

你能说什么

"Authenticate with Vairix Admin"              -- login (once per session)

"What days am I missing this month?"           -- find gaps
"Log 8h on Seekr for Monday through Friday"    -- bulk log
"Log 4 hours on Cordage for today: Bug fixes"  -- single entry

"How many hours did I log on Seekr?"           -- totals
"Show me a breakdown by category"              -- summary
"Show my hours for this month"                 -- list entries

"Delete the hour entry from today"             -- remove entry

无特殊语法。没有命令要记住。描述一下你想要什么。

引擎盖下的工具

克劳德会自动选择正确的工具。你不需要直接给他们打电话。

工具 它做什么
auth 打开浏览器登录。会话已保存到操作系统钥匙链。
auth_status 检查您的会话是否仍然有效。
logout 清除已保存的会话。
set_main_project 设置默认项目,这样您就不必每次都指定它。
get_pending_days 查找您尚未记录小时数的工作日。
get_hours 列出您的条目。按项目、日期范围或范围筛选。
get_hours_summary 按项目、类别或日期列出的总计和明细。
get_projects 显示可以登录的项目
create_hours 一次记录一个或多个日期的小时数。
delete_hours 按ID删除条目

安全

您的凭据会被小心处理:

  • 密码 从不存储。您通过真实浏览器登录。
  • 会话Cookie 活在您的操作系统密钥链中(macOS密钥链/Linux libsecret/Windows凭据保险库)。
  • 无捆绑浏览器。使用现有的Chrome、Edge或Brave。

WSL设置

在WSL内部运行需要额外的步骤,因为没有默认的浏览器或钥匙链。

1.在WSL中安装浏览器:

# Option A: Chromium
sudo apt install -y chromium-browser

# Option B: Google Chrome
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt -f install -y

2.安装密钥链依赖项:

sudo apt install -y libsecret-1-dev gnome-keyring

启动密钥环守护进程(添加到您的 .bashrc):

eval $(gnome-keyring-daemon --start --components=secrets 2>/dev/null)
export GNOME_KEYRING_CONTROL

3.验证设置:

npx --yes github:Barralex/vairix-admin-mcp --health-check

注: 浏览器身份验证需要显示服务器。WSL2和WSLg自动提供此功能。如果使用WSL1或WSLg不起作用,您将需要一个X11服务器(例如VcXsrv) export DISPLAY=:0.

故障排除

问题 解决方案
“未找到基于Chromium的浏览器” 安装Chrome、Edge或Brave。
“WSL中找不到基于Chromium的浏览器” 安装浏览器 里面 WSL,不在Windows上。看 WSL设置.
“未验证” 说 “与Vairix进行身份验证”.
“会话已过期” 相同--只需再次进行身份验证。
创建小时数失败 检查错误。管理员验证日期(无未来日期等)。
WSL/Linux上的密钥链错误 安装libsecret和gnome密钥环。请参阅 WSL设置.
服务器无法启动 运行 --health-check 诊断: npx --yes github:Barralex/vairix-admin-mcp --health-check

释放

每一次推动 main 自动发布到npm。版本会根据提交消息前缀进行升级:

提交前缀 Bump 示例
feat!: 或 BREAKING CHANGE 主要的 1.0.0 → 2.0.0
feat: 次要的 1.0.0 → 1.1.0
fix:, refactor:, chore:等等。 补丁 1.0.0 → 1.0.1

CI管道颠簸 package.json,发布包,并将新版本提交回 main。不需要手动版本管理。

等待时间提醒

服务器会自动安装一个Claude Code挂钩,提醒您本月何时有未记录的工作日。它在每个提示下运行,在您更新时保持沉默,并将结果缓存4小时,这样就不会减慢您的速度。

发展

npm run dev          # watch mode
npm run build        # compile
npm test             # run tests
npm start            # run server

需求


Vairix |MIT许可证