关于 life. scored.
life. scored. 是一款公开重建信用、精算和贷款等评分规则的应用,面向希望了解评分依据的人。规则附有引用或猜测标记,权重可见且可编辑。
主要功能
- 01展示评分规则与引用
- 02区分有来源和推测规则
- 03查看并编辑规则权重
- 04本地计算叙述内容
- 05通过链接分享结果
适用场景
- 01检查评分中各因素的作用
- 02依据引用评估规则
- 03调整权重并比较结果
MCP 相关
提供远程 MCP 服务,向客户端公开规则手册、输入架构、方法说明和反馈方式。服务不接收个人数据;Agent 可在本地依据公开规则计算评分。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://lifescored.com/mcpclaude mcp add --transport http com-lifescored https://lifescored.com/mcp{"mcpServers":{"com-lifescored":{"type":"http","url":"https://lifescored.com/mcp"}}}在 Cursor 中打开{"servers":{"com-lifescored":{"type":"http","url":"https://lifescored.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-lifescored":{"type":"http","url":"https://lifescored.com/mcp"}}}{"mcpServers":{"com-lifescored":{"serverUrl":"https://lifescored.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
4此工具无需参数。
详细介绍
生活。有分数。
你早已是一个数字。
信用评分、精算表中的一行、回访概率——这个应用以开放的方式重新构建这些数字:每条规则都有出处或明确标注为猜测,每项权重都清晰可见且可以编辑。追求透明,而非评判。
技术栈
- Svelte 5 + SvelteKit,预渲染静态页面,并部署到 Cloudflare Workers
- 一个动态端点:
POST /api/narrative——使用 KV 缓存 Gemini 生成的叙述,并提供确定性的本地回退方案(即使完全没有 API 密钥,应用也能正常运行) - 所有用户数据都保留在浏览器中(localStorage + URL 片段分享链接)
- 使用 Cloudflare Web Analytics 统计流量——无 Cookie,且仅提供汇总数据;它无法看到你的输入,而这些输入无论如何都不会离开你的设备。
开发
npm install
npm run dev # 在 localhost:5173 启动应用(叙述生成功能会回退到本地生成器)
npm test # vitest 测试套件:规则手册不变量、引擎、编解码器、Worker 处理程序
npm run check # svelte-check
npm run types # 更改 wrangler.jsonc 后重新生成 Cloudflare 绑定
叙述缓存未命中时,会在 NarrativeBudget SQLite Durable Object 中原子地预留一次调用:全球每天最多 200 次,每个 IPv4 地址或 IPv6 /64 网络每天最多 10 次。IPv4 映射的 IPv6 地址共用 IPv4 配额。同一网络上的用户可能共用配额;缓存命中和本地生成器仍可用。上游调用失败也会消耗预留配额;预留失败时则使用本地回退方案。缓存命中不消耗配额。协调器仅存储每日地址哈希,并在次日首次预留时移除前一天的条目。它不会接触个人资料输入或叙述文本。KV 仅用于缓存叙述。
npm run build 会将 Durable Object 导出添加到适配器生成的 Worker;请通过现有工作流部署该构建产物。Wrangler 会通过 wrangler.jsonc 中的版本化迁移创建协调器。更改绑定后运行 npm run types;其辅助工具会从源代码中解析该类,因此在干净克隆的项目中也能正常运行检查。
部署(Cloudflare 免费套餐)
每次推送到 main 时,GitHub Actions 都会自动运行部署
(.github/workflows/deploy.yml):工作流
会运行完整测试套件和类型检查,只有通过后才会构建并部署。拉取请求
会运行相同的检查,并进行 Worker 试运行,但不会部署。
一次性设置:
密钥保存在 hush 中:只需在 OS 钥匙串中存储一次,
然后直接传递给使用方——不会粘贴到终端、回显或打印出来。
此项目的 hush 项目使用 lifescored- 前缀,方便在钥匙串中搜索时归为一组。
(没有 hush?去掉 hush pipe … -- 前缀,直接运行 npx wrangler / gh 命令;hush 只是对其进行封装。)
本地开发完全不需要密钥——叙述内容会回退到本地生成器。
-
创建 KV 命名空间,并将其 id 粘贴到
wrangler.jsonc中:npx wrangler kv namespace create NARRATIVE_KV -
将 Gemini 密钥设为 Worker 密钥(部署后仍会保留;可选 — 不设置即可在无 AI 的情况下使用本地叙述回退方案):
hush set lifescored-gemini-key # 粘贴一次,通过隐藏对话框输入 hush pipe lifescored-gemini-key -- npx wrangler secret put GEMINI_API_KEY -
为 GitHub Actions 提供部署凭据 (Settings → Secrets and variables → Actions):
hush set lifescored-cloudflare-api-token # “Edit Cloudflare Workers” token hush pipe lifescored-cloudflare-api-token -- gh secret set CLOUDFLARE_API_TOKEN gh secret set CLOUDFLARE_ACCOUNT_ID --body "<your-account-id>" # account id 不是密钥
推送到 main,操作就会部署应用。如需手动部署:
npm run deploy
部署你自己的版本
Fork 此仓库,使用你自己的 Cloudflare 账户完成上述一次性设置,然后 推送即可。即使完全不设置 Gemini 密钥,应用也能正常运行。
编辑规则手册
规则位于 src/lib/rulebook/<domain>.ts。每条规则均以声明式方式定义:逻辑、
证据标签(SOURCED / SPECULATIVE)、附有访问日期的引文、纯函数
position(inputs)(测量事实并将其归一化为数值位置)、声明的
bounds(只有在引用的系统本身会扣减时才设置负向下限;财富规则没有上限),以及
weightRationale,用于说明相对于 1.0× 收入基准的权重;引擎会计算
points = round(position × weight)。
添加规则后,界面、权重编辑器、分享编解码器和关于页面的来源列表都会自动识别。npm test 会检查各项不变量(范围、整数分数、引文存在)。
在 Agent 中使用(MCP 或技能)
整套规则手册和精确计算方法均已公开,因此任何 Agent 都可以在自身一侧计算分数——不会向 lifescored.com 发送任何个人信息。
- MCP 服务 — 官方注册表中的
com.lifescored/mcp;端点为https://lifescored.com/mcp(无状态 Streamable HTTP,无需身份验证,不接受个人数据)。工具:get_rulebook、get_input_schema、get_methodology、how_to_give_feedback。 - 技能 — 可直接使用的
skills/lifescored/技能。将其复制到 Agent 的技能目录(例如~/.claude/skills/)。它会优先使用 MCP,并在不可用时回退到rules.json。 - 原始数据 —
https://lifescored.com/rules.json和/llms.txt。
贡献
每次提交都必须引用一个 GitHub Issue 编号,例如 feat: add presets (#2) 或 refs #5。commit-msg 钩子会自动检查这一要求——它通过 core.hooksPath 指向 .githooks/ 安装,并在 npm install 时启用(prepare 脚本会运行 git config core.hooksPath .githooks)。合并提交和还原提交不受此要求限制。查找或新建 Issue:gh issue list / gh issue create。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。