<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.mywiki.cn/Hovercool/index.php?action=history&amp;feed=atom&amp;title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan</id>
	<title>OpenClaw手动配置火山引擎方舟coding plan - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.mywiki.cn/Hovercool/index.php?action=history&amp;feed=atom&amp;title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan"/>
	<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;action=history"/>
	<updated>2026-09-01T05:31:29Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162277&amp;oldid=prev</id>
		<title>2026年5月23日 (六) 17:02 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162277&amp;oldid=prev"/>
		<updated>2026-05-23T17:02:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年5月23日 (六) 17:02的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l153&quot;&gt;第153行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第153行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;补充：&lt;/del&gt;/home/openclaw/.openclaw/agents/main/agent/auth-state.json  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;补充1：&lt;/ins&gt;/home/openclaw/.openclaw/agents/main/agent/auth-state.json  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;——这个文件的作用是记录 Agent 调用各个模型提供商时的认证失败状态和冷却时间，删除后Agent会清除所有认证失败记录，立即重新尝试所有认证配置。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;——这个文件的作用是记录 Agent 调用各个模型提供商时的认证失败状态和冷却时间，删除后Agent会清除所有认证失败记录，立即重新尝试所有认证配置。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- 补充2：在OpenClaw 05.18的版本上，火山引擎的插件为了兼容，在获取volcengine-plan的apiKey时会默认从 volengine（如果有的话）中的配置取，也就是说是共用一个key，这时要确保火山引擎后台要给这个key打开所有模型权限。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/markdown&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/markdown&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162274&amp;oldid=prev</id>
		<title>2026年5月23日 (六) 12:56 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162274&amp;oldid=prev"/>
		<updated>2026-05-23T12:56:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年5月23日 (六) 12:56的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l151&quot;&gt;第151行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第151行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 重启 | - | ✅ |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 重启 | - | ✅ |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| models.json | 自动生成 | ❌ |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| models.json | 自动生成 | ❌ |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- 补充：/home/openclaw/.openclaw/agents/main/agent/auth-state.json &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;——这个文件的作用是记录 Agent 调用各个模型提供商时的认证失败状态和冷却时间，删除后Agent会清除所有认证失败记录，立即重新尝试所有认证配置。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/markdown&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/markdown&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162266&amp;oldid=prev</id>
		<title>2026年5月23日 (六) 07:20 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162266&amp;oldid=prev"/>
		<updated>2026-05-23T07:20:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026年5月23日 (六) 07:20的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;markdown style=&quot;gemini&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 添加 volcengine-plan provider 排查记录&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 添加 volcengine-plan provider 排查记录&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l150&quot;&gt;第150行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第151行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 重启 | - | ✅ |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 重启 | - | ✅ |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| models.json | 自动生成 | ❌ |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| models.json | 自动生成 | ❌ |&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/markdown&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162265&amp;oldid=prev</id>
		<title>2026年5月23日 (六) 07:20 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=OpenClaw%E6%89%8B%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%81%AB%E5%B1%B1%E5%BC%95%E6%93%8E%E6%96%B9%E8%88%9Fcoding_plan&amp;diff=162265&amp;oldid=prev"/>
		<updated>2026-05-23T07:20:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;# 添加 volcengine-plan provider 排查记录&lt;br /&gt;
&lt;br /&gt;
**日期**：2026-05-23&lt;br /&gt;
**目标**：让 `volcengine-plan/ark-code-latest` 等模型能正常使用&lt;br /&gt;
&lt;br /&gt;
## 背景&lt;br /&gt;
&lt;br /&gt;
`volcengine-plan` 是 volcengine 的 Coding 套餐 provider，端点是 `https://ark.cn-beijing.volces.com/api/coding/v3`，跟标准 `volcengine` (`/api/v3`) 是不同 baseUrl + 不同 API key。&lt;br /&gt;
&lt;br /&gt;
调用 `volcengine-plan/ark-code-latest` 时一直失败，401 AuthenticationError。&lt;br /&gt;
&lt;br /&gt;
## 排查过程&lt;br /&gt;
&lt;br /&gt;
### 第一步：确认 API 本身可用&lt;br /&gt;
&lt;br /&gt;
直接 curl 测试 `volcengine-plan` 的端点 → 200 OK，正常返回。&lt;br /&gt;
&lt;br /&gt;
### 第二步：检查 OpenClaw 配置&lt;br /&gt;
&lt;br /&gt;
在 `openclaw.json` 里 `models.providers.volcengine-plan` 已有，但 `auth.profiles` 缺少 `volcengine-plan:default`。&lt;br /&gt;
&lt;br /&gt;
### 第三步：第一次尝试（错误方向）&lt;br /&gt;
&lt;br /&gt;
往 `openclaw.json` 的 `auth.profiles` 加声明后重启，仍然 401。&lt;br /&gt;
&lt;br /&gt;
### 第四步：找到真正的 auth profile 文件&lt;br /&gt;
&lt;br /&gt;
跑 `openclaw models status --json` 发现 `storePath` 指向：&lt;br /&gt;
`~/.openclaw/agents/main/agent/auth-profiles.json`&lt;br /&gt;
&lt;br /&gt;
这个文件才是实际密钥存储，里面只有 `volcengine:default`，没有 `volcengine-plan:default`。所以 `volcengine-plan` 的模型调用一直 fallback 用了 `volcengine` 的 key（两者不同），导致 401。&lt;br /&gt;
&lt;br /&gt;
### 第五步：修复&lt;br /&gt;
&lt;br /&gt;
在 `auth-profiles.json` 里追加正确的条目后重启 → 验证通过。&lt;br /&gt;
&lt;br /&gt;
## 关键经验&lt;br /&gt;
&lt;br /&gt;
1. **`openclaw.json` 的 `auth.profiles` 只是声明**，实际密钥存储在每个 agent 的 `auth-profiles.json` 里&lt;br /&gt;
2. **`openclaw.json` 的 `models.providers.apiKey` 可以省略**，密钥只需写在 `auth-profiles.json`&lt;br /&gt;
3. **真实存储路径**：`~/.openclaw/agents/&amp;lt;agent-id&amp;gt;/agent/auth-profiles.json`&lt;br /&gt;
4. **诊断命令**：`openclaw models status --json` 能看到 `storePath` 和实际加载的 profiles&lt;br /&gt;
5. **路由 fallback 行为**：当 provider 没有对应 auth profile 时，OpenClaw 会用同 provider 家族的其他 key，导致认证失败&lt;br /&gt;
6. **`models.json` 自动生成**，不需要手动修改&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# 三者的关系与作用（源码级）&lt;br /&gt;
&lt;br /&gt;
## 1️⃣ `openclaw.json` — 全局配置声明&lt;br /&gt;
&lt;br /&gt;
OpenClaw 的**主配置文件**，声明了&amp;quot;可以有什么&amp;quot;。&lt;br /&gt;
&lt;br /&gt;
### `models.providers` — Provider 定义&lt;br /&gt;
&lt;br /&gt;
定义 provider 是谁、端点在哪、包含哪些模型。**apiKey 字段可留空**。&lt;br /&gt;
&lt;br /&gt;
### `auth.profiles` — Auth profile 声明&lt;br /&gt;
&lt;br /&gt;
**源码证据**（`order-BpP0LHg3.js:resolveAuthProfileOrder`）：OpenClaw 运行时读取 `cfg.auth.profiles` 作为**优先级排序参考**和**命名注册**。&lt;br /&gt;
&lt;br /&gt;
**不包含实际密钥！** 只声明了名字和模式。&lt;br /&gt;
&lt;br /&gt;
## 2️⃣ `auth-profiles.json` — 实际密钥存储&lt;br /&gt;
&lt;br /&gt;
路径：`~/.openclaw/agents/&amp;lt;agent-id&amp;gt;/agent/auth-profiles.json`&lt;br /&gt;
&lt;br /&gt;
**源码路径**（`models-config-hNCfzm-l.js:830`、`store-BYnn-xRZ.js`）&lt;br /&gt;
&lt;br /&gt;
**关键要点**：&lt;br /&gt;
- **每个 agent 独立**&lt;br /&gt;
- **`openclaw.json` 的声明不会自动写入这里**&lt;br /&gt;
- 源码函数：`saveAuthProfileStore()` / `upsertAuthProfile()` / `markAuthProfileSuccess()`&lt;br /&gt;
&lt;br /&gt;
## 3️⃣ `models.json` — 自动缓存的模型清单&lt;br /&gt;
&lt;br /&gt;
**自动生成**，不需要手动修改，删了也会重建。触发时机：重启、`openclaw models scan`、配置变化。&lt;br /&gt;
&lt;br /&gt;
生成时会合并 `openclaw.json` 的 providers + 插件发现的 provider + `auth-profiles.json` 里的密钥。&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
# 通用步骤：给 OpenClaw 添加新 provider&lt;br /&gt;
&lt;br /&gt;
## 第 1 步：在 `openclaw.json` 声明&lt;br /&gt;
&lt;br /&gt;
### 1.1 模型别名（`agents.defaults.models`）&lt;br /&gt;
&lt;br /&gt;
```json&lt;br /&gt;
&amp;quot;volcengine-plan/ark-code-latest&amp;quot;: {}&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 1.2 Provider 定义（`models.providers`）&lt;br /&gt;
&lt;br /&gt;
```json&lt;br /&gt;
&amp;quot;volcengine-plan&amp;quot;: {&lt;br /&gt;
  &amp;quot;baseUrl&amp;quot;: &amp;quot;https://ark.cn-beijing.volces.com/api/coding/v3&amp;quot;,&lt;br /&gt;
  &amp;quot;api&amp;quot;: &amp;quot;openai-completions&amp;quot;,&lt;br /&gt;
  &amp;quot;models&amp;quot;: [&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;ark-code-latest&amp;quot;, &amp;quot;name&amp;quot;: &amp;quot;ark-code-latest&amp;quot;, &amp;quot;contextWindow&amp;quot;: 256000, &amp;quot;maxTokens&amp;quot;: 32000, &amp;quot;input&amp;quot;: [&amp;quot;text&amp;quot;, &amp;quot;image&amp;quot;] }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&amp;gt; apiKey 可选，密钥只需在 auth-profiles.json 写。&lt;br /&gt;
&lt;br /&gt;
### 1.3 Auth profile 声明（`auth.profiles`）&lt;br /&gt;
&lt;br /&gt;
```json&lt;br /&gt;
&amp;quot;volcengine-plan:default&amp;quot;: {&lt;br /&gt;
  &amp;quot;provider&amp;quot;: &amp;quot;volcengine-plan&amp;quot;,&lt;br /&gt;
  &amp;quot;mode&amp;quot;: &amp;quot;api_key&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 第 2 步：在 auth-profiles.json 写入密钥（关键！）&lt;br /&gt;
&lt;br /&gt;
路径：`~/.openclaw/agents/main/agent/auth-profiles.json`&lt;br /&gt;
&lt;br /&gt;
```json&lt;br /&gt;
&amp;quot;volcengine-plan:default&amp;quot;: {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;api_key&amp;quot;,&lt;br /&gt;
  &amp;quot;provider&amp;quot;: &amp;quot;volcengine-plan&amp;quot;,&lt;br /&gt;
  &amp;quot;key&amp;quot;: &amp;quot;你的API密钥&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 第 3 步：重启 gateway&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
openclaw gateway restart&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 第 4 步：验证&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
openclaw models status --json | jq &amp;#039;.auth.providers[] | select(.provider==&amp;quot;volcengine-plan&amp;quot;)&amp;#039;&lt;br /&gt;
openclaw models list --provider volcengine-plan&lt;br /&gt;
/model volcengine-plan/ark-code-latest&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
## 检查清单&lt;br /&gt;
&lt;br /&gt;
| 步骤 | 文件 | 必需 |&lt;br /&gt;
|------|------|------|&lt;br /&gt;
| Provider 定义 | `openclaw.json` → `models.providers` | ✅ |&lt;br /&gt;
| 模型别名 | `openclaw.json` → `agents.defaults.models` | ✅ |&lt;br /&gt;
| Auth profile 声明 | `openclaw.json` → `auth.profiles` | ✅ 推荐 |&lt;br /&gt;
| **写入密钥** | `agents/main/agent/auth-profiles.json` | ✅ **必需** |&lt;br /&gt;
| 重启 | - | ✅ |&lt;br /&gt;
| models.json | 自动生成 | ❌ |&lt;/div&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
</feed>