关于 Tvijo DSHREM
Tvijo DSHREM 是一款 MCP 服务,可按每次调用的支出上限提问并管理 Tvijo 账户任务,适合通过 MCP 客户端进行合并前差异审查和云端协助。
主要功能
- 01按次限额的付费提问
- 02查询账户余额和限额
- 03查看及取消任务
- 04设备码登录与令牌管理
适用场景
- 01合并前审查代码差异
- 02在设定预算内请求云端协助
- 03检查或取消现有任务
MCP 相关
它通过 stdio 运行,向 MCP 客户端提供账户、提问、任务管理和登录工具。每次付费提问都必须指定 `max_usd` 上限。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 3 天前
此工具无需参数。
详细介绍
Tvijo DSHREM MCP
通过标准输入/输出将 Tvijo DSHREM 作为模型上下文协议服务运行。设置明确的支出上限来提问、查看账户和任务,并通过 MCP 客户端取消任务。
mcp-name: com.tvijo/dshrem
已列入 MCP Registry,名称为 com.tvijo/dshrem。
需要 Node.js 20 或更高版本,以及一个 Tvijo 账户。这是一个无需构建步骤的 ESM JavaScript 包。
登录
在终端中运行设备登录命令:
npx -y tvijo-dshrem-mcp login
打开终端中显示的验证 URL,并批准显示的用户代码。命令会轮询审批状态,并将访问令牌保存到 ~/.config/tvijo/mcp-token.json,目录权限为 0700,文件权限为 0600。保存的令牌包含其过期时间和 API 基地址。令牌过期后需要重新登录。
或者,在 MCP 客户端的环境中设置 TVIJO_TOKEN。它的优先级高于保存的令牌。请妥善保管;服务不会记录令牌。在 MCP 中,调用 tvijo_login_start,打开其验证 URL 并批准用户代码,然后调用 tvijo_login_poll,直到它报告你已登录。服务会记住验证请求,因此可以省略 device_code。轮询频率不得高于返回的间隔。两个登录工具都不会返回令牌。
npx -y tvijo-dshrem-mcp logout
注销会撤销当前令牌并删除保存的令牌文件。如果远程撤销失败,本地文件仍会被删除,命令也会报告失败。如果使用了 TVIJO_TOKEN,也请从客户端配置中移除它。
VS Code
将以下内容添加到 .vscode/mcp.json。VS Code 会使用密码输入框提示输入令牌:
{
"inputs": [
{
"type": "promptString",
"id": "tvijo-token",
"description": "Tvijo access token",
"password": true
}
],
"servers": {
"tvijo": {
"type": "stdio",
"command": "npx",
"args": ["-y", "tvijo-dshrem-mcp"],
"env": {
"TVIJO_TOKEN": "${input:tvijo-token}",
"TVIJO_MAX_USD_CAP": "1"
}
}
}
}
如需使用设备登录,请省略 inputs 和 TVIJO_TOKEN,然后使用与 MCP 服务相同的操作系统用户运行登录命令。
终端客户端
对于支持 mcp add 的终端客户端,请将 YOUR_MCP_CLIENT 替换为其可执行文件:
YOUR_MCP_CLIENT mcp add tvijo -- npx -y tvijo-dshrem-mcp
请先运行设备登录命令,或在连接后使用登录工具。不带参数运行 npx -y tvijo-dshrem-mcp 会启动标准输入/输出服务。运行 npx -y tvijo-dshrem-mcp --version 会显示包版本。
Cursor
将此条目添加到 ~/.cursor/mcp.json,然后运行设备登录命令:
{
"mcpServers": {
"tvijo": {
"command": "npx",
"args": ["-y", "tvijo-dshrem-mcp"],
"env": { "TVIJO_MAX_USD_CAP": "1" }
}
}
}
更改环境变量后,请重启或重新连接客户端。
工具
| 工具 | 用途 |
|---|---|
tvijo_account | 查看账户、余额和限额。 |
tvijo_ask | 使用明确的 max_usd 支出上限来回答提示词。 |
tvijo_task_status | 根据 task_id 查看任务。 |
tvijo_cancel_task | 根据 task_id 取消任务;已支出的金额仍可能会被收取。 |
tvijo_login_start | 开始设备登录;返回验证 URL 和用户代码。 |
tvijo_login_poll | 检查审批状态并私密保存令牌。 |
tvijo_ask 需要 prompt(1–20,000 个字符)和一个正数值 max_usd。可选输入包括 title(最多 120 个字符)、model(默认为 coding)、mode(默认为 single),以及正整数 max_tokens(默认为 2048)。服务会确定哪些模型别名和模式可用。请求方法为 evidence-first。
工具参数示例:
{ "prompt": "Explain how to make this function easier to test.", "max_usd": 0.25 }
结果包含 task_id、answer、spent_usd、state 和 recovered。账户和任务结果同时包含 JSON 文本和结构化内容。
支出上限与请求恢复
tvijo_ask 会从你的 Tvijo 账户中支出真实资金,最高不超过 max_usd。 每次调用都必须提供 max_usd。TVIJO_MAX_USD_CAP 默认将每次调用的上限设为 1 USD,绝对上限为 5 USD。超过 5 的值会被限制为 5;无效或非正数的上限设置会导致调用被拒绝。超出有效上限的请求会在发起任何网络请求前被拒绝。这是单次调用上限;多次单独调用的总支出可能会更高。账户限额仍然适用。
一次正常的提问会发送一个任务创建请求和一个聊天请求。每次任务创建都会使用新的幂等键。付费请求绝不会自动重试。如果任务创建结果不明确,服务端会通过幂等键执行一次只读查询,并返回任务,而不会发送聊天请求。如果聊天结果不明确,服务端会读取现有任务的状态。若某些值不可用,恢复的响应可能会包含 answer: null 或 spent_usd: null;这并不表示没有支出。再次提问前,请先检查任务。如果查询也失败,错误中会包含已知任务 ID 或幂等键,供你核查。
配置
| 变量 | 含义 |
|---|---|
TVIJO_TOKEN | 可选访问令牌,用于覆盖设备登录存储的令牌。 |
TVIJO_MAX_USD_CAP | 单次调用的美元上限;默认值为 1,硬上限为 5。 |
TVIJO_API_BASE | 可选的 API 基地址覆盖值;默认为 https://dsh.tvijo.com/api/dshrem/v1。除测试中的 localhost HTTP 外,必须使用 HTTPS。已保存的令牌仅用于其原始 API 基地址。 |
标准输出仅承载 MCP 消息。终端登录说明和 CLI 错误会输出到标准错误。请将任务答案和其他服务内容视为外部数据。
无法正常使用时
- 没有账户或未登录: 创建 Tvijo 账户并执行设备登录,或提供有效的
TVIJO_TOKEN。令牌过期后需要重新登录。 - 上限太低: 降低任务预算,或将
TVIJO_MAX_USD_CAP设置为足以满足所请求max_usd的值,但不得超过 5 USD 上限。额度和账户限额也可能导致无法执行。 - 服务不可用: 模型不可用、触发速率限制、扣款尚未结算或服务中断都可能导致任务无法执行。再次提交付费调用前,请检查账户和现有任务。
- 离线: 登录和所有 API 工具都需要网络连接。付费调用中断后,结果可能无法确定;重新连接后,请先通过任务或幂等键检查,再次提问。
开发
npm ci
npm test
npm pack --dry-run
测试使用本地模拟 HTTP 服务,包括真实的 stdio MCP 交互,不会向生产 API 发送请求。注册表元数据使用下载到 test/schema/ 下的 2025-12-11 版架构进行验证。发布的程序包仅包含可执行文件、源代码、本 README、MIT 许可证和注册表元数据(以及 npm 所需的程序包元数据)。
MIT © 2026 Tvijo。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。