Skill
Give your AI assistant direct access to real-time HK/US stock data and trading capabilities with Longbridge Skill
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证jevify: find the AI calls in your app that are really decisions, then migrate them to JEV in shadow mode. Skills for Lovable and Claude Code, backed by the jevify MCP.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Runtime model calls often hide small structured decisions inside expensive or hard-to-validate generation paths.
Everyone is talking about performance gains and token savings from moving decisions off general-purpose LLMs. The harder question is what that looks like in practice, in your app: which calls, which lines, what changes, and how you would see the gain rather than take it on faith.
jevify is built to make that concrete, in three steps you can inspect:查看完整 README ↗Runtime model calls often hide small structured decisions inside expensive or hard-to-validate generation paths.
Everyone is talking about performance gains and token savings from moving decisions off general-purpose LLMs. The harder question is what that looks like in practice, in your app: which calls, which lines, what changes, and how you would see the gain rather than take it on faith.
jevify is built to make that concrete, in three steps you can inspect:
path#line), shows how each response is consumed, and separates the bounded decisions — a queue, a score, a yes/no — from the generation that should stay generation. A clean audit is a valid answer./jevify migrate runs the new path in shadow beside the current one and logs both: cost per decision, latency p50/p95, agreement, labeled disagreements, fallback rate. The gain becomes a number from your data, or the migration stops.The pieces share one method: this skill is the canonical source, the MCP service at jevify.lovable.app runs the same audit remotely and keeps reports under your account, the open-source local MCP server runs the same engine offline on your machine, and the Lovable skill brings it into Lovable projects. Every effect stays a hypothesis until shadow data says otherwise.
// Before: a model call returns a label; the app only uses the label.
const result = await generateObject({
schema: z.object({ queue: z.enum(["sales", "support", "other"]) }),
prompt: `Route this ticket: ${ticket.message}`,
});
return dispatch(result.object.queue);
// After /jevify migrate: JEV beside the current path, behind a flag. Shadow never blocks or changes the answer.
const MODE = env.JEVIFY_TRIAGE_MODE ?? "shadow"; // off | shadow | on
const MIN_CONFIDENCE = 0.8; // placeholder until tuned on shadow data
if (MODE === "on") {
const jev = await decideQueue(ticket).catch(() => null); // error or timeout → current path, never "no"
if (jev && jev.answer !== "insufficient_context" && jev.confidence >= MIN_CONFIDENCE) {
return dispatch(jev.answer);
}
}
const current = await currentModelRoute(ticket); // the existing generateObject call, unchanged
if (MODE === "shadow") void decideQueue(ticket).then((jev) => logShadow({ current, jev })).catch(() => {});
return dispatch(current);
decideQueue sends a Choice question over { ticket }; its request shape comes from the current TypeSafe docs at migration time.
From the sample report over this repository's evals/ fixtures (local mode, --wide):
16 runtime call-sites in 13 files · 10 JEV candidates (1 inside a composite) · 2 generation tasks retained
1 deterministic · 1 embedding search · 1 human review · 1 unknown · 1 consolidation group · 1 wide opportunity
evals/fixtures/ticket-router.ts#3 | JEV_CANDIDATE | Choice | LOW | dispatch() uses only the label
evals/fixtures/announcement.ts#6 | GENERATION_REQUIRED | — | — | publish(r.text)
evals/fixtures/ban-account.ts#6 | HUMAN_REVIEW | — | HIGH | policy requires a moderator
Consolidation: consolidation.ts #6 #7 #8 → one request with Choice + Score + Noul over { ticket }
How that was produced and what it does not prove: evals/results-local-v1.3.md.
npx skills add lucioamor/jevifyclaude plugin marketplace add lucioamor/jevify then claude plugin install jevify@jevify (untested until the v1.3 branch is published)https://github.com/lucioamor/lovable-skill-jevify under Settings → Skills → Add → Import from GitHubclaude mcp add jevify -- npx -y @nxlv-ai/jevify (source)See INSTALL.md for MCP connection details.
/jevify audits and reports without editing source; add --wide for non-call semantic-code opportunities./jevify migrate <finding> plans and, after explicit approval, migrates one candidate in shadow mode.Installed as a Claude Code plugin, the command may be namespaced as /jevify:jevify.
In local mode, the agent reads call-sites, prompts, response parsing, and consumers, then writes jevify-report.md when it has file access or reports in Lovable chat. Local mode sends no code to the jevify service, although the agent itself may use remote processing.
In MCP mode, the jevify service classifies a narrow source window and stores its service report under the authenticated account. That is triage: the agent must inspect the consumer for every JEV_CANDIDATE and DETERMINISTIC_CODE, preserve the service result, and record confirmation or disagreement. The service also exposes an optional decision proxy at /api/public/jevify/decision and a harness; the audit and migrate flows do not call JEV.
Install the official TypeSafe agent skill linked from llms.txt for detailed question design. /jevify identifies where a migration may fit and governs how to validate it safely; it does not reproduce TypeSafe's skill.
Each candidate is routed, after classification, to a primitive, one of TypeSafe's patterns, and the closest official cookbook, with a line on what the app must adapt. The skill carries only the selection signals; the recipes stay in TypeSafe's live docs, and their measured results are never presented as expected effects for your app.
Created by Lucio Amorim, Lovable Partner. Dual-licensed by content type:
scripts/, launch/, evals/, .claude-plugin/, .mcp.json and any other source files): Apache License 2.0.