用opencode为opencode写了一个类似planning-with-files的插件codecraft

写插件codecraft

最近新看到一个神器planning-with-file:文件规划法,像 Manus 一样工作 ------这家人工智能代理公司被 Meta 以20 亿美元收购。

,

planning-with-files官网:[OthmanAdi/planning-with-files: Claude Code skill implementing Manus-style persistent markdown planning --- the workflow pattern behind the 2B acquisition.](https://github.com/OthmanAdi/planning-with-files "OthmanAdi/planning-with-files: Claude Code skill implementing Manus-style persistent markdown planning — the workflow pattern behind the 2B acquisition.")

可惜它只支持Claude Code

所以咱就用opencode为opencode写了一个类似planning-with-files文件规划法的插件codecraft,放在这里:codecraft:用opencode为opencode写了一个插件codecraft - AtomGit | GitCode

git remote add gitcode https://gitcode.com/skywalk163/codecraft

opencode的配置文件,windows下在这里:C:\Users\Admin\.config\opencode

即所在账户存储目录的.config\opencode目录下。

如果是linux,可能是

opencode写的挺快,但是怎么导入这个插件,颇费周折。

安装插件(导入插件)

安装

看安装手册,说用这种方法安装:

复制代码
git clone https://gitcode.com/skywalk163/codecraft
cd codecraft
bun install

将文件复制到项目的.opencode目录或者全局的opencode配置目录。另外我不知道这个是并列的还是跟前面的bun install任选之一。按理说bun install之后,应该就不用手工再复制了。

复制代码
# 复制到您的项目
cp src/index.ts .opencode/plugin/codecraft.ts
cp -r templates .opencode/

启动OpenCode碰到问题

启动opencode

复制代码
opencode

不明白为什么是白屏,我应该安装codecraft之前先启动一下opencode试试的,那样就知道问题是否出在codecraft了。

去另外一台机器测试了一下,发现果然是插件导致的问题。其实是在3台机器进行了测试。

复制代码
scp skywalk@192.168.0.13:/home/skywalk/.opencode/plugin/codeccraft.ts .

尝试让opencode解决这个问题,可以去把codecraft插件先弄掉,这样就能启动opencode了。以下是给opencode的prompt:

opencode run "codecraft插件导入到opencode后,opencode启动无响应(显示黑屏或者白屏,无输出),请解 决问题"

分别在两台机器windows和ubuntu上都尝试让opencode去解决。之所以第二台ubuntu解决后没留用,是发现它说把代码改简单了(多说一句话,现在AI也学会滑头了,如果问题解决不了,它就把问题"解决",企图蒙混过关。),那样我几乎要重新做这个项目,所以还是让第一台机器去解决。

第一台机器上的opencode崩的更彻底,直接用opencode run这个方法在第二台机器上是可以解决这样的问题的,但是这台机器上这条命令也是卡住。

所以最终是删除了opencode的所有配置文件,重新启动,然后再给它这个任务。具体见文档的调试部分。

opencode对问题的处理:

问题已识别。codecraft插件在初始化时尝试调用 client.app.log(),但这个API调用可能导致opencode挂起。我需要修复插件代码中的错误处理。

问题已修复!

现在让它安装插件

帮我安装codecraft插件

安装完成

帮我测试插件

手动测试插件

复制代码
/codecraft plan --taskName "test" --objective "测试插件安装"

说实话,opencode写opencode的插件,逻辑上是有点绕的,尤其是opencode非常简洁,我根本无法判断opencode有没有导入codecraft插件。黑屏我知道是导入失败导致卡住,但是正常导入到底是个什么样子我不知道....

这个测试命令执行后也是输出一大堆,最后它说测试成功了,我是很懵的。不过看到它里面确实有创建三个文件:

  1. .opencode/task_plan.md - 任务计划

    • 任务名称: test
    • 目标: 测试插件安装
    • 包含4个阶段和成功标准
  2. .opencode/findings.md - 研究发现

    • 记录了插件安装分析
    • 记录了OpenCode插件加载机制
    • 包含问题、见解和建议
  3. .opencode/progress.md - 进度日志

    • 记录了当前会话活动
    • 包含时间线和统计数据
    • 记录了遇到的错误和解决方案

这样大概上来说,这个插件确实导入成功,运行成功了。

CodeCraft插件生效机制:

  • 默认生效 - 通过opencode.json配置自动加载,无需手动调用
  • 智能干预 - 在关键节点提供提醒,而非全程干预

暂时这个插件就先做到这里吧,感觉测试和评估是一大难题。

调试

用opencode跟其它人,或者说其它AI agent不一样,它算是唯二被我用崩的AI agent。另一个是Auto-Coder。 Auto-Coder那回是我的一个项目修改了python环境,导致基于python 的Auto-Coder领了便当。

OpenCode这回,是因为把给它安装了我写的插件(当然我只是监工,干活的还是OpenCode),结果这个插件把它搞崩了,OpenCode启动没有反应,显示黑屏或者白屏。黑色还是白色取决于所用终端的默认颜色。

解决的方法有两个,一、 把插件去掉,比如把插件名字从codeccraft.ts改成codeccraft.tsbak。二、直接让OpenCode使用opencode run指令来改进插件,修复问题,比如命令

复制代码
opencode run "codecraft插件导入到opencode后,opencode启动无响应(显示黑屏或者白屏,无输出),请解 决问题"

另外还学了一招,就是可以开多个opencode窗口,一个负责写代码,一个负责调代码。一方面不用来回启动节省时间,另一方面就是万一环境崩了,还有一个能用的。

opencode启动无响应的问题(显示黑屏或者白屏,无输出)

是插件导致的,让opencode继续改bug 。

如果用opencode run "改bug" 还无法执行,那么可以去把插件先弄掉,我的方法是去吧插件改名

复制代码
C:\Users\Admin\.config\opencode\plugin\codecraft.ts
# 改名成
C:\Users\Admin\.config\opencode\plugin\codecraft.tsbak

opencode启动显示报错ReferenceError: tool is not defined

报错信息

复制代码
UnknownError
ReferenceError: tool is not defined
    at <anonymous> (G:\opencode\.opencode\plugin\codecraft.ts:78:16)
    at processTicksAndRejections (native:7:39)

提示:重启还是升级 ,当前版本Version: 1.1.13

看来这里也是一个放插件的地方:G:\opencode\.opencode\plugin\

因为另外一台机器已经做过升级,所以知道现在有新的版本,先升级看看,一直在Checking感觉好慢啊。等了很长时间,还是没有结束,重启,启动后同样的报错,看来需要把这个codecraft.ts文件也屏蔽了

把G:\opencode\.opencode\plugin\codecraft.ts改名为G:\opencode\.opencode\plugin\codecraft.tsbak,启动出现更多报错:

启动报错Something went wrong TypeError: Failed to fetch

TypeError: Failed to fetch

at customFetch (http://tauri.localhost/assets/index-DOiGjfJu.js:1705:31752)

at request (http://tauri.localhost/assets/index-DOiGjfJu.js:1705:6987)

at async retry (http://tauri.localhost/assets/index-DOiGjfJu.js:1705:32812)

at async Promise.all (index 3)

at async bootstrapInstance (http://tauri.localhost/assets/index-DOiGjfJu.js:1728:16349)

是不是因为升级一半,缺文件导致的?

重装

重装报错

晕,原来我还有一个opencode的命令行没关掉:

G:\opencode>e:\Programs\OpenCode\opencode-cli.exe

失策啊,如果早知道有这个活着的opencode,直接让它改插件代码就行了。

关掉之后重装就ok了。现在的问题是:

重装之后还是报错

还是这个Something went wrong TypeError: Failed to fetch 报错。

不过我还有一个npm的版本,它的报错是:

G:\opencode>opencode run "codecraft插件导入到opencode后,opencode启动无响应(显示黑屏或者白屏,无输出),请解决问题"

Error: Unexpected error, check log file at C:\Users\Admin\.local\share\opencode\log\2026-01-13T083643.log for more details

error: Cannot find module './chop-string.js' from 'C:\Users\Admin\.cache\opencode\node_modules\codecraft\src\index.js'

所以,我把C:\Users\Admin\.cache\opencode\ 全删掉试试吧

果然在这个目录的package.json文件里看到

复制代码
{
  "dependencies": {
    "codecraft": "1.0.2"
  }
}

应该跟这个有关系。删除这个文件,不管用。删除整个目录,还是不管用。

删除C:\Users\Admin\.config\opencode 目录里的文件,不管用。

删除G:\opencode\.opencode 目录里的文件,天啊,ok了!

终于可以启动进入opencode了,后面就是让opencode去解决代码的问题了

相关推荐
信创天地2 小时前
AI + 信创双轮驱动:从自主可控到智能引领,重塑数字经济新范式
运维·人工智能·网络安全·系统架构·系统安全·运维开发
xindoo2 小时前
最近AI领域爆火的 Agent Skills 是什么?
大数据·人工智能
图生生2 小时前
跨境电商图片翻译痛点解决:AI工具实现多语言适配一键生成
人工智能·ai
码农三叔2 小时前
(7-3)自动驾驶中的动态环境路径重规划:实战案例:探险家的行进路线
人工智能·算法·机器学习·机器人·自动驾驶
无代码专家2 小时前
制造业ERP管理系统平台对比与适配选型解决方案
人工智能·低代码
hkNaruto2 小时前
【AI】AI学习笔记:直接使用Python+BM25算法实现RAG的可行性以及实用价值
人工智能·笔记·学习
Niuguangshuo2 小时前
深入浅出解析自然语言处理的核心——分词器
人工智能·自然语言处理
dazzle2 小时前
计算机视觉处理:OpenCV车道线检测实战(二):车道线提取技术详解
人工智能·opencv·计算机视觉
赋创小助手2 小时前
超微 SYS-E403-14B-FRN2T 深度解析:面向边缘与 IoT 场景的高扩展紧凑型服务器
运维·服务器·人工智能·科技·物联网·ai·边缘计算