“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Insomnia
Insomnia — 一个跨平台API调试工具,帮你像写代码一样优雅地测试HTTP接口。
嗨,大家好。今天想聊聊我最近彻底“入坑”的一个工具——Insomnia。说实话,作为一个后端和前端都沾边的技术人,我试过的API调试工具一只手数不过来:Postman用过好几年,甚至自己写过curl脚本套壳。但Insomnia真正让我觉得“舒服”的,是它那种干净、专注、不打扰的感觉。
如果你和我一样,经常需要调试REST API、GraphQL接口,或者单纯想找一个比Postman轻量、比curl直观的工具,这篇文章应该能帮你少走点弯路。
这个工具到底是干什么的?
一句话讲,Insomnia是一个跨平台的HTTP和GraphQL API客户端。你可以在上面发送GET、POST、PUT、DELETE等请求,查看响应数据,管理环境变量,自动化测试流程。
它解决的核心问题其实挺简单的:开发过程中,你不可能每次改完代码都打开浏览器或者写curl命令来测试接口。你需要一个地方,能保存请求历史、快速切换环境(比如开发、测试、生产)、自动生成代码片段,甚至团队协作。Insomnia把这些事做得特别利索。
和Postman最大的区别?我觉得是设计哲学。Insomnia更强调“本地优先”和“文件化”。你的所有配置(请求、环境、测试脚本)都可以存成一系列文件,放在项目仓库里,跟代码一起版本控制。这对团队协作和CI/CD集成来说,简直是福音。
下载方式
直接去官网下载就行,支持Windows、macOS、Linux。
对了,它现在有桌面版(最常用)和命令行版(inso,适合CI/CD)。桌面版是Electron写的,但性能优化得不错,比早期版本流畅很多。
安装方法
Windows
下载.exe安装包,双击下一步,选个安装目录就行。也可以从Microsoft Store安装,但更新可能慢一点。
macOS
下载.dmg文件,把图标拖进Applications文件夹。或者用Homebrew:
brew install --cask insomnia
Linux
有.deb、.rpm和AppImage三种格式。以Ubuntu为例:
# 下载deb包后
sudo dpkg -i insomnia*.deb
# 或者用snap(但snap版偶尔有bug)
sudo snap install insomnia
安装完打开,界面是深色主题(默认),看起来就很“程序员友好”。
基础使用教程
1. 创建你的第一个请求
打开Insomnia,你会看到一个空白的左侧边栏(Workspace)。点击“New Request”,输入一个名字(比如“获取用户列表”),选择方法(GET),然后输入URL,比如:
https://jsonplaceholder.typicode.com/users
点击“Send”,右侧就会显示响应状态码、Headers、JSON数据。就这?对,基础就是这么简单。
2. 管理请求集合(Collections)
左侧可以创建文件夹,把相关请求放进去。比如建一个“用户模块”文件夹,里面放“登录”、“注册”、“获取资料”三个请求。右键文件夹还可以导出为OpenAPI或cURL格式,方便分享。
3. 环境变量(Environments)
这是我最喜欢的功能。点击左下角齿轮图标 -> “Manage Environments”,你会看到一个JSON编辑器。先定义“Base Environment”(全局变量):
{
"base_url": "http://localhost:3000",
"token": ""
}
然后在请求URL里用{{base_url}}/users代替完整地址。更爽的是,你可以创建子环境,比如“开发”和“生产”:
// 开发环境
{
"base_url": "http://localhost:3000"
}
// 生产环境
{
"base_url": "https://api.example.com"
}
在顶部下拉菜单切换环境,所有请求自动适配,再也不用手动改URL了。
4. 认证和Headers
在请求的“Auth”标签页,可以选择Basic Auth、Bearer Token、OAuth 2.0等。比如用JWT:
- 选“Bearer Token”
- 在Token输入框里写
{{token}}(假设你已经在环境变量里定义了token值) - 发送请求时,Insomnia会自动加上
Authorization: Bearer xxxHeader
5. 查看响应
响应区默认显示Pretty格式(格式化后的JSON),可以切换到Raw(原始响应)、Headers、Cookies。如果有大段JSON,可以点击左下角“Preview”里的“JSON”或“XML”语法高亮。右键还可以复制路径(比如$.data[0].name),方便写测试断言。
进阶技巧
1. 用“Chain Requests”实现登录态自动管理
很多API需要先登录获取token,再调用其他接口。Insomnia可以这样做:
- 创建一个“登录”请求,发送POST,获取响应中的token
- 在登录请求的“Scripts”标签页(其实就是Post-response脚本),写一段JavaScript:
const response = JSON.parse(insomnia.response.getBody().toString());
insomnia.environment.set('token', response.data.token);
- 其他请求的环境变量
{{token}}会自动更新。这样你每次调试只需先点一次登录,后续所有接口自动带上新token。
2. 使用“Code Generator”
写好了请求,想直接生成cURL、Python、Go、JavaScript代码?点击请求右上角的“Code”按钮(</>图标),选择语言和库,一键复制。比如选“Python - http.client”,立刻得到一段可以直接粘贴到脚本里的代码。
3. 单元测试和自动化
Insomnia支持用JavaScript写测试脚本。在请求的“Scripts”标签页的“Test”区域,可以写:
const response = JSON.parse(insomnia.response.getBody().toString());
expect(response.status).to.equal(200);
expect(response.data).to.have.property('id');
然后点击“Run Tests”,所有测试会绿色通过或红色报错。你还可以把多个请求放到一个“Test Suite”里,批量运行。
4. 使用“inso”命令行工具
如果你想把API测试集成到GitHub Actions或Jenkins里,可以安装inso:
npm install -g insomnia-inso
然后运行:
inso run test "用户模块" --env 开发
它会自动执行你Insomnia工作区里的测试用例,输出结果。配合--reporter参数还能生成JUnit或JSON报告。
5. 团队协作(Git同步)
Insomnia支持将工作区导出为Git仓库。点击“Git Sync”按钮,选择“Clone Git Repository”,输入你的项目Git地址。之后团队成员修改请求,你只需要git pull就能同步。因为所有数据都是文件(.json和.yaml),冲突也能用Git解决,比Postman的云端同步更透明。
6. 快捷键
Ctrl+N(Mac:Cmd+N):新建请求Ctrl+Enter(Mac:Cmd+Enter):发送请求Ctrl+Shift+F:搜索请求/文件夹Ctrl+D:复制当前请求- 在URL输入框按
Ctrl+Space:触发变量自动补全
写在最后
Insomnia不是完美的工具——它的插件生态不如Postman丰富,GraphQL订阅功能有时会闪烁,但它的核心体验非常扎实。如果你厌倦了Postman的广告弹窗、臃肿的界面,或者想更贴近代码工作流,强烈建议你花一下午时间把现有项目迁移到Insomnia。
对了,它完全免费(开源版),付费版只多了团队协作和审计日志,个人开发者用免费版完全够。
希望这篇文章能让你少走点弯路。如果有什么Insomnia的骚操作我没写到,欢迎在评论区补充,一起交流。