Skip to content

TinoContext:基于docker文件映射的面向模块化中后台的AI Coding方案

目录


一个标准企业级中后台搭建,主要包括表格、表单、卡片列表、数据看板等中后台常见核心功能

页面之间的 逻辑/组件 基本都一样,且页面之间耦合度极低


在 AI 开发中,打开一个项目时会 列出非常多 与当前页面开发不相关的的页面代码,若项目历史很长,经手人多,则内部的代码逻辑样式差异会非常大

AI 现在已经学会去项目中读取 其他页面是怎么做的了,但在这样的状态下,AI 参考项目代码不能能生成效果稳定的代码


在开发的过程中,往往涉及到很多过程文件,比如docx后缀的需求文档,个性化的提示词,以及其他不适合放在 仓库中但是 AI 需要用到的文件。

我发现提示词也是一个有风格的东西,提示词本省也是个人思维的一种延伸

往往需要 另开一个文件夹,按照 类似的目录存放,在AI需要用到时候跨越千里去引用

bash
../../../../../../../xx1/xx2/xx3/xx4/xx5/xxxx

在AI开发的过程中,很多代码实际上是不会涉及的,比如全局的一些配置,或者打包器,这些东西甚至开发者也很少涉及,但是AI在遇到bug时候很喜欢在全局配置里面改东西!!


docker在运行时可以将目录映射到容器指定的目录下,我们可以将不同地址的文件通过docker映射来实现容器内紧凑的格局

且容器内外是同步的,使用起来比较无感


关于其他方案:使用 软连接也可以实现相关的功能,但是 大多属 AI cli / IDE会向父目录扫描 git仓库,导致一些混乱和奇怪的影响。并且ai在读取的时候会读到 xxx -> xxx这种文件,git对这种链接文件的兼容性也不佳

kilo把我仓库当文件夹啊删了!!!!!

理论存在 实践开始

以claude code 为例:

由于没有官方的 镜像,且我们需要一些个性化的设计,建议自己打包docker,不难的

Dockerfile
FROM node:20-slim

# ===== 基础工具 =====
RUN apt-get update && apt-get install -y \
    git \
    bash \
    curl \
    ca-certificates \
    zsh \
    && rm -rf /var/lib/apt/lists/*


# 使用官方 node 用户(UID=1000)
USER node

# ===== 工作目录 =====
WORKDIR /workspace

# ===== 安装 Claude Code =====
# 使用代理来下载claude code
RUN export https_proxy=http://host.docker.internal:7890 http_proxy=http://host.docker.internal:7890 all_proxy=http://host.docker.internal:7890
RUN curl -fsSL https://claude.ai/install.sh | bash
RUN RUNZSH=no \
    CHSH=no \
    KEEP_ZSHRC=yes \
    sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"

# 设置 HOME(其实 node 镜像已经是这个,但写上更明确)
ENV HOME=/home/node
ENV PATH="/home/node/.local/bin:${PATH}"
RUN export https_proxy= http_proxy= all_proxy=

CMD ["/bin/zsh"]

运行 docker build --add-host=host.docker.internal:host-gateway -t claude-code . 构建镜像

然后运行

bash
# 使用即使删除的方式启动,推出容器时就会删除容器
docker run -it --rm \
  # 设定容器名称
  --name page_name \
  # 这里我在项目中创建了一个目录用于存放相关文件
  -v /pathtoproject/design/pagename:/workspace \
  # 将项目级的 .claude文件拷入
  -v /pathtoproject/.claude:/workspace/.claude \
  # 将页面部分的代码拷入
  -v /pathtopagex:/workspace/pagename \
  # 将个人claude配置拷入,这样会话消息就能在主机上保存了,使用体验和直接用claude完全一致
  -v ~/.claude:/home/node/.claude \
  -v ~/.claude.json:/home/node/.claude.json \
  # 设定工作目录
  -w /workspace \
  claude-code

还可以使用只读的设置来控制,来实现比如禁止修改文档的功能

然后就可以当作正常的claude来使用了,查看目录会发现东西如此之小

bash
  /workspace ls -al
total 32
drwxrwxr-x  5 node node 4096 xx 18 11:23 .
drwxr-xr-x  1 root root 4096 xx 18 11:25 ..
drwxrwxr-x  3 node node 4096 xx 16 07:47 .claude
-rw-rw-r--  1 node node 5079 xx 18 11:23 CLAUDE.md
drwxrwxr-x 10 node node 4096 xx 18 11:17 xxxx
drwxrwxr-x  4 node node 4096 xx 18 09:22 xxxx
-rw-rw-r--  1 node node  428 xx 18 11:15 start.sh

你可以在 /pathtoproject/design/pagename 中添加 各种个性化的文件或者草稿什么的,不会被上传到仓库

————————————————
版权声明:本文为 田园幻想乡 的原创文章,遵循 CC 4.0 BY-NC-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接: http://truraly.fun/blogs/2026年/TinoContext:基于docker文件映射的面向模块化中后台的AI Coding方案.html


发布时间:

最后更新时间:

Copyright © 2022 田园幻想乡 浙ICP备2021038778号-1