
thing
io.github.unravel-team由 GitHub 账号 unravel-team 发布v0.15.0更新于 Nov 4, 2026
Artifacts for any coding agent: a durable link with versions, diffs, and comments on the page.
概览
把编码代理产出的 HTML、Markdown、图片和 PDF 发布为带版本、差异和评论的持久链接。
- 可以做什么
- 推送文件或内联内容,获得可分享的持久链接及服务器提示
- 列出自己的产物、读取某个版本的源码、查看版本历史
- 读取产物上的评论与回复
- 读取页面的 Inputs 回答,并以登录用户身份提交回答
- 查看已安装版本、更新状态,以及当前推送使用的账号与团队
- 适用场景
- 适合代理生成报告、文档或图片后,需要有人在浏览器中打开并分享给同事的场景;也适合希望页面自带版本历史、评论或问卷收集,而不是散落文件的情况。
- 运行要求
- 通过 npx(Node 18 及以上)或 bunx 以 stdio 在本地运行。需要在该服务 Settings 下的 Tokens 创建 THING_TOKEN,或事先用命令行登录。THING_SERVER 可选,用于自建实例,默认指向官方托管服务。需要能访问该服务的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 thing,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@unravel-tech/thing
CLI for thing: push, version, and share artifacts (HTML pages, Markdown docs, standalone images and PDFs) from coding agents.
That first push opens browser approval, waits for sign-in, then resumes and
prints the durable URL. Markdown, images, and PDFs work the same way. Install
globally if you use it often: npm i -g @unravel-tech/thing.
Commands
<name> is an artifact name, team/slug, or a pasted link. A /v/N link pins
that version and ?k= link keys are kept. A link on another host is read
without your token unless your own server confirms it is the same artifact.
push prints any server notes (for example an Inputs mistake) to stderr and
includes them in --json.
Every command accepts --json for machine-readable output. Authenticated
commands also accept --account name to use a saved account once without
changing either the global default or a directory binding.
An unauthenticated push --json emits newline-delimited authentication status;
the final JSON object is always the push result. Use --no-login to fail fast
instead of starting interactive authentication, such as in CI.
Visibility values: private, team, anyone-with-link (prints a tokened share URL), public.
Updates
Thing supports advisory and required updates published by the Thing server. An
advisory update prints a rate-limited notice to stderr but lets the command
continue. A required update stops normal commands with exit code 3 while
keeping --help, --version, and update available. --json returns a
structured CLIENT_UPDATE_REQUIRED error.
The CLI checks at most once per hour and shows the same advisory at most once
per day. Set THING_NO_UPDATE_NOTICES=1 to hide advisory notices; required
updates cannot be suppressed. thing update --force reinstalls the latest
release even when the current version is still supported.
MCP sessions expose the installed version through the initialization handshake
and the server_info tool. Advisory updates appear in MCP instructions, a log
notification, and the first business-tool result. Required updates leave
server_info available but stop artifact tools until Thing is updated and the
MCP client is restarted.
The corresponding Thing server endpoint and enforcement middleware are
specified in THING_SERVER_UPDATE_POLICY.md.
Context resolution
Accounts
Thing can keep multiple logins on one machine. Give accounts short names when you add them, list them, and switch the global default:
To associate the current repository with an account, run:
Inside a Git repository, this binds its root and every directory beneath it.
Outside Git, it binds the current working directory and its descendants. The
binding is stored in your user config—not .thing.json—so personal account
names and credentials never become repository changes. A local binding wins
over the global default; --account personal wins over both for one command.
Use thing switch --clear-local to remove the binding.
Existing single-login config files migrate automatically to an account named
default. New logins without --account use the authenticated email address
as the account name.
Account selection is resolved in this order: --account → the nearest
repository/directory binding → the global thing switch selection → the only
saved account. THING_TOKEN and THING_SERVER still override stored
credentials for CI and MCP configurations.
Workspace and project
A workspace (called a team in the API and the --team flag) holds your team's
artifacts. A project groups artifacts inside a workspace and can be restricted to
the people added to it; people from outside the workspace can be added to a project
as guests. Push into one with --project <slug>.
Manage projects from the CLI or MCP:
A project's page can be one of its artifacts. Inside it, thing.project.get()
lists the project's artifacts with each reader's own access.
Which workspace a push lands in is decided in order: --team flag → .thing.json in the
working directory → a local thing use override → your server-side default
(thing default) → your personal space. Login no longer pins a workspace, so with none of
the overrides set the server picks your default (e.g. the Unravel org for Unravel members).
MCP
Claude Code, Cursor, Codex, and anything else that speaks Model Context Protocol can publish through thing. No terminal login needed: create a token at usething.ai under Settings, then Tokens, and paste this into your client's MCP config.
On a machine that has Bun but no Node, swap npx for bunx:
The server exposes these tools: server_info for the installed version and
update status, push_artifact to publish a file or inline content and get back
a link (with any server notes), list_artifacts to see what you have,
get_artifact to read a version's source (text inline, PDFs and images saved
to save_to), list_artifact_versions, list_artifact_comments,
list_artifact_responses to read a page's Inputs answers,
submit_artifact_response to answer them for the user when asked, and
whoami to check which account and team you are pushing to. Every tool that
takes an artifact accepts a name, team/slug, or link.
If you already ran thing login, the stored credential is used and
THING_TOKEN can be left out.
Runtimes
Node >= 18 or Bun, no runtime dependencies. The thing executable launches under
whichever of the two is on your PATH (Node first), so a global install works on a
machine that has never installed Node:
来源:README.md,提交 561be34
工具
0版本历史
5- v0.15.0最新Nov 4, 2026
- v0.12.0Oct 9, 2026
- v0.11.0Oct 9, 2026
- v0.10.0Sep 16, 2026
- v0.9.0Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分