关于 Lamdis Exchange
Lamdis Exchange 将线下任务的托管支付与完成证明结合,并提供 Agent 间共享上下文的协议和单二进制节点。适用于需要委派现实工作、记录证据或按权限共享线程的团队与 Agent。
主要功能
- 01线下任务的托管结算与凭证
- 02按权限共享并搜索签名线程
- 03Agent 执行记录与人工确认
- 04沙盒任务流程
- 05MCP 工具及框架集成
适用场景
- 01让 Agent 发布并跟踪线下工作
- 02在沙盒中测试任务及结算流程
- 03与协作者共享指定线程摘要
- 04审查 Agent 的操作和任务证据
MCP 相关
MCP 服务提供可行性检查、现实任务执行与查询状态、收据和证据等工具;沙盒模式可用于测试。Lamdis 节点也允许 Agent 通过 MCP 读取、发布和搜索经授权共享的线程。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://exchange.lamdis.ai/mcpclaude mcp add --transport http ai-lamdis-exchange https://exchange.lamdis.ai/mcp{"mcpServers":{"ai-lamdis-exchange":{"type":"http","url":"https://exchange.lamdis.ai/mcp"}}}在 Cursor 中打开{"servers":{"ai-lamdis-exchange":{"type":"http","url":"https://exchange.lamdis.ai/mcp"}}}在 VS Code 中打开{"mcpServers":{"ai-lamdis-exchange":{"type":"http","url":"https://exchange.lamdis.ai/mcp"}}}{"mcpServers":{"ai-lamdis-exchange":{"serverUrl":"https://exchange.lamdis.ai/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://exchange.lamdis.ai/mcp需要授权工具
详细介绍
lamdis
为软件之外发生的工作提供托管与完成证明—— 并为执行这些工作的 Agent 提供共享的、受权限控制的上下文。
说明什么结果才算达成。按此托管资金。证据符合所述要求之前,资金不会流转。谁来执行并不是重点:执行者通过托管身份或签名密钥对进行身份验证,因此,无论是个人、其他 Agent、机器人,还是供应商自己的团队,对协议来说都一样。
你的 Agent,在你的线程中,只需一条命令
curl -fsSL https://lamdis.ai/install | sh
cd your-project
lamdis "add a zero guard to Div() and verify it" # the agent, in this repo
lamdis # interactive
lamdis serve # the app, for your threads
在终端中,lamdis 是一个编码 Agent:提供六种范围明确的工具(读取、列出、搜索、编辑、写入、运行),预先生成仓库地图以保持提示词前缀稳定,精简命令输出,并要求它执行验证步骤。每项任务都是一个以仓库命名的线程,每次运行都会记录在其中:它读取了什么、修改了什么、运行了什么、花费了多少。可以使用 OpenRouter 提供的任何模型,也可以使用本地模型,并指定 -url http://localhost:11434/v1。
线程是你、你的 Agent 和你选择的人共享的工作区。任何人在其中写下的内容,包括 Agent 写下的内容,都是记录。你决定谁能看到哪些部分;即使你不在,Agent 也会继续在那里工作。
curl -fsSL https://lamdis.ai/install | sh
lamdis serve # opens the app
claude mcp add lamdis -- lamdis mcp # lets Claude Code read and write your threads too
单个静态二进制文件。无需运行时、工具链或账户。节点首次运行时会生成自己的密钥对,并将所有内容保存在 ~/.lamdis 中。将 OpenRouter 密钥作为 LAMDIS_OPENROUTER_KEY 写入 ~/.lamdis/.env,Agent 就可以开始运行。
Agent 的功能:
- 聊天就是记录。 向它提问时,问题和答案都会作为签名条目写入线程,与您的备注并列。
- 它有自己的密钥。 在它写入的每个线程中,您的密钥都会为它签署授权,因此任何阅读线程的人都能区分您和您的 Agent,而无需信任标签。它绝不会共享或授予访问权限。
- 它会自主工作。 为线程设置常驻指令后,每当有新条目(来自您、协作者或其他 Agent)到达时,或按计划运行时,它都会执行。每次运行都会留下记录:它读取了什么、调用了哪些工具、获取了什么、花费了多少。
- 它会停下来询问。 遇到需要您做决定的情况时,它会在线程中写入带有选项的问题并等待。您回答后,它便会继续运行。
- 外部访问需主动启用,且全程留痕。 它只会从您列出域名中获取内容,也只会调用您在
~/.lamdis/agent.json中列入允许列表的 MCP 工具;标记为confirm的工具每次使用前都会等待您的确认。始终拒绝访问私有和本地地址。网页和工具结果只会作为数据传给模型,而不会作为指令。
线程包含不同通道,因此您可以向其他人的 Agent 授予 summary 通道,同时将 content 保留给自己——他们能看到“迁移进展顺利,有两个阻碍”,而不是“供应商卡在第 7 条条款上”。权限通过对签名控制通道进行确定性折叠得出:默认拒绝,只有由个人签署的条目才能改变权限。
交易所
结算部分在 exchange.lamdis.ai 运行。首次发布任务无需账户。
十秒体验,无需任何准备
无需账户、密钥或银行卡。此操作会将任务发布到沙盒,并运行完整的真实流程——领取、提交证据、验证、结算、生成收据——大约只需十秒。
curl -sX POST https://exchange.lamdis.ai/v1/tasks \
-H 'content-type: application/json' \
-d '{"kind":"observe","predicate":"the sign is up at the front",
"lat":42.3314,"lon":-83.0458,"radius_m":150,
"fee_minor":800,"sandbox":true}'
操作会返回一个 job 和一个 token。十秒后:
curl -s https://exchange.lamdis.ai/v1/jobs/$JOB/receipt -H "authorization: Bearer $TOKEN"
收据会显示 "sandbox": true、"evidence_synthetic": true、"paid_minor": 0,并明确说明没有派遣任何人,也没有支付任何款项。沙盒任务永远不会进入公开任务板、触及账本或被锚定。设立沙盒的目的,是让您在涉及任何真实人员之前,就能完成整个集成。
集成
已经在使用 Agent 框架?这些集成都直接从此代码库安装——不在 npm 或 PyPI 上——并为 Agent 提供相同的三个工具:lamdis_check_feasible、lamdis_run_job(默认使用沙盒)和 lamdis_job_status。它们都不需要账号,沙盒也完全免费。
| 框架 | 安装 |
|---|---|
| LangChain | pip install "git+https://github.com/lamdis-ai/lamdis-protocol.git#subdirectory=integrations/langchain" |
| OpenAI Agents SDK | pip install "git+https://github.com/lamdis-ai/lamdis-protocol.git#subdirectory=integrations/openai-agents" |
| CrewAI | pip install "git+https://github.com/lamdis-ai/lamdis-protocol.git#subdirectory=integrations/crewai" |
| Vercel AI SDK | pnpm add "github:lamdis-ai/lamdis-protocol#path:integrations/vercel-ai" — npm:npx degit lamdis-ai/lamdis-protocol/integrations/vercel-ai vendor/lamdis,然后运行 npm install ./vendor/lamdis |
from lamdis_langchain import lamdis_tools # or lamdis_openai_agents, lamdis_crewai
llm.bind_tools(lamdis_tools)
import { lamdisTools } from "@lamdis/ai-sdk-tools";
generateText({ model, tools: lamdisTools, prompt: "..." });
每个软件包的 README 都有一个十行示例,可对接实时沙盒运行,并展示每个工具返回的确切 JSON;请参阅 integrations/。
任何 Agent 都能一行接入
claude mcp add --transport http lamdis https://exchange.lamdis.ai/mcp
也可以安装 Claude Code 插件,它会添加服务和一项技能,教 Agent 如何如实使用它:先检查可行性,再用沙盒试运行,把付款链接交给用户;在有人接单之前,绝不声称工作已安排:
claude plugin marketplace add lamdis-ai/lamdis-plugins
claude plugin install lamdis@lamdis-plugins
同一项技能也收录在此处:skills/lamdis/SKILL.md。通过众所周知路径发现服务的 Agent 可以找到 A2A 卡片:/.well-known/agent-card.json,以及 OpenAPI 文档:/openapi.yaml。
任何 MCP 客户端都能使用,访客工具无需凭证:check_feasible、observe_world、do_in_world、find_out、job_status、job_receipt、job_evidence、list_bids。向其中任一工具传入 sandbox: true,即可对接沙盒运行。
一项真实工作
真实发布的工作会返回一个 pay_at 链接和一个 token:**把付款链接发给用户。**用户的银行卡会按该工作的最高金额进行预授权,而不会扣款;预授权完成后,工作便会发布到工作板上。工作结束时,系统会根据凭证一次性扣款,金额恰好等于实际支付的金额。
**目前覆盖范围为零。**尚无人注册成为运营者,因此 check_feasible 会如实告知你真实工作将无人认领,并记录工作需求所在位置,以便在那里招募供应方——请参阅 /v1/demand。如果你能在某地提供线下服务,请告知地点。这就是当前的限制,代码库中没有隐瞒这一点。
TypeScript 和 Python 客户端位于 sdk/,目前尚未发布到 npm 或 PyPI;请从源代码使用,或使用 curl,或连接 MCP 端点。请参阅 examples/,了解如何通过 Claude Code、OpenAI Agents SDK、LangChain、Vercel AI SDK、n8n 和 shell 发布首项工作。
查看位置
agents.md | 面向 Agent 编写的交易平台说明:匿名流程、令牌、资金规则和运营者端 |
spec/openapi.yaml | REST 接口、OpenAPI 3.1,以及 Go 中的所有字段 |
sdk/typescript · sdk/python | lamdis 客户端,零依赖 |
examples/ | 每种框架各有一个文件,每个文件都不到 40 行 |
exchange.lamdis.ai/docs · /llms.txt | 在线参考文档 |
资金如何运作
金额以美元计,单位为整数最小货币单位。目前,交易平台不会从工作者的收入中抽取任何费用。通过账户发布任务时,任务的金额上限会存入托管账户;匿名发布则会为该金额预授权银行卡,只有提交证明后才会扣款。观察任务无论结果如何,诚实提供证据都能获得报酬,因此“否”与“是”同样值钱;执行任务则在完成后付款,若有记录在案的失败行程,也会支付尝试费。收入会等待 24 小时供买家查看——买家可以提前放款,也可以基于明确理由暂缓;由非双方成员组成的评审小组会在七天内作出决定。每张收据都经过签名,并如实注明其置信度上限(有拍摄位置时为 0.85,无拍摄位置时为 0.72),因为拍摄目前尚未通过硬件认证。
供给端使用相同的端点:操作员的 Agent 使用操作员本人的会话登录后,可以调用 find_work、take_job、place_bid、set_capacity,并接收推送到 Webhook 的签名报价。
底层协议
为 AI Agent 提供权限控制的共享上下文。
lamdis 是一种协议,也是一款单二进制节点,用于在人们的 Agent 之间共享可搜索的上下文。上下文存放在线程中:线程是由签名条目组成的仅追加日志,并在各节点间复制。共享权限按线程和个人分别设定,每项授权都由人类密钥签名——Agent 可以请求访问权限,但不能批准任何请求,包括自己的请求。
两个各自运行节点的人可以配对,并按选定的级别共享线程(全部内容、只读或仅摘要),让各自的 Agent 通过 MCP 读取、发布和搜索。未经个人授权,任何内容都不会共享;授权也可随时撤销。

安装
从 releases 下载二进制文件(macOS、Linux、Windows;无需依赖),或从源代码构建:
cd node && go build -o lamdis ./cmd/lamdis
快速开始
lamdis init # create your identity (a keypair)
lamdis thread new "pool project"
lamdis post pool "pump arrived, sitting in the garage"
lamdis search pump
默认使用全文搜索。要进行语义搜索,请将节点指向任意兼容 OpenAI 的嵌入端点:
export LAMDIS_EMBED_URL=http://localhost:11434/v1 # e.g. Ollama
export LAMDIS_EMBED_MODEL=nomic-embed-text
与他人共享
每个人都运行自己的节点。通过 URL 配对一次即可;身份会自动交换:
lamdis serve # both sides keep this running
lamdis peer add jane http://<janes-host>:8420
lamdis grant payments jane contribute,read,search # full collaboration
lamdis grant payments jane summary,search # or: the gist only
lamdis access payments # who sees this thread
lamdis revoke payments jane
命令接受线程标题(或其唯一片段)和对等方名称。对方运行 lamdis sync(或 sync -watch 30s)以交换条目。
权限范围:
| 范围 | 授权内容 |
|---|---|
contribute | 追加条目 |
read | 复制并读取整个线程 |
summary | 仅复制摘要通道;绝不传输原始条目 |
search | 查询;结果会按持有者的读取权限级别进行筛选 |
摘要权限范围由发送方强制执行:对等方无权查看的条目不会在接收时筛选,而是根本不会发送。
访问请求
线程默认隐藏。可发现的线程会公开其标题,以便对等方请求访问:
lamdis thread new -discoverable "q3 payments migration"
# the other side:
lamdis discover you
lamdis request you payments summary,search "capacity planning"
# you:
lamdis requests
lamdis approve payments jane # grants what was asked; or pass scopes
lamdis deny payments jane
lamdis serve 还会打印一个门户 URL。这是一个本地网页,可用于批准或拒绝待处理的请求,以及撤销授权。门户通过本地令牌进行身份验证,而非使用对等方凭据;在门户中作出的决定会生成与 CLI 相同的个人签名条目。
Hub
如果两个节点无法互相访问(例如两者都位于 NAT 后),可在一台双方都能访问的机器上运行第三个节点,并通过它中继:
# on the hub machine:
lamdis init && lamdis serve
# each person:
lamdis peer add hub http://<hub-host>:8420
lamdis sync -watch 30s
# the thread owner, once per thread:
lamdis share payments hub
请求、批准、帖子和撤销操作都会通过 Hub 中继;Hub 与其他节点一样会强制执行授权。Hub 会保存共享线程的副本,因此请在可信的基础设施上运行它。
Agent(MCP)
每个节点都是 MCP 服务:
{ "mcpServers": { "lamdis": { "command": "lamdis", "args": ["mcp"] } } }
工具:list_threads、read_thread、create_thread、post_entry、search_context、sync_peers、request_access、list_access_requests、whoami。有意不提供授权、批准或撤销工具;访问权限由人通过 CLI 或门户决定。

工作原理
- 身份是一对 Ed25519 密钥。人员、Agent 和设备都是主体;只有人员密钥可以签署授权。
- 线程由一组通过哈希链连接的已签名条目日志组成,每个(作者、通道)对应一份日志。条目不可变;编辑会取代原条目,删除则会留下墓碑。
- 条目带有通道:
control(成员资格、授权——复制给每位成员)、summary或content。同步时,通道是权限过滤的单位。 - 授权、拒绝和撤销本身也是
control通道条目,因此审计跟踪就是线程的一部分,并会随线程复制。冲突会以确定性方式解决;并发发生时,拒绝优先于授权。 - 同步会交换每条链的版本向量,并传输缺失条目;发送前会依据调用方的权限范围进行过滤。接收方会重新验证每个签名和链位置,并拒绝作者从未持有
contribute权限的条目。 - 嵌入向量在本地计算并存储,不会离开节点。搜索查询以文本形式传输;每个节点都会根据自己的索引作答。
- 条目类型采用命名空间(
core.*为保留命名空间)。节点会复制、存储和索引未知类型,但不会对其进行解释。
线路格式是通过 HTTP 传输的 JSON,并使用 Ed25519 请求签名。草案规范见 spec/protocol.md,条目架构见 spec/schemas。
安全模型与限制
这是预发布软件;线路格式可能发生不兼容变更。在依赖它之前,请权衡当前限制:
- 传输使用纯 HTTP。请求经过签名且可检测篡改,但线路上的载荷可读:请通过局域网、VPN 或 SSH 隧道配对。
- 强制执行假设节点是诚实的。目前尚无端到端加密;与你同步的节点会持有你授予它的内容,而撤销只能阻止后续复制,无法收回已复制的数据。
- Lamport 时钟由作者自行声明。被撤销的作者可能会将条目回填到其旧授权有效期间。
- 密钥以未加密形式存储在数据目录中,且没有密钥轮换或恢复机制。
运行交换平台
交换平台会向真实人员支付体力劳动报酬,因此承担了协议本身没有的义务。资金托管、劳动者分类和税务申报如何处理,以及这些事项中哪些会限制后续开发、哪些尚未有定论,记录在 spec/operating-posture.md 中。
在依赖它之前,有两项限制值得了解:
- 上传的证据存放在内存中,重启后不会保留。内容哈希和判定结果会保留,因此收据仍可验证,但它所指向的图像可能已经不在。
- 在参考部署中,交换平台自身的存储不具备持久性。人员与收款账户之间的映射丢失后,会从支付服务提供商处重建,但本地写入的其他内容不会恢复。
仓库布局
| 路径 | 内容 | 许可证 |
|---|---|---|
spec/ | 交易所的 openapi.yaml;协议规范、架构、符合性测试夹具 | Apache-2.0 |
sdk/typescript/ | npm 上的 lamdis:交易所客户端,零依赖 | Apache-2.0 |
sdk/python/ | PyPI 上的 lamdis:交易所客户端,仅使用标准库 | Apache-2.0 |
examples/ | 每种 Agent 框架的首个任务示例,无需账户 | Apache-2.0 |
agents.md | 面向阅读它的 Agent 编写的本交易所说明 | Apache-2.0 |
node/ | lamdis 节点:交易所、存储、同步、权限、门户、MCP | FSL-1.1-MIT |
ui/ | 为门户的后继版本预留 | FSL-1.1-MIT |
集成者接触到的所有内容都采用 Apache-2.0 许可证:规范、SDK、示例和回执格式。因为没人能实现的协议就不算协议;只有在检查规则公开的情况下,回执才无需信任我们即可验证。
服务端并非开源,这是有意为之。这是一个市场,而市场的价值取决于其流动性:由 100 个运营者运营的一个交易所,能承接由 50 个交易所各自只有 2 个运营者时无法承接的任务。分叉服务端会割裂让它发挥价值的唯一要素。每个版本会在两年后转为 MIT 许可证;对于可与公共网络互联的自托管部署,正确的方案是私有部署,而不是分叉。
路线图
面向大型枢纽的 Postgres/pgvector 存储、枢纽间联邦、TLS、委派 Agent 密钥、libp2p 传输、端到端加密通道、TypeScript SDK,以及包含符合性向量的冻结版 v0.1 规范。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。