从零开始,把 KODER
变成适合你的工作工具
从下载、安装、第一次配置,到喂资料、调整调性、预习复习与任务预演。以图形操作和 TUI 入门,再逐步掌握 CLI。
KARMENLOOP 团队 · 中文完整教程 · 2026-10-21
当前为开发预览;本地配置与学习练习可用。真实模型请求需要用户 GitHub 激活和自己的模型凭据;Windows 原生验收结果见发布状态文件,外部渠道仍未接线。
展开完整目录
没有找到匹配章节。试试“安装”“Skill”“复习”或错误码。
先知道你要得到什么
目标是一个能按你的规范工作、对你的领域有资料依据、逐步适应你表达习惯的工具。
本教程面向完全没用过终端的人,也保留进阶用户需要的命令和配置。你不必先学编程。先完成本地角色、资料和检查,再决定是否连接真实模型。
| 组成 | 你用它做什么 | 实际入口 |
|---|---|---|
| CLI | 用一条命令查看、配置或运行;适合重复操作。 | koder-open … |
| TUI | 直接在终端里用菜单选择、输入和投喂。 | koder-open tui |
| 本地后台与网页 | 管理角色、长文档、学习记录和高级设置。 | koder-open setup --port 0,打开打印的本机网址。 |
三种入口共用同一份数据目录、角色与空间。TUI 启动时也会启动这套本地后台,并显示它的网址。你可以在网页编辑长材料,然后回到终端工作。后台不是云服务器;关闭启动它的程序后,相应网址会停止响应,已经保存的数据仍在。
当前版本提供 CLI、TUI、本地配置后台、资料投喂、输出检查与有边界的学习。真实模型请求需要你明确选择模型端点、在本机提供凭据,并完成本产品 GitHub 激活。下载和各平台实测结果请核对发行页的验证记录;配置保存、健康检查和演示文字都不等于真实请求已经通过。
任何岗位都可以先定义自己的角色和资料。选择“教师”“工程师”等名字只建立工作边界,不会自动得到该专业的全部知识。专业适用性取决于你提供的可靠资料、代表性案例和实际验证。
回到目录按你的起点选择路线
每一段都有一个能看见的完成结果,不必一次学完所有命令。
| 你的情况 | 推荐顺序 | 先达到的结果 |
|---|---|---|
| 完全不会终端 | 准备 → 下载 → Mac/Windows 安装 → TUI → 角色 → Skills → 输出检查 | 不用模型,也能保存角色、投喂一份资料并测出好坏样例。 |
| 习惯网页操作 | 启动本地后台 → Role settings → Skills & output rules → Learning cycle | 配置好自己专用的资料和学习范围。 |
| 已经有 API | 先做本地练习,再看模型与 GitHub 授权;发布方服务就绪后实际发一条请求 | 看到符合规范的模型回答,而不是仅看到“连接已保存”。 |
| 熟悉命令行 | 样例包 → 命令参考 → 多角色与备份 → 验收练习 | 能重开恢复、定位错误并维护个人配置。 |
第一次练习的最短闭环
- 安装或使用团队提供的当前本地包;运行
koder-open version确认版本。 - 在独立数据目录启动
setup或tui。 - 把助手名字、工作目标、话题范围和语言改成自己的。
- 导入
my-standard.md,检查内容后启用,并添加输出检查。 - 检查
bad-answer.txt:应拦截;检查good-answer.txt:应通过机械检查。 - 添加一个真实遇到的问题和一张复习卡;先做本地练习,再确认结果。
做到这里,你已经掌握定制的主体。模型调用、身份授权和自动选择学习活动放在后面的章节完成。不要用演示用的三个任务 ID 冒充自己的三次真实经验。
回到目录第一次接触时会遇到的词
把不同概念分开,配置会简单很多。
| 名称 | 通俗解释 | 容易混淆的地方 |
|---|---|---|
| 终端 / Terminal / PowerShell | 输入命令、看到结果的窗口。 | 当前版本不是打开聊天框就能后台执行电脑任务。 |
| 命令 | 例如 koder-open version。复制后按 Enter 执行。 | 代码框里没有要你输入的 $ 提示符。 |
| 当前文件夹 | 命令寻找相对文件路径的起点。 | ./examples/… 只在教程文件夹内有效。 |
| 数据目录 / --home | 保存角色、Skill、模型配置和学习记录的地方。 | 它不是程序安装目录。换目录后看到空数据通常不是丢失。 |
| 角色 / --role | 同一数据目录里的一个专用助手。默认 assistant。 | 角色名可以中文;角色 ID 用小写字母、数字、点、下划线或连字符。 |
| 空间 / --space | 把个人、项目或团队资料分开的另一个维度。默认 default。 | 角色相同、空间不同,也不会共用那份角色库。 |
| Skill | 你给工具的规范、方法、案例和领域材料的文本副本。 | 导入不等于启用;不会运行脚本或自动读取里面的链接。 |
| API 协议 / endpoint / model ID | 分别是通信格式、完整请求地址、账号实际允许的模型名称。 | 不能只凭一个网站域名就认为接好了模型。 |
| API Key | 模型服务的访问凭据,可能产生费用。 | 不是 GitHub 设备验证码、授权摘要或模型 ID。 |
| 环境变量 | 启动程序时传入的一项进程设置;用它提供模型 Key。 | 不是加密密码库,不要把 Key 写进角色或 Skill。 |
| JSON | 一种配置文本;键和字符串用英文双引号。 | 不要加注释、末尾多余逗号或把示例占位 ID 当真值。 |
| 机械检查 / 用户复核 | 前者检查字数、短语和 JSON;后者检查意思与事实。 | 检查通过不能证明专业结论正确。 |
从哪里下载、选哪一个包
先核对平台和版本,再核对文件;不要从旧教程猜下载命令。
本教程对应页首所示版本。到下方本版发行页下载与你设备匹配的程序包及同名 .sha256 文件;如果该版尚无附件,等待团队发布,不要使用旧包代替。Mac 文件是 koder-open-0.2.0-dev.7-darwin-arm64.tar.gz,Windows 文件是 koder-open-0.2.0-dev.7-win32-x64.zip。两端都包含本产品真实授权配置。
打开本版发行页、程序包与校验文件离线手册不内含 CLI 程序包;请使用会话中的包文件或联系团队。
| 设备 | 包的架构标记 | 当前情况 |
|---|---|---|
| Mac,Apple M 系列芯片 | darwin-arm64 | 本轮本地原生构建与验证目标。 |
| Mac,Intel 芯片 | darwin-x64 | 本轮未提供经过原生验收的 Intel 包,不应安装 ARM 包代替。 |
| Windows x64 / ARM64 | win32-x64 / win32-arm64 | Windows x64 已原生构建并验证下载、安装、中文路径、CLI、资料与本地学习、ConPTY TUI;ARM64 未原生验收。 |
| Linux | 单独平台适配 | 本轮安装器不支持;不要套用 Mac 脚本。 |
团队入口:karmenloop.com;支持邮箱 info@karmenloop.com。请以本版发行页的附件为准。不要把旧版公开下载脚本得到的旧版本当作这份教程中的完整功能。
当前包的 SHA-256:以同一发行版附带的 .sha256 文件为准;不要使用旧候选摘要。校验值只能检查文件是否一致;应从你信任的发布方渠道取得原始包和摘要。不要为了运行未确认的包关闭系统安全保护。
Mac:从打开终端到启动工具
这条路线针对 Apple Silicon Mac。原生包已经带运行时,普通用户不需要另外安装 Node.js。
- 在“关于本机”确认芯片为 Apple M 系列。按 Command + 空格,输入 Terminal 或“终端”,打开。
- 把包放进“下载”,用访达双击解压。得到一个以
koder-open-0.2.0-dev.7-darwin-arm64命名的文件夹。 - 在终端输入下面的校验命令;如果你改过下载位置,替换路径。摘要应与上一章相同。
shasum -a 256 "$HOME/Downloads/koder-open-0.2.0-dev.7-darwin-arm64.tar.gz"进入解压后的文件夹。路径不同,就在终端输入 cd (末尾一个空格),把该文件夹从访达拖进终端,再按 Enter;拖入文件夹只填写路径。
cd "$HOME/Downloads/koder-open-0.2.0-dev.7-darwin-arm64"
sh install.sh安装器会先验证包内文件、展示四份条款,并要求明确接受。只有你阅读后同意,才按屏幕提示输入 accept;不同意就停止。教程不会替你同意。安装条款同意与之后的 GitHub 运行授权是两道不同的门。
当前包为临时签名、未做 Apple 公证的开发包。若系统阻止运行,保留提示并联系团队获取经过确认的分发;本教程不要求关闭 Gatekeeper、删除隔离属性或绕过系统警告。
export PATH="$HOME/.local/bin:$PATH"
koder-open version --json
koder-open setup --home "$HOME/KoderLearningData" --port 0第一行只影响当前终端窗口,关闭后可重新执行;需要长期 PATH 设置时按自己的 shell 管理习惯配置。version 应显示 0.2.0-dev.7。setup 会输出一个 http://127.0.0.1:端口 地址,复制进浏览器。端口每次可能不同,以终端打印值为准,不要一直用某个旧的预览地址。
若命令仍找不到,可用完整路径启动:
"$HOME/.local/bin/koder-open" tui --home "$HOME/KoderLearningData"Windows:准备与安装路线
Windows x64 已在原生 CI 验证下载、安装、CLI、本地学习和 ConPTY TUI。本轮包仍是待发布方授权服务就绪的开发草稿,不等于已经完成正式激活。
取得团队正式确认的 win32-x64 或 win32-arm64 ZIP 后,再按此路线进行。ARM 与 x64 不要互换;不要使用 Mac 的 darwin-arm64 文件。
- 在开始菜单搜索 PowerShell,使用普通用户窗口。
- 右键 ZIP,解压全部到本地普通目录,例如
C:\KoderOpen。 - 进入解压目录:输入
cd,再填实际文件夹路径;含空格的路径用英文引号。 - 先对照团队提供的 SHA-256,再运行该目录内的安装器。
Get-FileHash -Algorithm SHA256 -LiteralPath "$HOME\Downloads\你的Windows包.zip"
Set-Location -LiteralPath "C:\KoderOpen\实际解压目录"
.\install.ps1安装器应展示条款并询问接受,普通安装不需要管理员权限。默认命令在 %LOCALAPPDATA%\KarmenLoop\koder-open\bin\koder-open.cmd。可从 PowerShell 直接调用:
& "$env:LOCALAPPDATA\KarmenLoop\koder-open\bin\koder-open.cmd" version --json
& "$env:LOCALAPPDATA\KarmenLoop\koder-open\bin\koder-open.cmd" tui --home "$HOME\KoderLearningData"安装器也可通过团队提供的 koder-open.ps1 下载入口使用;该入口校验 ZIP 摘要与精确文件清单后才进入条款确认。推荐先下载、解压并校验发行页附件,运行包内 install.ps1;只有发行页已提供对应附件时,下载入口才可用。
若提示脚本被策略阻止,先记录错误并联系系统管理员或团队获取符合本机策略的分发方式。不要把 Set-ExecutionPolicy Unrestricted、整机 Bypass 或管理员权限当作教程必做步骤。Microsoft 对执行策略的说明见官方文档。
得到已验证的 Windows 包后,应实际检查:中文/空格路径、终端中文、保存重开、安装升级、模型授权和退出恢复。Mac 上的测试不能替代这些结果。涉及 JSON 参数的 Windows 进阶操作优先使用本教程的 JSON 文件和网页表单,避免不同 PowerShell 版本的原生命令引号差异。
回到目录TUI:直接在终端里使用
不想在网页里操作时,用这个入口。菜单是真实功能,数据仍交给同一套本地后台。
koder-open tui --home "$HOME/KoderLearningData"Windows 使用上一章的完整 koder-open.cmd 路径,数据路径改为 $HOME\KoderLearningData。下面的界面项目与两端保持同一套实现;Windows x64 已验证原生 ConPTY 菜单、中文角色保存与重开;仍需在你的实际终端确认显示与键位。
Koder Open CLI · Terminal UI
Version 0.2.0-dev.7 · default / assistant
> Role settings: purpose, scope and tone
Feed skills and check outputs
Learning cycle
Model and GitHub license
Run an authorized text task
Switch role or space
Inspect saved state
Help and local backend URL
Save and exit| 操作 | 按键 | 用途 |
|---|---|---|
| 选择项目 | ↑ / ↓,或 j / k | 移动高亮位置。 |
| 确认 | Enter | 进入页面或提交当前一行。 |
| 返回 | Esc | 回上级;主菜单按 Esc 退出。 |
| 长列表 | Page Up / Page Down | 较快移动选择。 |
| 退出 | Ctrl + C | 结束 TUI,关闭它自己启动的后台,保留已保存的数据。 |
| 保留原字段 | 输入页面直接 Enter | 有 Current value 时保留原值;如需清空字段,用网页编辑。 |
- 进入 Role settings,按提示填名字、目标、话题、语气、语言;填完整个表单才保存。
- 进入 Feed skills and check outputs → Import,填本地文本文件路径、Skill ID、必需短语和禁用短语。导入后先 disabled。
- 重新进入该 Skill 查看内容,再选 Enable reviewed skill。
- 用 Check a sample answer file 测试本地样例。
- 进入 Learning cycle 配置范围、投喂问题、添加复习卡、练习、复核结果。
- Help and local backend URL 会显示网页后台地址,适合切去编辑长文本或完整 JSON。
输入文件路径时使用实际路径,建议不带外层引号,例如 /Users/你的名字/Documents/my-standard.md;这里是表单,不是 shell 命令。TUI 一次输入一行,长文档在文本编辑器保存成 UTF-8 后导入最方便。
本地后台:长资料和完整设置放在这里
你可以只用按钮完成大部分定制,不必手写 JSON。
koder-open setup --home "$HOME/KoderLearningData" --port 0| 英文界面 | 中文意思 | 主要操作 |
|---|---|---|
| Role settings | 角色设置 | 名称、目标、允许话题、语气、语言与长度。 |
| Skills & output rules | 资料与输出规则 | 粘贴/导入、启用、停用、移除、试样例。 |
| Learning cycle | 学习闭环 | 学习边界、问题证据、预习、补课、复习与预演。 |
| Model connection | 模型连接 | 协议、完整地址、模型 ID、环境变量名和试运行。 |
| License & team | 团队与授权 | 公司信息、四份条款、GitHub 设备授权与退出。 |
| Industry templates | 行业起点 | 20 类可修改的配置种子,不是 20 个已验证专业专家。 |
| Channel catalog | 渠道目录 | 18 类目标渠道;当前未连接,不要把目录当能力。 |
| Behavior & preferences | 偏好与旧分析政策 | 显式偏好建议;旧后台分析政策不启动监视。 |
| Full configuration | 完整设置 | 编辑全部角色字段,保存时有校验和版本冲突检查。 |
角色页面修改后点击 Save settings。保存后右侧 Saved configuration 的版本会变化。没有点保存的字段只是草稿;网页演示检查使用已保存值。重开同一目录和角色,确认名字仍在,才证明持久保存。
网页上的 Current role 是角色 ID。它与终端的 --role 对应;setup --role 某ID 不会自动替网页切换角色,网页仍需填 Current role 并点击 Open。网页目前没有单独的空间切换控件;需要特定 --space 的管理用 TUI 或 CLI。
如果你同时用多个窗口修改同一角色,后提交的一方可能看到版本冲突。先复制未保存的草稿,再重新打开、核对差异和保存,避免覆盖别人刚保存的规范。
回到目录把通用起点变成你的角色
先定义工作合同,再讨论“像不像我”。名字、范围、方法和调性需要一起明确。
| 要填什么 | 示例 | 判断是否足够清楚 |
|---|---|---|
| 角色名称 | 我的学习与写作助手 | 你能一眼分清它负责什么。 |
| 目标与交付 | 依据批准资料,解释原理、准备任务、起草文字;交付可核对的文本。 | 不是“什么都帮我做”,而是有可验收结果。 |
| 允许话题 | 工作写作、个人学习、任务准备,每行一个。 | 哪些可以做,哪些需要先确认。学习话题必须在这里面。 |
| 方法 | 目标 → 依据 → 组成与因果 → 步骤 → 验收。 | 复杂问题不只给名称或结论。 |
| 语气与语言 | 温和、直接、具体;zh;Balanced。 | 用正例说明你喜欢什么,避免只写“高级”“懂我”。 |
| 禁用与约束 | 不编造来源,不声称已对外执行,不自动扩大范围。 | 能写成机械规则的部分再交给输出检查。 |
可直接下载 role-config.json。初学者先用普通表单;进阶时到 Full configuration,确认当前角色 ID 是 assistant,再复制文件全部内容进去保存。若当前角色不是 assistant,要把 JSON 的 id 改成当前角色 ID,不能用粘贴配置强改被锁定的角色身份。
不要在 knowledge.sourceRefs 填一个硬盘路径,就以为文件已经读进来了。该字段只是资料引用。当前可实际进入文本请求的资料,是你已经导入、审阅并启用的 Skill 文本;网页、PDF、Word 等需先由你转成合适的文本。
领域理解也要有方法
以“发动机是什么原理”为例,你可以要求回答覆盖:系统目的、组成部分、每部分作用、输入与输出、能量如何转化、关键因果关系、成立条件、常见误解、如何验证。但具体机型与技术结论仍应依据你提供的可靠材料,不靠一个角色名字自动补齐。
回到目录投喂之前:把资料整理成能用的结构
少量可靠、边界清楚的材料,通常比一口气塞入杂乱资料更容易检查。
| 资料类别 | 建议内容 | 不建议混入 |
|---|---|---|
| 身份与职责 | 岗位目标、服务对象、产出形式、需要升级给人的情况。 | 没有边界的“自行决定一切”。 |
| 固定规范 | 术语、格式、禁止项、必须包含的声明、资料优先级。 | 与现有规范互相矛盾却没有版本说明的句子。 |
| 领域知识 | 定义、流程、因果关系、例外、适用条件、版本与来源。 | 无授权的客户私密记录、Key、密码和随意搬来的敏感资料。 |
| 工作方法 | 如何拆题、查缺、制定步骤、检查与验收。 | 要求把未实际发生的操作写成已完成。 |
| 正反例 | 好答案、坏答案、为什么好/坏、应怎样改。 | 只有一句“这个不好”,没有可复现的差异。 |
- 先写一份 1–3 页的核心规范,下载 my-standard.md 改成自己的内容。
- 再按岗位建立少量主题文件,例如“术语表”“流程与例外”“通过验收的案例”。同一个导入文件不要超过 128 KiB。
- 每份资料注明适用范围、来源、日期、版本;纠正旧规范时明确指出替代哪一条。
- 确认你有权把资料交给本地工具和你选定的模型服务。需要保密的部分先做脱敏或不提供。
- 一次只新增一类规范,测一组真实案例,保留有效结果后再扩充。
Markdown 的 # 是标题标记,不会变成可执行代码。当前导入只复制文字,不安装依赖,不自动访问链接,不读取同文件夹其他文件,也不执行 Skill 里面的脚本。“喂资料”是建立可追溯的上下文与检查规则,不是训练基础模型权重。
真正投喂:导入、审阅、启用、重测
这四步少一步,结果都会不同。
网页操作
- 打开 Skills & output rules。
- 选择 Skill file,或在 Instructions 粘贴文字。
- Skill ID 填
my-standard;它是内部标识,不是中文显示名。 - 展开 Add enforceable output checks,先设置 Required phrases:
依据:;Forbidden phrases:保证结果和已经替你发送。Maximum characters 可填 1200。 - 点击 Import disabled skill。
- 在 This role’s skills 展开内容和检查,确认无误,再点击 Enable。
- 用好坏样例重新测。改写同一 Skill 后,替换版会重新 disabled,需要再审阅和启用。
TUI 操作
Feed skills and check outputs → Import a Markdown / text file → 填路径、ID 和检查。再进入同名 Skill → Review → Enable reviewed skill。长段落请在文件里编辑;TUI 的短语输入用逗号分隔,含逗号的精确短语可在网页设置。
Mac CLI 操作
koder-open skill import ./examples/my-standard.md --id my-standard --rules '{"requiredText":["依据:"],"forbiddenText":["保证结果","已经替你发送"],"maxCharacters":1200,"format":"text"}' --home "$HOME/KoderLearningData"
koder-open skill list --home "$HOME/KoderLearningData"
koder-open skill enable my-standard --home "$HOME/KoderLearningData"CLI 列表会显示导入的 Skill、摘要和 enabled 状态,默认不把整段文字全部打印出来。启用只增加内容指导与机械检查,不会授予 shell、文件读写、发消息或商业授权。你自己的规范若与其他启用资料冲突,应先解决冲突,不要靠反复重试期待模型每次猜对。
回到目录试一下过滤筛:好坏答案都要测
你要确认它既能拦住违规输出,也允许符合规范的内容通过。
到网页 Try the output filter,把 bad-answer.txt 的内容粘进去,点击 Check sample;它应该显示 Withheld。再使用 good-answer.txt,应显示配置的机械检查通过。TUI 的 Check a sample answer file 可直接选这两个文件。
koder-open skill check ./examples/bad-answer.txt --home "$HOME/KoderLearningData"
koder-open skill check ./examples/good-answer.txt --home "$HOME/KoderLearningData"第一条预期退出码是 3,第二条是 0;错误码非零在坏样例里是正确结果。如果所有东西都通过,检查规则是否为空、Skill 是否启用、数据目录/角色/空间是否相同。如果所有东西都拦住,检查必需短语是否互相矛盾、是否强制了输出无法满足的格式。
| 检查 | 怎么理解 | 注意 |
|---|---|---|
| Required phrases | 每个短语都必须原样出现。 | 大小写和中文标点差异可能影响必需短语。 |
| Forbidden phrases | 命中任一禁用短语就拦截。 | 英文不区分大小写;不是语义近义词检测。 |
| Maximum characters | 限制 Unicode 字符数量。 | 不是模型 token 数,也不是排版行数。 |
| Valid JSON / requiredKeys | 要求可解析的 JSON,以及指定顶层键。 | 不等于完整业务 schema 或事实校验;必需键的高级设置可通过 CLI 规则或配置资料实现。 |
| 自然语言规范 | 通过角色和启用 Skill 提供给模型。 | 不能把提示词承诺当成 100% 强制执行;需要代表性案例和人工复核。 |
接入模型:协议、地址、名字和 Key
当前真实请求还受发布方授权服务门控;先把配置理解清楚,不要盲目反复调用。
到 Model connection 选择一个起点,再根据你的模型服务账号填写。预设只是填表,不证明账号有权限、额度够用或参数完全兼容。你可以用官方 API、获准的网关或本机兼容服务;模型输出仍要经过同一套角色与检查。
| 字段 | 填什么 | 判断是否正确 |
|---|---|---|
| API protocol | chat-completions / responses / anthropic-messages | 与服务实际接口格式一致。 |
| Full endpoint | 完整请求 URL,而不只是网站或 /v1 根地址。 | 例如兼容 Chat 的完整地址通常以 /chat/completions 结尾。 |
| Model ID | 账号控制台列出的准确模型标识。 | 不是营销名称,也不保证同一公司不同地区通用。 |
| Credential variable | 例如 KODER_OPEN_MODEL_KEY | 这里只填变量名,不填真实 Key。 |
| Output token limit | 先从 1024 或 2048 测起。 | 它是输出上限,不能突破服务或模型自身限制。 |
| Chat output parameter | max_tokens 或 max_completion_tokens | 按该服务/模型的实际要求选择;Responses / Messages 用各自字段。 |
| Local endpoint without a credential | 只有明确的本机 loopback 服务才选。 | 不会替你下载、安装或启动本地模型。 |
先在启动程序的终端设置 Key
Mac 的以下方式不把 Key 直接写进命令历史。执行第一行后粘贴自己的 Key 并按 Enter,输入不会显示;它仍会作为该终端启动进程的环境变量存在。
read -r -s KODER_OPEN_MODEL_KEY
printf '\n'
export KODER_OPEN_MODEL_KEY
koder-open tui --home "$HOME/KoderLearningData"网页/TUI 的 Credential variable 都填 KODER_OPEN_MODEL_KEY。如果页面选的是某个预设自己的变量名,就在启动环境里使用同一个名称;不要只设置 A,却让程序读取 B。修改后需要在带新环境变量的终端重新启动对应后台。已启动的旧后台不会自动获得另一个终端的新变量。
$koderSecure = Read-Host "模型 API Key(输入不回显)" -AsSecureString
$env:KODER_OPEN_MODEL_KEY = [System.Net.NetworkCredential]::new("", $koderSecure).Password
Remove-Variable koderSecure
& "$env:LOCALAPPDATA\KarmenLoop\koder-open\bin\koder-open.cmd" tui --home "$HOME\KoderLearningData"保存模型配置后,只能说“配置已保存”。发布方服务就绪并完成授权后,明确勾选这次数据发送,再发一个很小的测试任务。看到完整回答、过滤检查和预期内容,才是这次请求成功。失败时看错误码;不要把 Key 改填到 Skill 或安装条款摘要里。
DeepSeek 短文本与思考模式
DeepSeek 当前默认启用思考。短任务可在 CLI 的 model configure 命令追加 --thinking disabled,网页选择 Thinking mode → disabled,TUI 配置模型时选择 Disable thinking。其他供应商保持 default,只有端点明确支持这个字段才启用。输出上限同时约束推理和正文;MODEL_OUTPUT_INCOMPLETE 表示答案被截断或未完成,程序会拦截,不能当成功。提高额度前先检查任务长度与思考设置。
字段依据:DeepSeek 官方思考模式文档。配置只控制已公开的接口参数;不会显示或保存模型内部推理。
不同运行方式的边界
- 原生 CLI 包含运行时,普通使用不需要 Node。若团队另行授权提供源码,源码运行要求 Node 22 或以上;从 Node 官方下载页选择适合系统的受支持版本,并用
node --version核对。本轮实际验证使用 Node 22.23.2。 - 远程模型需要网络;本地编辑和样例检查可以离线。真正的离线 AI 还需要你已安装、已启动的本地模型服务,本工具不会自动提供模型权重。
- 某些 Coding Plan / 订阅计划限制用途。当前通用角色 host 会拒绝已识别的不适用订阅端点;使用服务商允许的 API 产品。不要把“支持协议”理解成“已验过全网所有模型”。
- 本地无凭据模式只允许明确的 loopback 地址;云端必须使用 HTTPS。这里不支持静默换供应商、自动搬运 Key 或自动跨主机重试。
发出第一条真正的任务
先小范围证明有用,再增加难度和资料。服务未就绪时跳过真实调用,不用假回答代替。
确认角色已保存、Skill 已启用、模型配置和环境变量对应、授权状态有效。网页到 Model connection 的 Try an authorized text request;TUI 到 Run an authorized text task;CLI 使用 run。每次模型请求可能收费。
目标:把下面的流程说明改写成一段给新同事看的入门解释。
范围:只使用我启用的规范和下方事实,不补造制度。
事实:流程分为登记、核对、交接三个步骤;每步都需记录处理人。
输出:先一句话说目的,再说明步骤与检查点,结尾写依据。
缺资料时:指出缺口,不要假设已经完成交接。koder-open run '把登记、核对、交接三个步骤写成新同事入门说明,标明需要确认的地方和依据。' --home "$HOME/KoderLearningData"收到结果后检查四件事:用的是不是当前角色;有没有遵守必需/禁用短语和格式;资料之外是否编造了事实;表达是不是你愿意使用的样子。不要因为“有文字返回”就直接用于专业场景。
run --demo 只是配置演示,不调用模型,也不执行真实任务。task、eval、deploy 等接线尚未完成;当前文本 host 不会真的发邮件、操作电脑、部署服务或替你执行渠道工作。
让它逐步符合你的调性
风格从具体偏好和反复验证中建立,不靠一句“懂我”。
先选一个可判断的表达方向
| 方向 | 可填写的语气 | 可观察的标准 |
|---|---|---|
| 直接型 | 直接、简短、先结论,少铺垫。 | 第一段回答问题,步骤明确,没有重复结尾。 |
| 耐心型 | 温和、耐心、术语解释清楚,不居高临下。 | 给初学者能照做的步骤;缺信息时只问关键点。 |
| 严谨型 | 精确、克制,区分事实、推断、假设和待验项。 | 每个关键结论能追到资料,不把推测写成定论。 |
| 研究学习型 | 先建立结构与因果,再做类比、自测和反例。 | 解释为什么成立、何时不成立、怎样验证。 |
- Role settings 中先调语言、语气、长度和结论优先。不要一次混入互相矛盾的要求,例如“每次最多一句话”又“每次给十步完整推导”。
- 在 Skill 添加两到三个你的正例,以及反例和修改原因。使用你有权提供的文本。
- 用相同任务重测,看输出是否更贴合。若只有自然语言要求不稳定,补上能机械检查的格式规则。
- Behavior & preferences 中的显式纠正表单可保存建议;点击 Apply 才写成角色配置。建议本身不会自动生效。
- 记下保存前后的版本。改变风格会让受影响的学习成果失效,需要重新验证。
koder-open learn suggest /voice/detail brief --evidence '我希望先给结论,常规回答更简短;必要时再展开。' --home "$HOME/KoderLearningData"
koder-open learn list --home "$HOME/KoderLearningData"
koder-open learn apply 实际建议ID --home "$HOME/KoderLearningData"可建议的字段限于 voice:tone、detail、locale、document、conclusionFirst。它不是让模型任意修改工具和权限的入口。忘记一条建议只删除建议记录,已经应用的配置需自行编辑或回滚;两者不要混为一谈。
回到目录开启学习前,先画好边界
先规定“学什么、用什么、什么时候用”,再让系统安排预习和复习。
- 到 Role settings 填好允许话题,例如工作写作、个人学习,并保存。
- 启用准备作为学习资料的 my-standard Skill。
- 到 Learning cycle → Choose learning scope and limits。
- 勾选 Enable learning for this role and space;从已保存的角色话题中选学习话题,从已启用的 Skills 中选批准材料。
- 初期每天模型学习调用先设 1,保留 30 天;这只是学习活动限额,不是总账号预算。
- 先保留两个额外选项关闭:接受后的学习笔记参与回答、保存显式标记的任务输入。熟悉后再逐项打开。
- 点击 Save learning boundary;先看本地计划和练习,不必马上发模型。
TUI 的 Learning cycle → Choose learning boundary and sources 会按顺序问同样的范围、材料、复用、捕获、预算和保留期。空白 Enter 保留原值;若要清空已选项,使用网页或对应 JSON 文件明确修改。
教程样例 learning-policy.json 默认开启按需学习,但关闭笔记复用与任务捕获。它要求角色已经包含相同中文话题、my-standard 已启用。pause-learning.json 用来暂停。
koder-open learn configure ./examples/learning-policy.json --home "$HOME/KoderLearningData"
koder-open learn status --home "$HOME/KoderLearningData"学习记录默认在本机;明确同意发模型时,所选端点会接收角色、已启用 Skill 和选定学习记录。当前没有整机活动监视、自动吞入所有聊天、后台定时学习或基础模型训练。最大 12 个话题、24 个学习源、100 条观察、24 张复习卡、40 条近期尝试;学习模型调用最多每天 4 次,还受当前角色更低的限制约束,按 UTC 日期计数。
回到目录预习:围绕反复问题和正在做的事情准备
预习的输出应能让下一次任务更容易完成,而不只是多一篇泛泛总结。
- 在 Personal study plan 的 Add a problem or current task 中,选择话题和问题类型:Recurring question、Problem encountered、My correction 或 Current task。
- 为同一真实任务使用相同 task ID;不同任务用不同 ID。写清实际遇到的困难、纠正或当前目标。
- 如果已经知道下一步,就填 Expected next task;不知道可以留空。系统生成的下一步只会标为 hypothesis,等你确认。
- 累计至少三个独立任务中的问题记录,才会显示 Repeated need。不要为了触发标签复制同一任务换三个 ID。
- 读计划中的资料缺口、到期复习、当前任务与建议顺序,再选择学习活动。
教程中的 observation-1.json、observation-2.json、observation-3.json 和 current-task.json 全是演示记录。可以在独立练习目录体验,但用真实助手时要替换成真实且授权的事实。
koder-open learn observe ./examples/observation-1.json --home "$HOME/KoderLearningData"
koder-open learn observe ./examples/current-task.json --home "$HOME/KoderLearningData"
koder-open learn plan --home "$HOME/KoderLearningData"到 Study and rehearse,选 Pre-study 或 Choose the next useful activity。好预习可以包含:任务目标、前置概念、系统组成与因果关系、关键依赖、资料缺口、一个小案例、自测题和如何检查。没有批准资料时,应先补资料,而不是要求模型自编“专业知识”。
koder-open learn study ./examples/activity-prestudy.json --share-learning --home "$HOME/KoderLearningData"自动选择下一项时,系统优先处理未解决失败,其次到期复习,然后预习;已有本轮有效且被接受的预习成果后,才安排预演。一次点击至多一条模型请求,不会悄悄连跑一整晚。结果先进入待审草稿。
回到目录复习:让正确方法能再次用出来
复习卡要有资料依据、问题、认可的参考答案和可检查条件。
- Spaced review → Add an approved review question。选择话题和批准的资料 Skill。
- 写一个具体问题,再写你核对过的参考答案;参考答案也要通过当前角色和 Skill 的输出检查。
- 设置答案必须包含的短语,例如“目标”“范围”“依据:”;不应设置与参考答案相冲突的条件。
- 保存后,卡片立即到期。先不看参考答案,写自己的答案,点 Check my practice;或在明确批准模型数据发送后选 Model self-review。
- 机械检查失败的内容会被拦截。机械检查通过后,去 Learning review queue 检查来源和意思;确实正确才 Accept reviewed learning,否则 Needs more study。
第一次被接受的到期复习后,间隔为 1 天;后续被接受的到期复习依次延长到 3、7、14 天。提前练习可以做,但不会提前增加复习阶段;失败或人工判定还需学习,会重置并回到补课。标准、范围或资料改变,也会要求重新验证。
koder-open learn card ./examples/review-card.json --home "$HOME/KoderLearningData"
koder-open learn status --home "$HOME/KoderLearningData"把状态中的 cards[].id 复制到 practice-answer.json 的 cardId,再运行练习。返回的尝试 id 填入 grade-pass.json 或 grade-retry.json,最后再提交人工判断。大写 REPLACE_WITH_… 是占位符,不是可以直接运行的真实记录。
koder-open learn practice ./examples/practice-answer.json --home "$HOME/KoderLearningData"
koder-open learn grade ./examples/grade-pass.json --home "$HOME/KoderLearningData"当前“到期”是重新打开工具时计算的待复习项,不代表已经设置了系统通知、定时任务或后台唤醒。模型自答通过格式检查,也不能自己宣布知识已掌握。
回到目录补课:从失败里找出具体缺口
“补课”应针对某个失败条件和相关资料,不应自动扩充权限或重写用户规则。
- 先看失败来自哪里:缺必需短语、出现禁用词、JSON 错误、资料不足,还是你判断它理解错了。
- Learning review queue 中,被拦截的尝试只保存失败码,避免把违规回答当成可复用知识。语义有问题但机械通过的回答,用 Needs more study 标记。
- 在计划中查看未解决失败和资料缺口。补充或修订你批准的材料,再明确保存/启用。
- 选 Remediation;它会收到相应批准材料、失败条件以及该话题的参考复习答案,形成纠错说明和练习草稿。
- 复核纠错依据,再做相应练习。后续被接受的相同复习项可解决此前失败;普通话题失败则需要有效补课结果被接受。
可以使用 activity-remediate.json。例如“说明文遗漏目标与依据”,就补“如何确认任务目标、范围和来源”,再用一个新案例练习,不是泛泛要求“再聪明一点”。
失败或取消的模型学习尝试仍占当天次数;删除记录或忘记全部也不会清掉必要的当天计数。达到额度后,应等到下一 UTC 日,或在你的角色限制内明确调整设置。不要拿不断重装当成额度管理方式。
回到目录预演:提前准备下一步,仍然只做模拟
已知的下一任务和模型猜测的下一任务,需要清楚区分。
先把你确实打算做的下一步写进 Current task 的 Expected next task。若只是系统建议的“为下一步准备清单”,它是待确认假设,不是新的任务授权。确认准备目标后,选 Future-task rehearsal。
- 输入应包含:准备什么、允许用的资料、输出样式、预计困难和完成检查点。
- 输出应包含:步骤草稿、每步所需输入、风险/缺口、检查点、需要你决定的问题;规范允许时给一个样例。
- 预演不实际写客户文件、发消息、付款、变更配置或部署渠道,也不能把模拟结果写成真实完成。
- 你接受的是一个学习草稿或方法笔记,不是给它未来无限执行权。
koder-open learn study ./examples/activity-rehearse.json --share-learning --home "$HOME/KoderLearningData"例如准备明天的培训,可以先预演“讲解顺序、最可能的误解、三个提问、如何检验学会”。如果材料缺乏,就先给缺口清单和补充路径,不宣称已掌握整个行业。
回到目录让被确认的学习成果参与日常回答
先确认成果有效,再单独开启复用;这一步是个性化的关键。
- 至少有一条当前规范下经过你复核的 accepted 学习结果。
- 到学习边界设置,打开“Use my accepted study notes in responses when I select their topic”。这次修改会建立新政策版本,使旧结果失效,所以应在新政策下重新验证/接受需要使用的成果。
- 发送普通模型任务时,在 Learning context topic 选准确的话题;不选择,就不取学习笔记。TUI 同样先问 Learning context。
- 仅当另一个单独选项“保存显式标记的任务输入”也打开时,填写稳定的 Current task ID;这只收集你明确打标签的用户任务,不把模型回答冒充用户经验。
- 检查实际回答是否更贴合,而不是仅看开关已打开。
当前最多取该话题下三条仍新鲜、已接受的笔记作为从属上下文。它们保留来源 ID 和指纹,不能改变规则、角色范围、工具或审批。草稿、未确认观察、过期与失效成果不进入这个通道。
koder-open run '按我的规范起草流程说明,先确认资料缺口。' --topic 工作写作 --task-id actual-task-101 --home "$HOME/KoderLearningData"若修改角色、切换/重启某个 Skill 或改变学习边界,旧成果会失效。你可能看到复习卡重新 due、学习结果 stale。这是为了防止旧偏好压过新规则;重新检查和练习后再接受,不要把失效标记直接改掉。
回到目录每天怎样用:一个可持续的习惯
这是一套由你触发的工作节奏,不是已经开启的后台定时服务。
| 时机 | 做什么 | 留下什么 |
|---|---|---|
| 开始一项工作前 | 选角色和话题,确认资料版本,读预习/复习计划。 | 明确目标、前置资料和还缺什么。 |
| 做任务时 | 给出范围、资料和完成标准;需要时选择已接受学习笔记。 | 可核对的文字草稿和未知项。 |
| 遇到问题时 | 记录问题属于哪个真实任务、错在哪里、正确依据是什么。 | 一条授权观察或具体纠正,而非情绪性标签。 |
| 收尾时 | 复核事实与调性;接受或退回相关学习结果。 | 经过判断的记录,不让错误沉淀为长期偏好。 |
| 每周一次 | 查看重复问题、失效资料、需要补课的题和多余 Skill。 | 精简有效材料、重新验证的规范和下一周练习方向。 |
第一次使用按“配置一份核心规范 → 测一正一反 → 接一个小任务 → 做一张复习卡”推进。稳定后再增加主题与岗位,不用第一天就导入整个资料盘。退出后想继续,只需用同一数据目录、空间和角色重新启动。
回到目录不同岗位和领域,具体怎样改
20 个行业模板只是起点。你也可以自己定义任意角色,不被这些名字限制。
| 岗位/用途 | 优先投喂 | 训练用案例 | 重点验收 |
|---|---|---|---|
| 教师 / 培训 | 课程目标、教材、常见误解、评分标准。 | 把一个概念讲给初学者听,再出一题检验。 | 是否符合教材边界、能解释错误原因、问题与目标对应。 |
| 工程 / 技术学习 | 系统结构、规格、工作原理、故障树、验证流程。 | 解释系统为什么这样运作,指出输入、输出和失效条件。 | 因果是否有资料依据;参数或结论是否被杜撰。 |
| 内容 / 品牌 | 风格规范、术语、正反例、事实与禁用表述。 | 同一事实按两种受众改写。 | 符合调性、事实不变、禁用词和声明正确。 |
| 研究助理 | 授权论文摘录、术语、方法条件、证据等级、引用格式。 | 比较两份材料的结论和适用条件。 | 区分来源、推断、局限,不制造不存在的引用。 |
| 行政 / 运营 | 流程、责任边界、表单样例、交接与异常处理。 | 从不完整输入起草交接清单。 | 缺项是否明确;不把草稿当成已执行。 |
| 产品 / 项目 | 目标、需求定义、决策记录、验收案例。 | 把模糊需求拆成范围、依赖与验收条件。 | 假设是否标记;前置条件是否可核查。 |
| 专业文书整理 | 组织允许使用的模板、定义、审核流程和责任分工。 | 整理或比较获准材料,不自行作受监管专业决定。 | 正式结论由有资格或有授权的人复核,商业使用需单独许可。 |
| 个人学习 | 学习目标、教材片段、错题和掌握标准。 | 解释概念、纠正误解、间隔复习和下一步演练。 | 能否在新题里应用;不能只背熟一个样例。 |
每个领域都用同一过程:定义职责 → 准备可靠资料 → 固定规范 → 加正反例 → 机械检查 → 真实代表性任务 → 人工验收 → 改进。任何人的配置都可以不同,但“最懂这个领域”必须由实际表现证明,不能用一个模板标签保证。
回到目录怎样判断已经成为“适合我的 KODER”
用代表性任务验证,避免靠一次惊艳或一次失败下结论。
- 准备至少 10 个实际会遇到的案例:常见任务、信息缺失、范围外请求、规范冲突、错误资料、需要解释原理、需要保持调性、含禁用内容、资料更新和重开恢复。
- 为每个案例写清:允许用的资料、必需内容、不能发生的行为、什么算合格。
- 先不接真实外部执行。跑完文本任务,逐项打分,保留失败及原因。
- 机械失败先修规则或内容;知识失败补可靠资料与复习题;风格失败加具体正反例。不要把所有问题都归因于模型名字。
- 每次只改少量因素,重测受影响案例;固定版本并记录哪些仍未验证。
| 维度 | 你要问的问题 |
|---|---|
| 范围 | 它是否只在我的任务与资料范围内回答;范围外是否说明限制? |
| 准确性 | 能否找到实际依据;有没有混淆事实和推测? |
| 深度 | 复杂问题能否解释组成、因果、流程、成立条件与验证? |
| 调性 | 我是否愿意直接使用这种措辞、长度和结构? |
| 可复现 | 换个同类问题还能不能保持,而不是只记住示例? |
| 控制感 | 我能否停用、删除、回滚,并看懂为什么失效? |
| 恢复 | 关闭重开、切换角色后,数据与边界是否符合预期? |
这一步完成,表示该版本在这些场景上更适合你,不表示所有专业问题都已通过,更不代表工具宿主、Windows 或外部渠道已经验收。当前 eval 命令还没有接入真实评估 host,使用你的案例表和输出记录做人工评价。
CLI 命令参考与源码入口
下面按实际可用范围列出;高级命令先看状态,不把未接线的命令当成已完成能力。
默认命令名是 koder-open,不是你电脑上可能已有的另一套 koder。先 version 核对。下面省略重复的 --home 时,实际会使用默认数据目录;跟着本教程练习时应统一补上自己的目录。
| 命令 | 用途 | 状态/提醒 |
|---|---|---|
| version / help / about | 版本、命令目录、团队信息。 | 不需要模型或 GitHub 登录。 |
| setup / studio | 启动同一个本地配置网页。 | --port 0选择空闲端口;Ctrl+C 关闭。 |
| tui | 启动交互终端界面。 | 需要真实终端;脚本使用普通 CLI。 |
| init | 建立本地起始配置。 | 不是一键完成模型授权。 |
| config show / set / diff / reset | 查看、设单字段、预览变化、恢复默认。 | set 用 JSON pointer;diff 不提交;reset 是移除覆盖值,不是删除所有资料。 |
| role list / create | 列出模板种子、创建新角色。 | 已存在角色 ID 会拒绝覆盖。 |
| skill list / import / enable / disable / remove / check | 管理文本资料与机械检查。 | import 默认 disabled;check 违规退出 3。 |
| learn suggest / list / apply / forget | 带证据的显式语气偏好。 | apply 写角色配置;forget 不撤销已应用配置。 |
| learn status / plan / configure / observe | 查看学习状态、计划、设置边界、投喂记录。 | configure / observe 从 JSON 文件读取。 |
| learn card / practice / grade | 复习卡、练习与人工确认。 | grade 需要实际尝试 ID。 |
| learn study | 单次预习/补课/复习/预演。 | 需 JSON、--share-learning、模型和有效授权。 |
| learn forget-data | 删除学习记录或全部学习数据。 | 需 JSON 指定 type 与 ID;全部删除会关闭学习,保留必要的日用量计数。 |
| model show / configure / test | 显示、配置、明确发模型测试。 | test 可能收费并必须先有有效授权。 |
| legal list / terms / privacy / disclaimer / licensing | 阅读完整条款和摘要。 | list 文本方式适合阅读;--json 适合程序核对。 |
| auth status / login / renew / logout | 身份与签名许可证管理。 | login 要求你读完条款后明确传当前摘要;发布方未配置时仍不可激活。 |
| run / run --demo | 真实文本请求 / 配置演示。 | 普通 run 需要模型和授权;demo 没有模型或外部效果。 |
| rollback | 回滚角色配置到已保存的历史版本。 | 最近 20 份历史内;不回滚 Skill、模型或学习库。 |
| status / behavior status / channel list | 查看状态、旧分析政策、渠道目录。 | 旧后台分析未运行、渠道尚未连接。 |
| task / eval / deploy | 未来工具宿主、评估、部署入口。 | 当前返回 HOST_CAPABILITY_MISSING,不是安装出错。 |
koder-open config show --json --home "$HOME/KoderLearningData"
koder-open config diff /voice/detail brief --home "$HOME/KoderLearningData"
koder-open config set /voice/detail brief --home "$HOME/KoderLearningData"
koder-open config set /voice/locale zh --home "$HOME/KoderLearningData"
koder-open status --home "$HOME/KoderLearningData"--revision 可指定预期配置版本;版本已被别处修改会拒绝,而不是静默覆盖。--json 输出机器可读 JSON;它不会使不可用功能变成可用。当前 learn 的文件写入会读取最新库版本并用冲突检查提交;接口级更新也有版本门。
给获准拿到源码的内部使用者
node --version
node bin/koder-open.mjs version
node bin/koder-open.mjs tui --home "你的独立数据目录"
node bin/koder-open.mjs setup --home "你的独立数据目录" --port 0源码运行不需要为这个项目先执行 npm install。拿到私有源码不等于获得产品修改、再分发或商用权限;以实际书面授权为准。普通用户优先用已验证的自包含原生包。
回到目录多角色、备份、重开和恢复
数据是否“同一份”,由目录、空间和角色共同决定。
| 项目 | 默认位置/含义 |
|---|---|
| Mac 默认数据 | ~/.koder-open;本教程独立练习使用 ~/KoderLearningData。 |
| Windows 默认数据 | 用户 home 下的 .koder-open;不是安装器的 LOCALAPPDATA 运行目录。 |
| configuration | 角色覆盖设置及其版本历史。 |
| role-library | 导入的文本、偏好建议、学习政策与记录。 |
| models | 端点、模型 ID、凭据变量名;不保存那个变量的 Key 值。 |
| authorization | 本机安装身份和签名授权;不是可随意跨设备复用的许可证。 |
分开两个角色
koder-open role create --role engineering --industry D20 --name '工程学习助手' --home "$HOME/KoderLearningData"
koder-open tui --role engineering --space default --home "$HOME/KoderLearningData"
koder-open config show --role engineering --space default --home "$HOME/KoderLearningData"学习与导入资料按 tenant/space/role 隔离。只是切到另一个角色,不会自动共享第一份材料;要共享哪份资料,应明确导入、审阅和启用。网页默认管理 default 空间,指定角色需要在 Current role 输入并 Open;更细空间切换用 TUI/CLI。
备份与迁移
- 先保存所有草稿,停止使用该数据目录的 TUI/Studio 和正在写入的命令,避免复制到一半状态。
- 通过文件管理器把 configuration、role-library、models 三个目录复制到你自己的受保护备份位置,标注产品版本和日期。它们可能包含私密原文,不要放到公开仓库。
- 保留你导入前的原文件,它们不是删除 Skill 后自动恢复的来源。单独管理模型 Key;模型配置备份里没有 Key 值。
- 恢复时先把现有目标目录改名留存,再恢复三份目录到新数据位置;不要用命令盲目覆盖唯一副本。
- 用
--home 新位置重开,检查角色、Skill 状态、学习记录和模型设置;新设备/新版本按要求重新授权,不搬运或编辑签名文件来规避绑定。
全量角色回滚示例:先在修改前记下配置版本,后来如果当前版本为 5、目标在保留历史中的版本为 3,可运行:
koder-open rollback --revision 5 --target-revision 3 --home "$HOME/KoderLearningData"这会恢复整份角色配置的覆盖值并生成新版本,不只是退回语气,也不会复原已经删除的 Skill 或学习记录。它可能使相关学习结果失效;回滚后仍需重新核对。
回到目录升级、回退与卸载
先保数据,再处理运行程序。不要为了排错一开始就删数据目录。
Mac 升级与回退
- 取得团队确认的新包和摘要,核对架构、版本及条款。
- 关闭自己的运行会话,完成数据备份,再在新包解压目录运行
sh install.sh。 - 安装器保留受管理前一版和独立数据。用 version、保存重开和代表案例验收升级,不只检查安装脚本退出。
- 需要回退时,用较新的已解压包中的
sh install.sh --rollback,它只切换到验证通过的受管理前任。没有前任时会返回 ROLLBACK_UNAVAILABLE。旧版安装器不一定能理解新目录系列。
版本与条款绑定签名授权,升级/回退后云模型可能要求重新确认条款或登录;配置保留不表示授权文件可跨版本使用。
卸载的实际效果
Mac 在确认备份并停止相关会话后,可从对应的已解压包运行 sh uninstall.sh。它移除受管理运行文件和 launcher,保留独立用户数据;发现额外/外来文件会拒绝盲删。Windows 当前脚本 .\uninstall.ps1 只移除受管理 launcher,保留版本目录和数据,验收结果见发布状态文件。
这里不提供递归删除全部资料的快捷命令。如果你确实要移除自己的资料,先明确哪份目录与备份属于你,再按自己的数据管理方式处理。卸载本地程序、退出授权或忘记学习数据,都不等于公司私有 GitHub 历史回执、你的外部备份或模型服务记录已被删除。
回到目录遇到问题:按现象定位
先看具体状态和错误码,再调整对应一层;不要把所有错误都归为“模型不行”。
| 看到什么 | 通常在哪一层 | 你现在可以做什么 |
|---|---|---|
| command not found / 找不到命令 | PATH 或装错程序。 | 用安装器打印的完整 launcher 路径运行 version;核对是否误用了另一个 koder。 |
| TUI_REQUIRES_TERMINAL | TUI 被管道/文件重定向,或不在交互终端。 | 在真正 Terminal/PowerShell 里运行 tui;自动化使用普通命令。 |
| 本机网址打不开 | 对应后台停止、端口换了、旧链接。 | 在终端重新启动 setup --port 0,复制本次输出;别把本机 URL 发给别人当公网服务。 |
| 角色/资料突然不见 | home、role、space 不同。 | 查看启动参数和 Current role;回到原目录与范围,不要先重装或删库。 |
| CONFIG_CONFLICT / CONFIG_BUSY | 另一个窗口已更新或正在写。 | 先保留草稿,重新读取最新状态;确认写入者结束后再试。不要在可能仍运行时随便删锁。 |
| CONFIG_INVALID / LOCKED_FIELD | 字段、JSON 或角色身份不符合 schema。 | 修正报错路径;确保 JSON 的 id 与当前角色一致;不要改成未支持字段。 |
| SKILL_FILE_INVALID / SKILL_CONTENT_INVALID | 文件过大、非普通文本、链接或空文件。 | 另存 UTF-8 .md/.txt;单文件不超过 128 KiB;不要导入脚本/快捷方式。 |
| 样例意外全通过 | 规则为空或 Skill 未启用。 | 确认启用状态、同一 home/role/space 和必需/禁用检查。 |
| OUTPUT_RULES_FAILED | 模型回答触发机械输出门。 | 复查规则和任务是否可同时满足,补课/复核;不要为通过而随意删掉用户真正需要的约束。 |
| MODEL_NOT_CONFIGURED | 还没有保存端点模型配置。 | 填写协议、完整 URL、模型 ID、凭据变量名。 |
| MODEL_KEY_MISSING | 启动进程缺少所选变量。 | 在同一终端正确设置对应变量名后重启后台;不要把 Key 填到变量名字段。 |
| MODEL_ENDPOINT_PROTOCOL_MISMATCH | 地址后缀与协议不匹配。 | 按服务商接口文档填完整 /responses、/messages 或 /chat/completions 等正确地址。 |
| AUTHENTICATION_FAILED / PROVIDER_RATE_LIMIT | 模型端点拒绝凭据或限流。 | 在服务商账号核对权限、额度与限流;不自动换主机反复请求。 |
| MODEL_PARAMETERS / MODEL_OUTPUT_INCOMPLETE | 参数不支持、输出截断、拒绝或请求了本 host 没有的工具。 | 按服务实际要求修参数或拆小任务;不把部分文本当完整成功。 |
| PLAN_ELIGIBILITY_NOT_ESTABLISHED | 识别到用途限制未满足的订阅端点。 | 改用获服务商允许的 API 产品,不修改程序绕过限制。 |
| publisher-configuration-required / PUBLISHER_SETUP_REQUIRED | 发布方 OAuth/服务/公钥尚未配置。 | 用户侧无法补齐;联系团队,继续本地配置与练习。 |
| AUTHORIZATION_REQUIRED / LICENSE_INVALID | 缺少、过期或不匹配的签名授权。 | 服务就绪后重新登录/续租,检查本机时间与版本,不编辑签名文件。 |
| LEARNING_DISABLED / LEARNING_SCOPE_CHANGED | 学习关闭或角色范围改变。 | 先保存角色范围,再明确检查学习边界;不要自行扩大范围。 |
| LEARNING_SOURCE_CHANGED / SOURCE_NOT_APPROVED | 批准资料被停用/删除或没有被选中。 | 审阅启用资料,再重新选择学习源;旧成果可能需要验证。 |
| LEARNING_STALE / ROLE_POLICY_CHANGED | 请求期间规范、资料、政策或记录变化。 | 晚到结果已弃用。读取最新配置后明确重新操作,不当作有效旧结果继续。 |
| LEARNING_SHARING_REQUIRED | 尚未明确同意这次模型学习数据发送。 | 先读披露,确认允许再勾选/确认;不希望发送则继续本地练习。 |
| LEARNING_BUDGET_EXHAUSTED | 当天学习调用达到设置/角色上限。 | 按 UTC 日期等待或在允许范围内调整;失败/取消也计数。 |
| LEARNING_CARD_REQUIRED / LEARNING_RECORD_MISSING | 占位 ID、错误角色或已删除/过期记录。 | 从当前 learn status 取真实 ID,并使用相同 home/role/space。 |
| LEARNING_REFERENCE_FAILED / CONTEXT_TOO_LARGE | 参考答案违反当前规则,或学习材料超出字节界。 | 修正参考答案;选择更少、更小的相关资料。 |
| CHECKSUM_FAILED / COMMAND_CONFLICT / RELEASE_CONFLICT | 包被改动、命令碰撞或同版本内容不同。 | 停止覆盖,核对来源、摘要和实际路径;请团队处理,不强行替换外来命令。 |
| HOST_CAPABILITY_MISSING | 外部工具、评估、部署宿主未接线。 | 使用已实现的本地配置/文本流程;它不是重装就能打开的隐藏能力。 |
联系支持时提供:操作系统/芯片、version 输出、出错命令(删去敏感内容)、错误码、预期与实际结果、使用的 home/role/space 是否一致。不要附 API Key、GitHub token、签名授权文件或真实客户原文。
回到目录从入门到熟练:最后自检
完成这些动作,你就掌握了当前版本的定制、使用和恢复方法。
- 我能分清 CLI、TUI 和本地后台,知道什么时候后台还在运行。
- 我核对过程序版本与平台,不把旧公网包和新候选混用。
- 我有明确角色目标、允许范围、方法与可观察的表达标准。
- 我能整理、导入、审阅、启用、停用自己的文本资料。
- 我实际测过一个应该通过、一个应该被拦截的样例。
- 我分清模型 Key、GitHub 设备码、条款摘要和签名授权。
- 我知道当前发布方服务未配置时,真实模型请求不会成功。
- 我能给真实问题添加任务 ID,不编造独立证据。
- 我会做预习、复习、补课、预演;知道模拟不是执行完成。
- 我会复核学习成果;只有开启允许复用并选对话题时才用它。
- 我能按真实案例评价是否适合自己,并保留未通过的问题。
- 我知道如何暂停、忘记、备份、重开、切角色和回滚配置。
你的“专用 KODER”不是一份一次写完永不改变的提示词,而是一组由你维护的目标、范围、可靠材料、方法、正反例、输出检查与被确认的学习成果。扩充资料之后持续做小规模验证,它才会逐步贴近你的领域与调性。
回到目录发布方:建立免费 HTTPS 授权服务
普通用户不需要做这一章;团队管理员在这里配置真实服务,用户资料仍留在本机。
当前选择 Render 免费 Node 实例、新加坡区域,暂不付费。一个工作区每月 750 个免费运行小时,闲置 15 分钟会休眠;还有流量与构建额度。没有供应商能保证未来永久免费,不使用保活请求绕过限制。Cloudflare Workers 有免费额度,但本产品的 Node 服务尚未在该运行时适配验收。
- OAuth App 已在 KarmenLoop 创建,公开 Client ID 为
Ov23li7TL02qaztlNEIc,Device Flow 已启用;无需向客户端加入 Client Secret。 - 回执仓库使用专用 Private 仓库;服务 Token 只允许该仓库 Contents 读写。Token 不进入客户端、教程或聊天。
- 从私有源码根目录运行
bash scripts/publisher-setup.sh。向导只保存公开 Client ID、HTTPS origin 和本机公钥文件路径;私钥与 Token 由账号持有人直接放入 Render Secret。 - Render 登录后验证公司邮箱,连接 GitHub 时只选择源码仓库,使用
render.yaml,核对 Free、新加坡和关闭自动部署。 - 服务启动后核对
/healthz的版本、条款摘要、Client ID 与本机公钥指纹;把真实 HTTPS origin 和公钥写入客户端公开配置,重新构建 Mac 与 Windows。 - 最后做真实下载、条款同意、GitHub 激活、私有回执读回、资料导入和 CLI/TUI 两次 DeepSeek 合成请求。逐项记录实际结果;健康检查和打包成功都不能代替完整验收。
bash scripts/publisher-setup.sh完整变量表、界面点击位置、密钥备份与恢复及逐项验收步骤在源码仓库 docs/PUBLISHER_RENDER.md。普通 Windows 用户只需使用已配置的发行包,不需要 Bash、服务器 Token 或私钥。
免费实例休眠时,先运行 koder-open auth wake --home 你的数据目录,最多等待 60 秒。看到 issuer-ready 后再开始 GitHub 登录。TUI 的 Model and GitHub license 菜单及网页条款页也有 Wake and verify authorization service。它只核对公钥指纹、App、版本和条款,不会激活、自动重试或切换服务。
2026-10-21 当前状态:OAuth App、Device Flow、签名与免费 HTTPS 服务均已配置。服务地址为 https://koder-open-issuer.onrender.com;Mac 已安装客户端完成真实 GitHub 激活,签名通过且私有回执未重复创建。各平台安装、CLI/TUI 模型调用结果以当前发布验收记录为准。
官方依据:Render 免费限制、Workers 免费额度、GitHub Device Flow。
回到目录样例文件、来源与版本记录
所有样例用于你自己的独立练习环境;模型和授权类步骤没有在你的真实账号上代做。
下载全部可编辑样例 ZIP。解压后保留 examples 文件夹结构,在教程所在文件夹执行形如 ./examples/… 的命令。不要从压缩包内部直接运行命令;先解压。
| 文件 | 用途 |
|---|---|
| role-config.json | 完整角色起点,id=assistant。 |
| my-standard.md | 规范、方法与正反例;按你的岗位改写。 |
| output-rules.json | 机械检查示例。 |
| good-answer.txt / bad-answer.txt | 本地正反样例。 |
| learning-policy.json / learning-policy-personalized.json | 学习边界;后者开启 accepted 笔记复用,会使旧政策结果失效。 |
| observation-1.json / current-task.json | 授权观察和当前任务演示。 |
| review-card.json / practice-answer.json | 复习卡与需替换 ID 的答案。 |
| activity-auto.json / activity-prestudy.json / activity-remediate.json / activity-rehearse.json | 单次模型学习请求数据。 |
| grade-pass.json / grade-retry.json | 人工接受或退回的模板,需实际尝试 ID。 |
| pause-learning.json / forget-all.json / forget-observation.json | 暂停或删除;删除动作先确认自己的数据范围。 |
本轮模型与发布方配置
DeepSeek 完整端点为 https://api.deepseek.com/chat/completions,协议选 Chat Completions。本轮账号实际列出 deepseek-flash 与 deepseek-v4-pro,验证使用 deepseek-flash。请以你自己的账号当前模型列表为准;教程与配置都不包含密钥。
发布方已创建源码私有仓库与专用私有回执仓库。本版客户端已配置真实 HTTPS issuer、公钥与产品 OAuth App;Device Flow 已建立。发布方操作参见 PUBLISHER_SETUP.md,普通用户无需创建回执仓库。
本教程的证据边界
文档依当前实现与实测流程编写;功能入口按产品源码、安装器、角色 schema、模型/授权实现、CLI 与 TUI 实际流程编写。样例已在自有合成数据目录按实际命令验证;最终测试结果另有验收记录。本轮在已安装 Mac 客户端使用授权的 DeepSeek 账号,仅发送合成文字,实际模型为 deepseek-flash;CLI 和 TUI 均已返回完整回答并通过已投喂规范的机械检查。首次小额度请求被拦截,增加明确思考模式设置后再验收,没有自动重试。产品 OAuth App 已注册、Device Flow 已启用,本机签名密钥已准备;HTTPS 服务已上线,已安装 Mac 客户端完成签名激活。每位最终用户仍需自行阅读并接受条款。Windows 原生安装和 ConPTY TUI 已通过;按用户选择,没有向 GitHub 上传模型 Key,Windows 真实模型调用仍未验证。后续各平台激活结果见当前发行页验证记录。
外部参考只用于相应基础操作,不替代本产品实际实现:Node 下载、GitHub 设备流程、PowerShell 执行策略。核对日期:2026-10-20。模型名、控制台和官网内容可能变化,以实际账号和官方页面为准。
发布方:KARMENLOOP 团队,中国上海;官网 karmenloop.com,邮箱 info@karmenloop.com。法律文件以安装内展示的具体版本为准,教程不扩大授权。
回到目录