关于 twinlens
twinlens 是托管服务的转发客户端,可创建基于所有者资料并附带引用回答问题的公开 AI 页面。它适合创建可分享的个人资料页面、添加知识并检查摄取进度。
主要功能
- 01根据个人资料创建 lens
- 02添加文本或网址知识条目
- 03查看摄取和认领状态
- 04匿名创建或关联账户创建
适用场景
- 01发布可分享的个人资料 AI 页面
- 02向未认领的 lens 添加资料
- 03跟踪后台摄取进度
MCP 相关
提供 MCP 工具,可根据用户确认的资料创建 lens、向未认领的 lens 添加知识,并查询 lens 与摄取状态。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| bio | string | 否 | 根据用户确认的信息撰写的简短个人简介 |
| tone | enum | 否 | 镜像文案的语气warm | neutral | professional | playful |
| facts | array | 否 | 经用户批准、用于构建镜像知识库的独立事实 |
| locale | string | 否 | 镜像文案的 BCP-47 语言标签,例如 en 或 nl |
| context | string | 否 | 镜像应如何作答的额外背景信息 |
| tagline | string | 否 | 概括镜像代表对象的一句话 |
| audience | string | 否 | 镜像旨在帮助的对象 |
| expertise | array | 否 | 已确认的领域和技能 |
| topicName | string | 否 | 存放预置事实的 Mindola 空间名称 |
| vibeWords | array | 否 | 描述该档案的简短形容词 |
| boundaries | array | 否 | 镜像不应声称或讨论的内容 |
| accentColor | string | 否 | 十六进制颜色值,例如 #4f46e5 |
| displayName | string | 否 | 镜像上显示的公开名称 |
| sourceSummary | string | 否 | 助手用于構建档案的信息来源摘要 |
| suggestedPrompts | array | 否 | 向访客显示的入门问题 |
详细介绍
twinlens
Lens 是一个公开的 AI 页面,可根据所有者提供的资料回答问题,并附上引用。twinlens 是托管 Lens 服务的轻量转发客户端:它可以根据个人资料创建 Lens、向尚未认领的 Lens 添加知识,并报告知识摄取进度。
默认匿名创建,无需账户或令牌。匿名创建的 Lens 会立即通过其分享 URL 上线,可在之后通过认领 URL 认领;如果一直未认领,则会在 30 天后过期。如果你有账户,设置 MINDOLA_SESSION_TOKEN 后,该令牌会作为 Bearer 令牌发送,Lens 也会直接创建在该账户下。可通过 MINDOLA_MCP_URL 覆盖端点(默认值为 https://app.mindola.ai/mcp/lens)。
**创建须知(服务约定的一部分):**在调用 create 之前,先总结拟定的个人资料并征得用户明确确认;只纳入用户提供或确认过的信息。切勿用猜测填充个人资料。
命令行
npx @reneturcios/twinlens create '{"displayName":"Ada Example","tone":"warm","facts":["Works on compilers"]}'
npx @reneturcios/twinlens add-knowledge '{"lens_token":"abc123","items":[{"type":"text","content":"A note","title":"Note"}]}'
npx @reneturcios/twinlens status abc123
npx @reneturcios/twinlens --version
create 接受一个 JSON 对象作为个人资料(所有字段均为可选)。add-knowledge 以相同方式接受 {lens_token, items}。status 直接接受分享令牌(即分享 URL 中 /me/ 后面的部分)。
退出代码:成功时为 0;发生运行时错误时为 1(包括上游拒绝,例如向已认领的 Lens 添加知识);发生用法错误时为 2。
MCP 服务
npx -y @reneturcios/twinlens mcp
MCP 客户端配置:
{
"mcpServers": {
"twinlens": {
"command": "npx",
"args": ["-y", "@reneturcios/twinlens", "mcp"]
}
}
}
工具
create_digital_twin_lens— 根据用户确认过的个人资料创建 Lens。所有字段均为可选:displayName(≤80 个字符)、tagline、bio、context、audience(≤500 个字符)、sourceSummary、topicName(≤80 个字符)、locale(BCP-47)、tone(warm|neutral|professional|playful)、accentColor、expertise(string[])、boundaries(string[])、facts(string[],≤30 项)、suggestedPrompts(string[],≤4 项)、vibeWords(string[],≤4 项)。从structuredContent中读取结果:shareUrl、claimUrl、manageUrl、claimRequired、expiresAt、factCount。add_lens_knowledge— 向尚未认领的 Lens 添加最多 20 项内容。lens_token(string,必填)、items(必填):每项格式为{type: "text" | "url", content (≤20000 chars), title? (≤80 chars)}。内容会在后台摄取。get_lens_status—lens_token(string,必填)。报告claimed和知识总量(total、ready、pending、failed);添加知识后,使用此工具轮询,直到pending归零。
Docker
docker run -i ghcr.io/cloudcorprecords/twinlens
docker run --rm ghcr.io/cloudcorprecords/twinlens status abc123
开发
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch, no network)
npm run dev # run the CLI from source
许可证
MIT — 版权所有 (c) 2026 Rene Turcios
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。